Repository navigation
Integration batch T (#1417) - #1468
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <[email protected]>
…d the legacy ledger parse is cached (#1278) Co-Authored-By: Claude Opus 5.5 <[email protected]>
) Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
… search prompt cache via a shared LruMap (#1278) Co-Authored-By: Claude Opus 5.5 <[email protected]>
…e and is never cached (steering q109) A transient read failure (EACCES, EMFILE) returned an empty manual set, which put every hand-saved legacy bundle in the deletable bucket; the identity cache then kept that empty set after access recovered. Now a failed stat/read is 'unknown': not cached, and every legacy bundle is protected for that prune. Only ENOENT means no ledger. The identity key adds inode and ctime, so a rename-replace or a same-size edit with the mtime set back re-parses. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…runing (#1251 row 13) Moved here from #1411 (manager q109: coordinate the overlap). Row 13 and steering q109 both change loadManualLegacyBundlePaths, so they ship together. A JSON-valid non-entry line (null, a number, a non-string bundlePath) threw, which rejected collectArtifacts and stopped every prune pass. Rows are now shape-checked; a non-string reason counts as manual, so the bundle is kept. Adds a test through the real loader and cache: #1411 review (b) found that replacing the loader's parse with an empty set survived the parser-only test. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…codex Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ss the read (#1417 review a) Co-Authored-By: Claude Opus 5.5 <[email protected]>
…r appends after the evicted one (#1417 review b, c) Co-Authored-By: Claude Opus 5.5 <[email protected]>
…lose keeps queued saves (#1417 review b) Co-Authored-By: Claude Opus 5.5 <[email protected]>
…bound Codex rolloutPaths (#1417 review c) Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
…egacy bundle (#1417 review round 2) Co-Authored-By: Claude Opus 5.5 <[email protected]>
…t are gone (#1417 review round 2) Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
…jects unhandled, never flushes as success (#1417 review round 2) Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
# Conflicts: # src/main/storage/debugRetention.test.ts
…e-parsed (#1417 manager verification) Removing the inode from the cache key passed every test: a real rename moves ctime, so no portable filesystem sequence isolates it. stat() is controlled for the ledger path only (size, mtime, ctime equal; the inode differs); the content is real. The no-inode mutant is red. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…while it wrote (#1417 manager verification) Re-queueing a failed batch at the back passed every test. A held write that fails, with a line appended during it, must land first/second in order; the back-requeue mutant is red. Co-Authored-By: Claude Opus 5.5 <[email protected]>
# Conflicts: # src/main/conversations/sources/codex.system.test.ts
…loader (#1417 manager verify) Comment-only. The comment still said the loader "rightly" answers ENOENT with "no ledger"; since round 2 an absent ledger is 'unknown', and the second stat now guards a ledger replaced or edited mid-read. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Real conflict: batch Q's #1434 and this PR both changed codex.ts's imports (#1434 adds ConversationPromptsUnreadable and friends from ./types.js, this PR adds LruMap). Both kept. Semantic conflict: #1434's promptsUnreadable.system.test.ts reads the private rolloutPaths as a Map (.has/.get), which this PR bounded as an LruMap. The two Codex tests now read it with peek(), which does not touch recency, so the lookup cannot change what the source evicts next. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Real conflict with #1388 in debugRetention.ts, both sides kept: - imports: this PR's rmdir/sep (parent sweep) + #1388's writeFile/relative (key-log baseline); - collectArtifacts: this PR's cachedManualLegacyBundlePaths() stays the one ledger read (q118: absent or unreadable ledger = 'unknown', every legacy bundle protected, never cached), and #1388's keyLogOnlyBaseline capture is added after it. #1388 already calls this PR's loader; it keeps no loader of its own. tsc -b 0 lines; storage, conversations, paste, window, lruMap and performance suites 413/413. Co-Authored-By: Claude Opus 5.5 <[email protected]>
fix: bound the small unbounded-growth items from the C6 hunt (#1278)
Owner
Author
Owner
Author
Juliusolsson05
marked this pull request as ready for review
September 27, 2026 22:47
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 T (owner-approved merge mode, owner-requested history form). The branch was created from origin/main a70403e (batch S); the member PR was retargeted here and merged through GitHub.
The member had GATE PASS (--member) and was manager-verified (both B6 pins: the cache-key inode, the paste-journal retry order). Its main-merge resolution keeps W4's ledger-loader rules (absent or unreadable means unknown). #1382 followed separately (a cch gitlink conflict with main). Merged after green exact-head CI and a recorded non-member gate PASS (see comments).
🤖 Generated with Claude Code