Second harvest of review items that were raised on PRs that then merged without them. Window: 2026-05-22 → 2026-09-08; anchors verified against main 5dbbc47 on 2026-09-08. Companion rollups exist in agent-framework, connectome-host and membrane; three items from this window are filed separately as #89 (Bedrock family regex, from #87), #90 (cross-path pass-order drift, from #32) and #91 (the viewFilter × derived-summary contract, from #54).
Pricing: plan prices what it does not emit
From #32 (tool-pair integrity)
Findings N2 and N3 from the re-review, both left for a follow-up that was never filed. N1 is #90.
From #62 (branch-scoped message index)
From #79 (mint request preimages)
Four "minor / no action required" notes from the re-review.
From #81 (carrierPolicy)
From #88 (split-stitch L1 fallback)
From #65 (source order across id widths)
Method
Harvested from every PR merged into this repo in the window, by pulling review bodies, review threads and non-bot PR comments and separating "raised and then addressed in a later commit" from "raised, acknowledged, merged anyway". Line anchors are current as of 5dbbc47.
Two items from this window were checked and found already repaid by later work, and are not listed above: #38's test-fixture damage (fixtures now set compressionModel; test/compression-model-required.test.ts pins the fatal record) and the raw NUL bytes noted on #54 (src/adaptive/kv-cache-sim.ts, src/strategies/autobiographical.ts — both clean).
Related: #26 (previous rollup), #24, #25.
Second harvest of review items that were raised on PRs that then merged without them. Window: 2026-05-22 → 2026-09-08; anchors verified against
main5dbbc47on 2026-09-08. Companion rollups exist in agent-framework, connectome-host and membrane; three items from this window are filed separately as #89 (Bedrock family regex, from #87), #90 (cross-path pass-order drift, from #32) and #91 (theviewFilter× derived-summary contract, from #54).Pricing: plan prices what it does not emit
recallPairCostprices the uncapped answer while every live emission site appliesmsgCap. Flagged independently on fix: retain exact recall carrier costs #85 and again on feat(strategy): carrierPolicy — strip reasoning carriers from the live window only #81. Three sites insrc/strategies/autobiographical.tspairsummaryAnswerContentCapped(…, msgCap)with an uncappedrecallPairCost(…)::7974/:7982,:8087/:8091,:9338/:9341. WheremaxMessageTokensactually bites aresponseContent-bearing summary, planned cost sits above what is emitted — conservative and budget-safe, but plan-vs-actual lies high for capped pairs, which is the mirror of the bug fix: retain exact recall carrier costs #85 fixed. Both reviews left it for "whichever pass unifies capped pricing"; this is that pass.From #32 (tool-pair integrity)
Findings N2 and N3 from the re-review, both left for a follow-up that was never filed. N1 is #90.
:9107says the excluded-with-partially-dropped-children state "only arises from a store damaged mid-merge", which is contradicted eight lines up by the function's own Phase 3b header and by the first test intest/anti-redundancy-budget.test.ts, which manufactures the state on an undamaged store using nothing butresearchL1BudgetCap: 0.3. What is corruption-specific is many simultaneous candidates, not the state. The warning at:9159therefore prints "(store likely corrupted mid-merge)" at a healthy KnowledgeStrategy store with a tight budget and a couple of large legitimate covering L2s. Correct the comment, and make the warn state the fact (repair allowance exceeded, N summaries skipped) with both possible causes.[tool call omitted]is the wrong epitaph for a relocated result.:10580: when relocation empties the source entry it is replaced with the Rule-A drop placeholder, but nothing was omitted and it wasn't a call — a tool result was moved to its correct position. This string is rendered context the model reads.[tool result moved during context repair]costs one string literal.From #62 (branch-scoped message index)
{name, generation}, not branch name. Noted at merge as the residual edge.src/message-store.ts:191/206/215still comparesthis.store.currentBranch().name, so delete-and-recreate-same-name is missed.src/branch-generation.tsalready providesobserveStoreBranch/markStoreBranchSwitchand is used bycontext-manager.ts; the message store has not adopted it.From #79 (mint request preimages)
Four "minor / no action required" notes from the re-review.
buildPreimageEnvelopestores media blobs before the splice verification, so a failed verification leaves those blobs behind. Content-addressed and almost always already present viaMessageStore, so harmless — recorded.getMintRequestByHash's doc says a hash naming a non-request blob "throws" — verify whether it throws the typedMintPreimageMaterializationErroron all paths or still leaks a rawSyntaxErrorfromJSON.parse; either wrap it or soften the doc.trueHash !== requestHashdivergence path stores and indexes undertrueHash, so the summary's own key readsnull. Correct (never readable-but-wrong), but a stderr line is its only trace.From #81 (carrierPolicy)
:9412— "text blocks — signed thinking must ride along here too" was an invariant and is now a policy default. Reword to point atcarrierPolicyso the next reader doesn't take it as a promise'live-strip'breaks.From #88 (split-stitch L1 fallback)
stitchedmetadata carries ranges and hashes for auditing; the shape just isn't stated where an operator reads it.protectedfields carry two stacked doc comments; the first one's field was renamed and its comment was left above the wrong line.From #65 (source order across id widths)
MAX_SAFE_INTEGERwith a lexical tie-break. Accepted at approval as a reasonable fail-honest fallback for summaries whose source start is absent fromMessageStore— recorded so it's a decision rather than an accident.Method
Harvested from every PR merged into this repo in the window, by pulling review bodies, review threads and non-bot PR comments and separating "raised and then addressed in a later commit" from "raised, acknowledged, merged anyway". Line anchors are current as of
5dbbc47.Two items from this window were checked and found already repaid by later work, and are not listed above: #38's test-fixture damage (fixtures now set
compressionModel;test/compression-model-required.test.tspins the fatal record) and the raw NUL bytes noted on #54 (src/adaptive/kv-cache-sim.ts,src/strategies/autobiographical.ts— both clean).Related: #26 (previous rollup), #24, #25.