Repository navigation
feat(devex): stop fetching and storing CI checks - #128
Merged
Merged
Conversation
Contributor
Author
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Another round soon, please! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
webjunkie
added a commit
that referenced
this pull request
Oct 5, 2026
…y a full walk GPT-6.1 review on #128: - Migration 030 can delete the newest event_log rows, and maxSeq read MAX(seq), so it could drop below a cursor. CursorRepo.advance only moves forward, so marking a topic seen or finishing consolidation would then silently keep the old dossier version and time. maxSeq now reads the AUTOINCREMENT counter in sqlite_sequence (never lowered by deletes). - checks_strip trusted revisions to find snapshots written behind its cursor, but unguarded 0.18/0.19 builds keep the revision when they write checks back, and the final check could parse a large backlog in one slice. Done now means a whole walk, one snapshot per unit within the slice budget, found nothing to strip; a walk that stripped anything starts over to verify. A downgrade after completion can leave bytes behind, which reads drop anyway. - The activity fold says "N bot events": there is no CI in it any more.
Decided 2026-10-05: drop CI entirely. Checks were the costliest part of every PR fetch, usually stale by the time anyone looked, and since 2026-09-29 nothing ranks or speaks on them. What was left (a quiet CI event, the pane's neutral Checks fact, the "Until CI is green" snooze, the CLI rollup) did not pay for the fetch. Replaces the checks summary pilot, which is not shipped. - Fetch: no statusCheckRollup and no head-commit connection in the PR query. On 12 PostHog/posthog PRs (100 checks each) the batch response went 621 -> 471 KB and 5.3-8.1 s -> 3.7-4.3 s; rate-limit cost unchanged at 7 points, 1,212 fewer nodes. - Model: Pr.checks, summarizeChecks, the CI event, the 'ci' event kind, the Checks fact, the CLI rollup and the ci_green snooze are gone. Actor-less events are named "GitHub" now (was "CI"). - Old CI events: migration 030 deletes them and their event log rows by id, rather than waiting for re-derivation that never comes for merged and closed PRs. Log readers join pr_event, rows only leave, so nothing turns unseen and no cursor moves (checked on both copies). 0.12 s on normal, 0.5 s on heavy, once. 030 is also what makes 0.20.0 refuse the database after the strip. - Old ci_green snoozes read as until_time at their start: they end like an expired snooze. Unparseable conditions do the same instead of throwing. - Stored JSON: reads drop the old checks key at parse, so it never reaches memory or a local rewrite. Storage job checks_strip removes it on disk, one snapshot per unit with json_remove inside the slice, no revision bump. Fail closed: done only when no snapshot written since the walk started (newer revision) holds checks. Heavy copy: 93 MB of JSON freed in 138 slices (max 54 ms), every snapshot equal to the original minus checks. Hot-set heap 283 -> 264 MB. - Every PR read (getMany, keepParsed, listAll) runs in one read transaction (GPT-6.1 point 4), kept from the pilot as it is generic. NO_CI_RULE stays in the writing prompts: glances and dossiers stored before can still mention CI status.
…y a full walk GPT-6.1 review on #128: - Migration 030 can delete the newest event_log rows, and maxSeq read MAX(seq), so it could drop below a cursor. CursorRepo.advance only moves forward, so marking a topic seen or finishing consolidation would then silently keep the old dossier version and time. maxSeq now reads the AUTOINCREMENT counter in sqlite_sequence (never lowered by deletes). - checks_strip trusted revisions to find snapshots written behind its cursor, but unguarded 0.18/0.19 builds keep the revision when they write checks back, and the final check could parse a large backlog in one slice. Done now means a whole walk, one snapshot per unit within the slice budget, found nothing to strip; a walk that stripped anything starts over to verify. A downgrade after completion can leave bytes behind, which reads drop anyway. - The activity fold says "N bot events": there is no CI in it any more.
webjunkie
force-pushed
the
feat/devex-drop-ci-checks
branch
from
October 5, 2026 20:40
6641ff4 to
14a8d1d
Compare
CI sat queued behind the runner backlog; an empty commit starts it again.
…ecks # Conflicts: # CHANGELOG.md # NEXT.md
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Owner decision: drop CI entirely. Fetching the checks was the expensive part of every PR fetch, the data was usually stale, and since September nothing ranks or speaks on CI anyway. This replaces the checks summary pilot, which won't ship.
What goes
The PR query no longer asks for checks. The CI event, the pane's Checks fact, the CLI rollup and the "Until CI is green" snooze are gone. On 12 PostHog/posthog PRs with 100 checks each, a batch fetch went from 621 to 471 KB and from 5–8 s to about 4 s. The rate-limit points are unchanged.
Old data
checks_strip, removes them on disk in small slices with no revision bump. It is only marked done once a check against the data passes.Every PR read also runs in one read transaction now, taken over from the pilot.
Not checked by hand: the app on a real database, and the pane in fake mode, where the Checks fact is simply gone.