Repository navigation
Integration batch G (#1330, #1377, #1386, #1398, #1403) - #1422
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…oads on load (#1274) The journal and payloads grew forever (129 MB after 22 days) and lived whole in memory. On load, finished calls with no request key, not reused, and older than 7 days are dropped in one atomic rewrite, then unreferenced payloads are collected. Keyed calls (the dedupe ledger) are kept forever. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…arantine evidence (#1330 review) Retention deleted evidence that is still asked for: unkeyed task origins (operations.read went not_found), outcome_unknown and pending results, and payloads an unaccepted recovery quarantine names. It also failed the whole load when the rewrite failed. These are now retained roots, a failed rewrite skips retention and GC, and the survivors are pinned. Refs #1274 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ines, parses task steps (#1330 round 2) A payload deletion failing after the rewrite made open() serve the old rows and the next append corrupt the journal; a torn-tail quarantine was never scanned, so its only-named payload was deleted; task steps were detected by byte prefix. Rewritten rows are always served, every unaccepted quarantine is evidence, and steps are parsed. Refs #1274 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ions (#1107) The remaining #1107 sites (lsp half landed in #1108): - lazy-prose (#700): the first compile of the split Markdown chunk was measured by a 5 s findByText, the same number as Vitest's 5 s test default, so the useful "never appeared" message could not fire. The chunk is now imported in beforeAll (awaiting the import, not a timer); findByText measures only the render, with its default. - terminalReplay: SessionManager's whole module graph and @xterm/headless were import()ed inside the test body against its 5 s budget. Static imports (vi.mock stays hoisted) move the load to collection. - workflows/control.system: forks the BUILT workflow worker; without packages/workflow-mcp/dist it timed out after 5 s with no reason. A precondition now fails at once and says to build it. Evidence: control on origin/main without dist: 5010 ms timeout; now 3 ms with the build instruction; with dist built: passes in 380 ms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1330) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A compacted rollout line's payload has no type, so the mapper's early return swallowed every one (about 1,500 local lines) and Codex compaction never rendered. The dead branch also had two latent bugs. The boundary had no timestamp, so it would sort to the bottom of the feed. And it replayed replacement_history: the retained instructions and earlier prompts, which repainted prompts already in the feed (17,326 of 20,343 sampled replacement messages). Compaction is now handled before the type guard. It maps to a timestamped boundary, plus the summary only when the CLI wrote a readable message (older CLIs; 0.15x encrypts it). replacement_history is never replayed, and the boundary no longer embeds the whole payload (retained prompts plus a 13-23 KB encrypted blob) as compactMetadata, which nothing reads. Codex catalog entries are added for the durable boundary and summary. The curated-fixture sweep now names system entries type:subtype like the bundle sweep, which no curated fixture had exercised. Fixes #1289 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ument the resumed-compaction gap Review a of #1386: the agent read API counted the synthetic compaction summary as a user message. The mapper comment claimed retained history is always a duplicate; resumed rollouts that start with compacted are the exception (follow-up #1393). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e modals, unwired dismiss stack (#512) - ui/layers.ts: every magic stacking band (pane overlay/takeover, pane dialog, in-surface popover, dialog, menu, toast, debug) is a named literal class; PANE_DIALOG_LAYERS is a view of it. Stale z-50 comments corrected. - components/ui/side-panel.tsx: the docked panel shell for Git, Worktrees, Agent Status and the six debug panels; DebugPanelHeader gives the debug closes an accessible name. - RemotePanel renders a Dialog, so it is registered with the modals. - ui/dismissStack.ts: topmost-only Escape + anySurfaceOpen(), shipped unwired; useKeybinds.ts is untouched until #1394 merges (q95). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rows 6, 13) saveSetupState assigned its cache before the write and never restored it, so a failed write left main acting on an unsaved value until a restart reverted it. The provider enablement and CLI update behaviour rows swallowed the rejection (or showed raw IPC text); they now say, in fixed words, that nothing changed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…w c nit) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s, pin shell and layer values (#1398 review) The dismiss stack's wiring contract was wrong (a capture-phase Escape pre-empts two-phase inner handlers; effect order is not stacking order for nested mounts). It returns with the useKeybinds wiring after #1394. Stacking between dialogs is by open order, not registry order; the comments now say so. The SidePanel test pins children and layout, and the layer test pins exact values. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ordinal (review b) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a render band only (#1398 review b round 2) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…stbox (review) Review of #1377 (a): - preloading the Markdown chunk left the test unable to tell lazy from eager loading (an eager import passed); it now asserts the Suspense fallback on first render, which only a lazy boundary shows. The eager mutant fails. - PathInput slept 100 ms against a 60 ms debounce; it now waits for the listbox itself (findByRole). A 150 ms debounce no longer fails it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… changes (#1403 review round 1) Saves are update functions applied at write time to the last state known on disk, so a failed save can neither linger in memory nor ride along with a later write. Provider toggles update one key; a refresh failure after a landed write no longer claims nothing changed; a rejected detection probe no longer sticks in flight. SetupGate's write failures are said in fixed words, the panel answer after the close. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…quarantine digests in GC (#1330 verification b) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tions accurately (#1398 review b round 3) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… fixed install text (#1403 verification) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uses unsaved probed paths (#1403 recheck) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Batch disposition (B6, pre-merge): members at GATE PASS (member mode): #1330 f68c8e2, #1377 66a4674, #1386 df5cd68, #1398 0ec09c1, #1403 6c27420. Base is 5ebd245. Residuals are on each member's disposition. Not included: #1376 (conflicts with main), #1392/#1406 (CI pending), #1413 (manager check pending), #1417/#1420 (held: q109/q110). |
Owner
Author
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.
Integration batch G (owner-approved merge mode). Built after
git fetchfrom origin/main 5ebd245 (batch F); each member merged --no-ff; origin/main is an ancestor of the head.Every member has GATE PASS (--member). codex renderer shapes.ts and rollout.ts auto-merged between members; CI validates the combination.
Merged after all pre-merge conditions were met: green CI on the exact head, the disposition comment, and a recorded non-member merge-gate PASS (see the gate-record comment).
🤖 Generated with Claude Code