Conversation
…warm + graduation ledger Graduates the architectural principle the operator stated verbatim during the aquifer-mcp J-002 -> H11b session: 'partial data with transparency to come back for more; background fetch will warm the cache before you come back.' Ships with the session graduation ledger so URI cross-references between the two new canon docs resolve at merge time. Three deciding-argument recurrences: 1. aquifer-mcp src/registry.ts refreshAndUpdateCurrentIndex (implicit prior art) - composite-SHA-staleness check already used this architecture before the principle was named. 2. H11b architecture rejection and redesign (PR klappy/aquifer-mcp#20) - operator named the principle verbatim as the reason to reject H11's framing. H11b implemented it via FanOutEntityResult, formatPartialFanOutNote, and warmEntityIndexesForResources under ctx.waitUntil. 3. The operator-reframe at 2026-04-24T03:20Z that surfaced manual enforcement across PRs #17-#20 as deciding-argument recurrences and produced this canon promotion. Meta-level recurrence of the principle itself. Live validation at 2026-04-24T02:43Z: first visit 985ms with '0/33 indexed, 33 warming'; second visit 20s later with '28/33 indexed, 5 warming' showing 28 per-resource entity indexes populated by background warm during the interval. Architecture worked as the principle named it. Writing Canon checklist: title names concept + stance; blockquote contains full compressed argument; Summary section self-contained; headers descriptive; em-dash density 0.31 (within 20% of 0.24 reference baseline). Frontmatter schema compliance verified (same as sibling PR). Release-validation-gate disposition: same reasoning as sibling PR (canon add, ambiguous under Rule 2's worker-surface trigger list, defaulting to load-bearing per the gate's ambiguity clause). Bugbot dispositioned below; fresh-context validator dispatch recorded in closeout. Also includes odd/ledger/2026-04-24-aquifer-session-principles-graduated.md documenting the graduation arc: handoff received, fresh-context validation against strict letter of graduation test, operator reframe to manual- enforcement reading, two principles graduated, one held.
B1: Removed odd/ledger/2026-04-24-aquifer-session-principles-graduated.md from derives_from. The canon principle does not epistemically derive from the session ledger documenting its own graduation; the direction is the reverse. Validator correctly flagged this as an unacknowledged broken reference (the ledger ships with PR #137, not this branch). B2: Restructured the inline 9-field listing on the Recurrence 1 paragraph from em-dash parenthetical to parens. Dropped em-dash density from 0.30 to 0.28 (closer to existing canon baseline ~0.24-0.25). The reframe also aligns with the operative ai-voice-cliches signal (paragraph clusters, not ratios) — no remaining narrative em-dash clusters. N6: Fixed typo 'dispositon' -> 'disposition' on line 83. W1/W2 waived: Bold-then-explain and scope-limiting 'Does NOT Say' section are established canon precedent (contract-governs-handoff-drift, cache-fetches-and-parses). Validator 2 on the sibling PR confirmed these are structural governance patterns, not the conversational AI-tell that ai-voice-cliches targets. W3 (Recurrence 3 unverifiable without ledger) resolves when PR #137 merges and the ledger goes live.
Canon doc: Removed ledger path from derives_from for same epistemic reason as PR #136: the canon principle does not derive from the session ledger documenting its graduation. Direction is the reverse. Ledger: Updated session_span from '2026-04-24' to '2026-04-24 closed' to align with frontmatter-schema example format ('YYYY-MM-DD closed' or 'YYYY-MM-DD to YYYY-MM-DD'). Validator flagged W-B1 as schema-example conformance; this session is in fact closed at the canon-promotion stage. Other validator warnings dispositioned in PR closeout comment: - W-A1 (em-dash methodology): operative signal per ai-voice-cliches is paragraph clusters, not ratios; only 1 genuine narrative cluster found, within tolerance. - W-A2 ('Does NOT Say' negation cluster): validator agreed this is scope-limiting governance, not conversational AI-tell. Waived. - W-A3 (forward ref to type-contract): resolves when sibling PR #136 merges. - W-A4 (Related Canon + See Also overlap): established canon precedent (contract-governs-handoff-drift, cache-fetches-and-parses use both sections). Waived. - W-B2 (forward refs in ledger Related Canon not labeled): low priority; 'The Canon PRs' section already discloses the forward-reference nature.
Closeout — Release-Validation-Gate DispositionRule 1 — BugbotOriginal commit Follow-up commit Rule 2 — Independent Fresh-Context ValidatorDispatched Sonnet 4.6 validator via Managed Agents (session Verdict: PARTIAL — 0 blockers, 5 warnings (2 on canon doc, 2 on ledger, 1 methodology note). All findings dispositioned. Warnings — File A:
|
… DOLCHEO artifacts) (#138) Captures the four-PR session per the milestone journaling gate: PR #134 — Penny Wise and Pound Foolish essay + 4 canon docs PR #135 — canon-integration-audit constraint PR #137 — telemetry semantic names interface (oddkit) PR #138 — cache_tier streaming-race fix (oddkit) 14 DOLCHEO artifacts: 3 D, 2 O, 3 L, 2 C, 2 O-open, 1 H. Encode does not persist; this is the file form.
Summary
Adds
canon/principles/partial-data-with-transparency-and-background-warm.mdas a tier-2 canon principle, plus the session graduation ledger atodd/ledger/2026-04-24-aquifer-session-principles-graduated.md.The principle: The user-blocking path never pays the full cost of an expensive corpus scan. Return whatever the system has already observed, disclose the missing portion concretely, schedule the remaining work in the background via
ctx.waitUntil. The next request finds the cache warmed. This inverts the common instinct that "scan the full corpus, then respond" is the correct architecture. The correct architecture is "respond now with what is available, warm in the background, honor the user's time as the bottleneck."The operator stated the principle verbatim during the aquifer-mcp J-002 → H11b session as the reason to reject H11's framing and pivot to H11b.
Three Deciding-Argument Recurrences
refreshAndUpdateCurrentIndexin aquifer-mcpsrc/registry.ts— implicit prior art; composite-SHA-staleness check already used this architecture before the principle was named.FanOutEntityResult,formatPartialFanOutNote, andwarmEntityIndexesForResourcesunderctx.waitUntil.Live Validation Evidence
2026-04-24T02:43Z probe against aquifer-mcp post-H11b:
entity:Obadiahfirst visit: 985ms, partial=true, "0/33 indexed, 33 warming".ctx.waitUntil(warmEntityIndexesForResources)scheduled.entity:Obadiah20s later: 1094ms, 78 matches, partial=true, "28/33 indexed, 5 warming". Background warm populated 28 of 33 per-resource entity indexes during the interval.entity:Onesimuscold: 1347ms, 73 matches, partial=false. Shared amortization from Obadiah's warm — any entity in those 28 warmed resources is servable complete without fresh scan.Architecture worked exactly as the principle names it.
Writing Canon Checklist
## Summary — Move The Scan Off The User-Blocking Path, Not To A Different Timeis self-contained.Release-Validation-Gate Disposition
Same reasoning as the sibling PR (canon add, ambiguous under Rule 2's worker-surface trigger list, defaulting to load-bearing per gate's ambiguity clause). Bugbot will be waited for; fresh-context Sonnet 4.6 validator dispatched before merge; findings dispositioned in closeout comment.
Companion Artifacts
feat/canon-type-contract-plus-adversarial-reviewgraduates the first principle. The two PRs cross-reference each other by URI; URIs resolve once both merge.observe-before-you-fix-the-wrong-axis) held.Not In Scope
observe-before-you-fix-the-wrong-axis— one explicit recurrence only; held.Note
Low Risk
Low risk: adds new canon/ledger markdown documents only, with no runtime code or behavior changes.
Overview
Adds a new tier-2 canon principle,
partial-data-with-transparency-and-background-warm, formalizing the pattern of returning honest partial results while scheduling expensive corpus scans in the background (e.g., viactx.waitUntil) and providing concrete completeness disclosure.Adds a new
odd/ledgerentry documenting the fresh-context validation and promotion rationale for graduating this principle (and cross-referencing the siblingtype-contract-plus-adversarial-reviewgraduation), including the manual-enforcement-based recurrence count used to clear the canon graduation bar.Reviewed by Cursor Bugbot for commit f0750f3. Bugbot is set up for automated code reviews on this repo. Configure here.