# Index of historical documents One line per archived document; [`README.md`](README.md) has the rules for this tree and for this file. ## Audits and reports - [Whether schema loading needs permanent subscriptions](development/performance/2026-10-20-schema-subscriptions.md) — 2026-10-20; immutable schema documents can use the existing authenticated one-time graph query, with runner integration needed for closure verification, late arrival, delivery accounting and reconnect ownership; direct-watch attribution is distinguished from dependency retention and process-wide caches. - [Where a Weaver family root's label reads spend their time](development/performance/2026-10-18-weaver-family-root-label-reads.md) — 2026-10-18; the Weaver's `cell:getCfcLabel` round trips of 65 s median during load bursts against a family root holding 27,000 documents across 93 spaces, read from the installed Weaver's worker as 3 ms of handling behind up to 29 s in the worker's inbox while the event loop stalled for up to 76 s, the same workload CPU-profiled in Chrome by task and by function (transaction creation a tenth of busy time, the per-transaction delegation copy 9%, hashing 10%, a scheduler walk over every node per pass 2%), a sampling heap profile of what a live transaction holds, and the change that makes a label read of an unbound cell open one transaction instead of three, timed before and after. - [The Loom publication wish-slot ping-pong](development/performance/2026-10-14-loom-publication-wish-slot-ping-pong.md) — 2026-10-14; the Estuary toolshed instance serving a Loom publication space in which the whole team met, with one wish output slot rewritten 4,622 times by ten principals between two user-scoped links naming two wish-state documents, because the state was minted from a cause carrying the node's content-addressed inputs document and a deploy that changed the FabriChat room's `#chatManager` schema gave sessions loaded before and after it two such documents for one slot; the remote-echo breaker tripped 360 times that day and throttled the loop without ending it. - [What split the camps in the Loom publication wish-slot ping-pong](development/performance/2026-10-17-loom-publication-wish-slot-camps.md) — 2026-10-17; a correction to the 2026-10-14 record: the room's pattern pointer held still through each pair of camps and the two camps' result schemas differed only in the order of the `ChatRoomKind` enum, because the schema generator listed a union's members in checker order, which depends on the program, while module identity does not, so the room compiled alone and the room compiled inside `loom/main.tsx` were two artifacts under one identity; labs #8913 and #8948 ended the loop and labs #8992 made the generated schema independent of the program. - [Immutable-cell review fixes](development/performance/2026-10-13-immutable-cell-review-fixes/README.md) — Weak element ownership retained-heap measurements, paired creation timings under shared-host load, and focused served-pattern evidence for PR 8814. - [Immutable cell feedback: ownership, events, and measurement correction](development/performance/2026-10-13-immutable-cell-feedback/README.md) — 2026-10-13; nested snapshot ownership, portable event identity, traversal memoization, and corrected measured-input sharing evidence under concurrent validation load. - [Native immutable cells: implementation and measurements](development/performance/2026-10-12-native-immutable-cells/README.md) — 2026-10-12; native frozen snapshots with saved link origins, paired cold/reused measurements and raw samples, compact IDs, and measured runtime-lifetime retention costs. - [Home interface first pass](development/2026-10-12-home-space-interface-first-pass.md) — local Home collection and command roles, host projections, social-space browser, FabriChat role separation, strict CFC and source-update evidence, and remaining native integration, October 2026. - [Home interface review corrections](development/2026-10-13-home-interface-review-corrections.md) — the private-manager send regression, removal of the FabriChat role refactor, correction of a schema-invalid seed that made an update appear to reset stored records, and valid records retaining their values and storage addresses in a fresh runtime, October 2026. - [Home interface automatic roll-forward](development/2026-10-13-home-interface-automatic-roll-forward.md) — populated Home and manager state retained through running and cold system-origin updates over the production HTTP source route, queued-notice identity preserved through array materialization on a fresh open, and the missing-kind and documentation review corrections, October 2026. - [The Topics space write storm](development/performance/2026-10-07-topics-space-write-storm.md) — 2026-10-07; the Estuary toolshed instance owning the shared Topics space at 95% main-thread CPU for a day, with 19.4 of its 23 hours in `memory/frame/handle`, traced through the space's 2.29-million-commit history to four client sessions each re-persisting the same six computed documents with a value that differed only in the scope of a link, a link at session scope against the same link at space scope or its declared empty default, because output placement followed the narrowest instance a reader held rather than the narrowest scope its inputs declared; the storm began thirty minutes after the 2026-10-06 deploy and peaked at about 50 commits per second. - [Generic-normalization baseline cleanup](development/generic-normalization-baseline-cleanup-2026-10-03.md) — PR #8395 after Opus's second review: remove 14 never-shipped candidate records, restore the existing acceptance registry, and record only the final contracts. - [Generic-normalization review audit](development/generic-normalization-review-audit-2026-10-03.md) — PR #8395 after Opus review and rebase onto main 8d2cc3f864: 403 compiled entry points, 86 changed outputs classified, identical IFC metadata kinds, values and counts, and a notebook deletion mutation control. - [Generic-normalization pattern audit](development/generic-normalization-pattern-audit-2026-10-01.md) — 397 compiled entry points against main 75199b828d; every changed schema classified across 83 entry points, 14 compatible contract records appended, and one paired compile-time measurement. - [Staged-reference cancellation measurements](development/performance/2026-09-28-staged-reference-cancellation/README.md) — Five counterbalanced synthetic process pairs preserving completed-run label maps and derivation counts, with canceled-run work reported separately, earlier cancellation and shorter event-loop slices; raw samples and contended-machine throughput limits. - [Topics and lunch-poll benchmarks with server execution on](development/performance/2026-09-25-server-execution-topics-lunch-benchmarks.md) — 2026-09-25; the four Topics and lunch-poll benchmark files run with server execution on, against a read-through arm and an off control on one four-core machine, with every figure in `2026-09-25-server-execution-topics-lunch-benchmarks.results.json` beside it: on, the 5×5 vote burst takes 28.7 s against 0.48 s off, the 10×10 burst and the 1184-vote read scale do not complete, a board revisited after its space parks loads in about 22 s against 3.6 s off, and seeding thirty topics runs 381 serial wave cycles whose watermark coverage waits a median 9.4 s; attributed by server CPU profiles to the demand pass rebuilding a 17,653-instance demanded set every pass, a materializer overlap test that re-scans every read per read, push refreshes re-walking each session's whole schema closure from SQLite, five SQLite statements per engine read, and a per-topic sidecar compile for a viewer without a profile; read-through shortens seeds by 17 to 46% and the cold board by 31% but not the navigation journey by the two thirds its registry entry states, and fails the `comment` segment in both runs taken. - [The demand pass's first structure load, measured and cut](development/performance/2026-09-20-demand-pass-root-pull.md) — 2026-09-20; six counterbalanced base/fix rounds of the 30-topic topics seed against a server-execution toolshed, with every run's counters beside it in `2026-09-20-demand-pass-root-pull.results.json`: an instrumented build puts 8.37 s of the root loop's 9.41 s in the 660 never-a-piece confirmations and 626 of 660 terminal parks at a root answering for the first time, which rules out remembering a verdict across demand departure; an attempt that answered the question at the co-hosted engine and skipped the sync was withdrawn because that sync is how a demanded root reaches the serving replica's basis, which `executor-events-down.test.ts` showed by letting a served handler overwrite a standing receipt; and pulling the pass's root documents together instead takes `storage.v2/watchRefresh/watchAddSync` from a base mean of 984.7 to 752.2 with no overlap between the arms in any round, while `structureLoadTerminal`, the traversal count, and the deferral, failure and stuck counters do not move. - [The Topics computation-cost baseline](development/performance/2026-09-20-topics-computation-cost-baseline.md) — 2026-09-20; T0's baseline for the Topics computation-cost plan, with every figure extracted into `2026-09-20-topics-computation-cost-baseline.results.json` beside it and each one's run named there: the headless matrix at `fd9fa9a44b` (85 cases, 59 measured, the 26 `board` cases recorded as not measured) giving pivot production at 193, 769 and 3,073 proxy accesses over 32, 128 and 512 topics and one open topic's backlink lookup at 72, 264 and 1,032, the `all-backlinks` scaling probe reaching 528,384 accesses over 512 runs in a graph of 3,595 nodes and 532,488 edges, and `lastActivityOf` growing with both comments and links where the comment count is flat in links; the browser benches' client-execution rounds at `784a1e3a68`, where the navigation bench's counters are identical across rounds and the scale bench's reopen sample differs between them in seven non-timing fields while its four located lifts read the same zero in both, giving a measured zero for the reopen workload, whose four-boundary survey, 32-reopen/16-control classification and 20-of-20 outcome are carried here from `BENCHMARKS.md` at `02b5a4694a` as the one set of figures no data file backs; the delivery baseline cited from `experiment/topic-own-entry-lookup`, run at `bc23e3c6d0`, at 3, 9 and 39 other-topic documents and 1,469,910 bytes at N=40 in its `start` phase, which nothing gates; and, as findings, that rendering is separable by neither tier and what would close that, that each run here predates a different set of changes to `topics/main.tsx` and `topic.tsx` — one commit since the browser rounds, two since the probe's baseline and three since the delivery runs, and that the read-budget limits table is written before its negative-control pass runs and so cannot record whether it passed. - [Topics computation cost under server execution on and off](development/performance/2026-09-19-topics-server-execution-browser-arm.md) — 2026-09-19; both Topics browser benches run under both server-execution postures over two counterbalanced alternations, with every round's samples and the machine's load series beside it in `2026-09-19-topics-server-execution-browser-arm.results.json`: the located lifts' run, access and link-resolution counts are identical under both postures, a countable set of runs carrying no source location is absent under server execution (four fewer in `backlink`, carrying 554 fewer accesses between them, and two fewer in `comment`), the navigation bench's counters agree in 74 of 74 fields across independently seeded boards under each posture, the serving loop commits 605 to 846 derivations per round where the OFF binary constructs no `ExecutorHost` at all, and the timings support no posture conclusion because the rig co-hosts that serving loop with the browser it measures; also records that an ON server handed an OFF-authored store fails to start the home-space profile piece, which is the upgrade path. - [Topics computation cost under lazy materialization on and off](development/performance/2026-09-18-topics-lazy-materialization.md) — 2026-09-18; the headless Topics matrix run once in each mode plus a five-round repeat subset, with the raw samples of both arms beside it in `2026-09-18-topics-lazy-materialization.results.json`: the `all-backlinks` workload re-runs `backlinksOf` for every topic with lazy materialization off while `topic-open` does not change its run count and `aggregates` demands no backlinks at all, proxy accesses are absent from every measured case in that mode, and the matrix arms' elapsed times are single samples taken under contention that support no latency conclusion. - [Fresh-store browser timing follow-up](development/performance/2026-09-18-default-on-fresh-store/) ([report](development/performance/2026-09-18-default-on-fresh-store/README.md)) — Reversed-order 1,184-vote profile-location pair on independent fresh stores; stable read counts and variable wall-clock observations. - [Default-on lunch-poll browser measurements](development/performance/2026-09-18-default-on-browser/) ([report](development/performance/2026-09-18-default-on-browser/README.md)) — Six synthetic mounted-browser cases, matching same-space/cross-space reactive counts, observed timing limits, screenshots, and separate headless evidence. - [Default-on handler dispatch timings](development/performance/2026-09-18-default-on-handler/) ([report](development/performance/2026-09-18-default-on-handler/README.md)) — Eighteen pinned handler cases with accounting disabled, raw phase records, and explicit timing-comparison limits. - [2026-09-16 CFC evidence review](development/performance/2026-09-16-cfc-evidence-review.md) — Phase warmup verification and deterministic browser comparison including capture identity and size. - [2026-09-16 CFC callback argument narrowing withdrawal](development/performance/2026-09-16-cfc-argument-narrowing-withdrawal.md) — Server-execution Lunch Poll regression, controlled isolation, and the final PR performance-claim boundary. - [2026-09-16 CFC browser evidence reproduction](development/performance/2026-09-16-cfc-browser-evidence-reproduction.md) — Exact comparator revisions, reproduced historical hashes, and portable mappings for external capture artifacts. - [CFC commit preparation: wildcard covers and carried labels](development/performance/2026-09-16-cfc-commit-preparation-round2/README.md) — loop audit, exact read/write grid, paired browser scaling, complete label equivalence, and an explicitly labeled SQL aggregate fixture. - [2026-09-16 CFC preparation cache follow-up](development/performance/2026-09-16-cfc-prepare-cache-followup/README.md) — Identity-cache measurements, preserved label/refusal checks, and additional indexed candidate scans for PR 7604. - [Lazy materialization fast-follow closeout](development/performance/2026-09-19-lazy-fast-follow-closeout.md) — Final pinned handler/collection counts, evidence matrix, explicit measurement limits, and owner-led/deferred work boundaries. - [Lift-switch retirement matched read counts](development/performance/2026-09-16-lazy-retirement-counts.md) — identical handler and collection read counts across pinned parent/candidate revisions; raw paired results and remaining measurement limits. - [Random space identity plan review](plans/random-space-identities-review-2026-09-17.md) — 2026-09-17 record of a review of the plan and specification at `59e8a2540c` against the code at `e4f878a03e`, with an adversarial second pass and the team decision that overturned its retirement recommendation: records the derivation, the wildcard genesis grant, the implicit space-DID ownership, the frame-cause name behind anonymous `inSpace()`, the existing site table and observe-mode staging, and about a thousand `spaceName` call sites; finds the idempotency requirement produced the control shards, the nine-state machine and the server-to-server allocation fetch, that the migration ledger was not implementable because per-commit authorship was never recorded, that genesis depends on the very authorization arm being narrowed, that no shipped pattern uses named `inSpace`, and that three preparation items lay outside the repository. - [Pattern-test CFC posture measurement](development/performance/2026-09-15-cfc-pattern-test-posture.md) — 2026-09-15; five alternating headless mapped-render and labeled-copy samples at N=11/50/150, with resolved postures and preparation spans. - [Prepared digest cache selection](development/performance/2026-09-15-prepared-digest-cache-selection/) ([report](development/performance/2026-09-15-prepared-digest-cache-selection/README.md)) — four-arm comparison, repeated reactive executions, GC retention, paired timings, profiles, and replay patches selecting epoch-only memoization. - [Prepared digest unit ladder: paired summary](development/performance/2026-09-15-prepared-digest-paired-summary.md) — median timings and same-round speedups supplementing the original minimum-based summary. - [Prepared CFC digest measurements](development/performance/2026-09-15-prepared-digest.md) — alternating unit and labeled SQLite arm-B ladders, frozen-record cache counts, native-hasher profiles, and the cold-composition tradeoff. - [Research orientation and passage retrieval comparison](packages/cf-harness/research-passages-comparison-2026-09-16.md) — two-use research contract, exact passage search and batch reads, five matched tasks, preserved indexed composition, mixed latency and accuracy, inbox retrieval overlap and token regression, and browser/provenance verification. - [Scoped research implementation and matched comparison](packages/cf-harness/targeted-research-comparison-2026-09-16.md) — orient/answer/recipe bundle, ten matched turns, preserved indexed composition, mixed latency and recipe accuracy, a bounded follow-up recheck, six browser acceptance checks, and durable context/omission corrections. - [Indexed flow-read labels](development/performance/2026-09-15-cfc-flow-read-index.md) — generated transaction equivalence, the paired R by E grid, and shared arm-B attribution separating the improved flow lookup from the dominant authoritativeCoverFor scan. - [Authoritative link-label coverage](development/performance/2026-09-15-cfc-authoritative-cover.md) — 2026-09-15; prefix-only candidate selection, corpus equivalence, and paired mapped-render measurements. - [Wildcard-source path indexes](development/performance/2026-09-15-cfc-wildcard-source-index.md) — generated-corpus equivalence, paired source-wildcard query measurements, and shared arm-B profiles locating the remaining authoritative-cover scan. - [The scheduler's per-write subscriber scan](development/performance/2026-09-15-scheduler-subscriber-scan.md) — the two scheduler scans whose cost grew with a document's readership, measured on the 1,184-vote lunch-poll fixture: the per-write filter over every subscriber, the invalid-upstream question answered by walking everything downstream of everything invalid, the counted work each was replaced by, and the quadratic run-ordering scan left for next time. - [Loom investigation review clarifications](development/performance/2026-09-15-loom-person-inbox-review-clarifications.md) — complete 203-document access-shape accounting and raw repetitions explaining independently calculated policy and opening medians. - [Loom person-inbox policy budget](development/performance/2026-09-15-loom-person-inbox-policy-budget.md) — nine retained-candidate policy preparations below 200 ms, per-node click attribution, full runtime validation, interleaved raw measurements, and rejected preconstruction experiments exposing quadratic label coverage. - [Loom person-inbox policy optimization rounds](development/performance/2026-09-14-loom-person-inbox-policy-rounds.md) — four measured runtime optimization rounds, metadata-reuse follow-up, full runner validation, and a final same-thread comparison with raw load records and retained failures. - [Loom person-inbox policy processing](development/performance/2026-09-14-loom-person-inbox-policy-processing.md) — repeated read and label counts, generated provenance, cache invalidation boundaries, and a validated offline attribution memoization replay. - [Loom person-inbox click attribution](development/performance/2026-09-14-loom-person-inbox-click-attribution.md) — combined pattern/runtime worker and browser profiles identify dependency reads, commit policy verification, and small style/layout cost. - [Loom person-inbox pattern and runtime improvements](development/performance/2026-09-14-loom-person-inbox-improvements.md) — interleaved real-data improvement measurements, local pattern/runtime commits, validation, and incomplete selector experiments with readiness and source-window failures. - [2026-09-14-loom-person-inbox-thread-open.md](development/performance/2026-09-14-loom-person-inbox-thread-open.md) — real-data Loom person-inbox thread opening across pinned and main labs browser bundles: five interleaved repetitions, identical 50-message content, the remaining duplicate pattern derivation and CFC label-view costs, and the full load record. - [Wish and Loom resource discovery](development/2026-09-14-wish-resource-discovery.md) — September 2026 source investigation of wish discovery, SQLite registration, and person-inbox startup wiring; existing wish tests passed, with a provider composition proposed for implementation. - [Stale derived-state correction decision](development/2026-09-14-derived-state-correction.md) — approval and exact fixture scope for two calculated lunch-poll status corrections, consequences, and alternatives. - [Lazy-off integration evidence](development/performance/2026-09-14-lazy-off-integration.md) — isolated runner, runtime-client, and shell/browser integration results with eager materialization, explicit execution postures, and retirement evidence limits. - [Notebook reload materialization evidence](development/performance/2026-09-14-lazy-materialization-reload-evidence.md) — 2026-09-14: eager-mode browser errors, an unresolved default-on control failure, and a passing instrumented control on isolated synthetic data. - [research-guard-comparison-2026-09-15.md](packages/cf-harness/research-guard-comparison-2026-09-15.md) — completed six-trial comparison: all three research compositions compile first time and pass browser acceptance; original trials expose unit, binding, and cost-persistence defects; records exact frozen conditions, median time and token reductions, helper expense, verified indexed reuse, and limits of attribution. - [research-guard-comparison-checkpoint-2026-09-15.md](packages/cf-harness/research-guard-comparison-checkpoint-2026-09-15.md) — partial original-tool comparison: both guarded-research recipes execute unchanged on their first submission; the original also composes indexed components but needs three compiler corrections and misstates currency units; records helper and whole-task costs, syntax/CFC verification, frozen conditions, and three pending trials. - [research-normal-e2e-2026-09-15.md](packages/cf-harness/research-normal-e2e-2026-09-15.md) — automatic opening research equips a bare dinner-page request to import and execute two indexed components; compiler recovery fixes an invalid import from the kit, browser edits and totals persist, and exact artifacts distinguish an earlier Fabric session failure, a checkbox accessibility mismatch, and batch measurement gaps. - [research-citation-probe-2026-09-14.md](packages/cf-harness/research-citation-probe-2026-09-14.md) — exact citation catalogs and a bounded correction preserve strict admission but the live model repeats an invalid ID; two research calls return a complete kit with fewer tokens and more wall time, while its unchanged source fails compilation on an action input-type mismatch. - [research-corrected-probes-2026-09-14.md](packages/cf-harness/research-corrected-probes-2026-09-14.md) — corrected callable research probes preserve a described email handle and produce a complete, executable checklist/amount-ledger composition; citation-copy failures cause repeated research and higher cost, motivating an exact source catalog and bounded correction before automatic startup. - [research-callable-probes-2026-09-14.md](packages/cf-harness/research-callable-probes-2026-09-14.md) — first callable research probes: both source examples compile, a checklist/amount-ledger composition renders and totals synthetic costs correctly, and live kits expose token expansion, binding-schema, citation, and advice defects; records private and whole-turn costs, unchanged index inventory, and the approval boundary on a corrected live repeat. - [weaver-inbox-run-2026-09-14.md](packages/cf-harness/weaver-inbox-run-2026-09-14.md) — artifact analysis of Weaver's simple inbox request: an absent piece registry discards configured connector grants, missing input and empty-result checks allow unsupported success, and a reproduced documentation query ranks its answer 138th; records 211,018 tokens, 181.279 seconds, actual pattern reuse, and measurement limitations. - [presync-audit-2026-09-09.md](packages/runner/presync-audit-2026-09-09.md) — audit of the runner's pre-sync sites for new starts and resumes and of every use of the `argument` meta rail, at labs `924dce02af`, September 2026: inventories each wave a resume pays (root and its metadata family, the node walk, owned cells, result and UI, argument link targets, list children) and what a fresh start pays (nothing on `run()`, a raw walk of the caller's argument on `runSynced`), and finds that the resume node walk syncs node inputs under the binding's slice of the authored argument schema rather than the transformer-narrowed module schema, that a whole-argument root under the pattern schema makes any narrowing of the node roots moot for the link-target wave, that fresh starts and sub-pattern children get no schema-bounded pre-sync at all, and that a derived internal cell records only a `result` backlink and no argument pointer or read set; recommends deriving a per-pattern read surface by folding each node's narrowed schema back onto the argument paths its bindings alias and using it as the root schema on both paths, and against adding an argument pointer to internal cells for the pre-sync's sake. - [Computation-cost adoption brief](development/performance/2026-09-12-computation-cost-adoption.md) — mechanisms, implementation lessons, announcement prerequisites, and proposed lunch-poll and Topics migrations after the #7155 arc. - [1,184-vote lunch-poll render attribution](development/performance/2026-09-11-lunch-poll-render-attribution.md) — where the headless render's minute went at three fixture sizes: 37.7% in the memory server applying commits, the per-commit document rebuild #7395 removed, the scheduler's per-write subscriber scan left standing, and the wall-clock cap #7454 removed. - [Representative lunch-poll copy rehearsal](development/performance/2026-09-12-representative-lunch-poll-rehearsal.md) — two isolated migration passes, authored-data preservation, matched browser/headless read counts, graph and timing tradeoffs, bounded clock churn, and the Q9 fast-follow decision. - [Index maintenance phase counts](development/performance/2026-09-11-index-maintenance-phases.md) — completed action-body counts for both index types across membership edits, key edits and lookup retargeting at three sizes. - [Demand-driven index enumeration](development/performance/2026-09-11-demanded-index-enumeration.md) — 2026-09-11: 512-row lookup and enumeration measurements, skewed-bucket costs, and the unresolved mixed-key representation boundary. - [Lazy materialization fast-follow: F0 baseline](development/performance/2026-09-11-lazy-materialization-f0-baseline.md) — pinned revision and flag posture per process, the non-test sites that consume the flag, the transaction mark, and the refusal, the handler path's eager reads in dispatch order, and the per-phase cost of one handler dispatch at 74, 296, and 1,184 rows: the dependency preflight walks the whole list twice per dispatch and is the largest fixed cost of one, the argument read is negligible for a handle context, and a handler's read log is its commit conflict set. - [Lazy handler context: contract, prototype, and deferral](development/performance/2026-09-11-lazy-handler-context-prototype.md) — F1/F2 of the lazy-materialization fast-follow: the contract for reading a handler's bound context through a view with its event payload eager, the prototype that implements it and the dispatched-handler tests that pin its disposition, eager-versus-lazy measurements at 74, 296, and 1,184 rows, a two-runtime test showing a view narrows the read set a handler's commit is checked against, and the deferral with its conditions for revisiting. - [Lazy materialization: default-on rollout evidence](development/performance/2026-09-11-lazy-materialization-f3-rollout-evidence.md) — F3 of the lazy-materialization fast-follow: thirty days of `main` at the default-on posture with no rollback override in any tracked file and no browser rollback route at all, the workloads and suites that covered it, the runner suite at both postures, every change to the view's two implementation files in the period, and what a retirement decision has to name. - [Lazy scalar read width](development/performance/2026-09-11-lazy-scalar-read-width.md) — D2 eager/lazy one-scalar and all-row baseline at 74, 296, and 1,184 inline rows, with journal counts and timing limits. - [2026-09-11-nested-collection-scan-diagnostic.md](development/performance/2026-09-11-nested-collection-scan-diagnostic.md) — E3 warning acceptance across 413 pattern entries and 1,731 modules: seven occurrences at five source sites, guarded-UI limits, and callback-local exclusions. - [2026-09-11-computed-lift-collection-loops.md](development/performance/2026-09-11-computed-lift-collection-loops.md) — E1 compiled computed/broad-lift/narrow-lift comparison at 32/128/512 linked rows, identical default-posture read counts, and unread-field invalidation controls. - [2026-09-11-pending-schema-policy-index.md](development/performance/2026-09-11-pending-schema-policy-index.md) — document-indexed pending schema-policy lookup CPU attribution and 1,184-vote fixture acceptance with unchanged read budgets. - [2026-09-11-reactive-lunch-rows.md](development/performance/2026-09-11-reactive-lunch-rows.md) — repository-only reactive lunch-row acceptance: 93 assertions, unchanged budgets at three sizes, matched two-browser voting, and headless settlement limits. - [2026-09-10-lunch-poll-read-baseline.md](development/performance/2026-09-10-lunch-poll-read-baseline.md) — controlled A0 baseline with 14 options, eight same-space voters, 74 keyed votes, continuous headless UI demand, and per-action read counts. - [2026-09-10-read-accounting-probes.md](development/performance/2026-09-10-read-accounting-probes.md) — disabled-probe comparison for initial reactive action read accounting: five alternating control/candidate windows over 1,000 lazy-view elements, and the limits of the lunch-poll functional smoke check. - [2026-09-topics-caller-demand.md](development/performance/2026-09-topics-caller-demand.md) — recommendation 5 caller-demand verification, September 2026: isolated index/full reader demand, the CLI path-read regression, seeding demand limits, and ON/OFF persisted topic and citation controls; latency qualification remains outstanding. - [coverage-status-audit-2026-09-09.md](plans/server-execution-v2/optimize/coverage-status-audit-2026-09-09.md) — OW28 landing-provenance and coverage-status audit at `16de7e0c87`: the preserved compile-and-run port and its end-to-end test were omitted from #6096 despite the completion claim; current writeback refusal and an OFF-path program-proxy cache collision reproduced, with OW18, OW30, OW31, OW55, OW56, OW58, OW60, and rollout statements reconciled against current source and focused suites. - [view-scoped-replication-2026-09-10.md](benchmarks/view-scoped-replication-2026-09-10.md) — integration failure corrections and flag-on/off benchmarks: 30-topic navigation regresses 5.26 times, 100-topic rendering fails with the flag enabled, 10-by-10 lunch bursts fail before measurement in both modes, and a separate serving CPU profile attributes most active time to repeated view-plan ancestor scans. - [view-scoped-replication-integration-2026-09-09.md](plans/view-scoped-replication-integration-2026-09-09.md) — integration validation of experimental view-scoped replication: verifies environment flags through real browser worker initialization, fixes runtime-client test forwarding, and records enabled/disabled controls and unresolved integration failures. - [cfc-unprepared-commit-audit-2026-09-08.md](packages/runner/test/cfc-unprepared-commit-audit-2026-09-08.md) — audit of the `packages/runner` unit tests that commit a CFC-relevant transaction without preparing it, at labs `42e5154c51`, September 2026: instrumenting the commit boundary's unprepared arm found 43 such commits in 17 files, of which 24 are teardown whose result nothing reads and three are cases named for that refusal; mutation-testing the rest showed ten weak — four kept passing with the S18 refusal deleted from `prepareBoundaryCommit`, three (one of them named "defense is not vacuous") kept passing with the `writeAuthorizedBy` identity arm forced never to match and two of those could not fail anyway because a commit rejection stringifies to `[object Object]`, and three staged a seed the boundary discarded so the case ran against an empty document; records that preparing a root envelope whose `cfc` member carries no `version` never reaches the S18 gate, because `cfcMetadataPresent()` calls it absent while the prepare pass's `storedMetadataFor()` throws on it, leaving a `CommitPreparationError` in place of a terminal verdict, which `editWithRetry` does not retry and the scheduler retries on budget. - [issue-6969-upgrade-gates-2026-09-09.md](development/issue-6969-upgrade-gates-2026-09-09.md) — August 31 Topics snapshot replay: fixes description-only refusals on defaulted unions and equivalent unconstrained link schemas; preserves the compact mention-index and typed short-name migration refusals, with retained-source and input-preservation controls. - [slash-notes-above-class-members-2026-09-06.md](development/slash-notes-above-class-members-2026-09-06.md) — audit of the `//` blocks that sat directly above class member declarations and described the member, at labs `e9b4dd53e`, September 2026: 508 such sites in 109 files outside `packages/patterns`, found by a TypeScript-AST census with a nine-site control fixture, of which a nine-pull-request series converted 472 to JSDoc doc comments with the blank line above and below the guide asks for, made two group notes section markers, and left 35 labels over runs of members as `//` because a mid-class section marker has no way to close its region; records the two-members-one-note shape the reviews kept finding, the eight false contract sentences the report-only reviews caught, the overload-set split the converter made once, and what the census does not see (interface, object-literal, and module-level members). - [derived-reader-contention-2026-09-04.md](features/derived-reader-contention-2026-09-04.md) — what a derived reader over a collection costs, September 2026: five `convergence-chat` fixtures differing by one factor each put four at zero refusals under a two-writer storm and the fifth — the only one with a `computed` over the whole list — at thirty-four, every one of them a root conflict that wrote a `computed:` document and named the list as stale; the cost tracks concurrent writers rather than writes, forty posts from one session costing nothing and the same forty from two costing thirty-four; the session that never posts pays as much as either writer; growth is linear in posts rather than in list length; and the writer side is a deterministic zero while the reader side spans 7, 39, 2, 12, 9 across identical runs, which is why a test can require which documents a refusal contended for but not a count of rolled-back writes. - [cfc-profile-conformance-gap-2026-09-03.md](packages/cf-harness/cfc-profile-conformance-gap-2026-09-03.md) — obligation-by-obligation gap analysis of cf-harness against the CFC specification's implementation profiles at labs `889e34c55a` and specs `8b8613ea`, September 2026: `CfcAgentHarnessProfile` is not satisfied, with three of §18.3.3's nine obligations having no implementation behind them (no descriptor or measured-contract registry snapshots, no descriptor observation labels, no subagent confidentiality ceiling) and four partly met, the widest gap being that every side-effecting tool except `run_pattern` is admitted by a check on static effect class crossed with a run-level direct-command binding rather than by a sink-specific commit-point check; records both minting surfaces producing direct-command authority from constants with no value digest and no authenticated subject, traces the projected `writeFloor: enforce` published against a serving runtime resolving `off` and the `permissive-if-absent`-beside-151-denials pair to two different questions sharing one word, finds fifteen of §18.2.7's nineteen obligations owned by `runsc-cfc` and the FUSE daemon rather than the harness and all seven of §18.4.4's owned by the shell, and recommends reclassifying AUD-14 to `required-by` while arguing against AUD-19. - [cfc-audit-corpus-findings-2026-09-02.md](packages/cf-harness/cfc-audit-corpus-findings-2026-09-02.md) — the first run of the CFC audit checker over the accumulated cf-harness session corpus, September 2026: 239 runs and 2151 check results with no CFC violation among them, AUD-9's uniform failure read as the artifact set catching up rather than 239 defects, AUD-2's 121 warns standing as recorded corroboration that release gating has never fired, and four transcripts abandoned mid-tool as the only defect the runs themselves carry (corpus is three local bb worktrees, so the numbers reproduce nowhere else). - [2026-09-terminal-structure-confirmation.md](development/performance/2026-09-terminal-structure-confirmation.md) — Recommendation 1 snapshot: redundant terminal-confirmation syncs and scoped watches, durable creation-before-watermark red/green controls, scope-aware owning-chain identity, and outstanding quiet latency verification. - [keyed-collection-contention-2026-09-01.md](features/keyed-collection-contention-2026-09-01.md) — what a keyed collection write costs under concurrency, September 2026: a keyed edit that changes no membership costs nothing across three sessions, and two separate mechanisms make one that changes membership cost something — clearing a removed element's document, which replaces what every concurrent `addUnique` and `removeByValue` saw when it resolved that element's link to match candidates, and the array read a no-op `addUnique` leaves in the conflict set by returning before it records its operation; the lunch poll's burst exercises only the first, every refused commit there having written the vote list, none holding the list in its read set, and every one refused over another vote's link; a probe with one session removing while two upserted present members exercises the second and refuses only the upserters; a single `computed` over the collection took a burst from zero refusals to roughly 150, all on the derivation's own commit; roughly half the refusals in some runs are cascades behind a root conflict rather than contention; the collection-wide read is localized to the sigil probe `resolveLinkTracingDereferences` makes, whose two other consumers already classify it as a shape observation while the commit's conflict set reads it strongly; and two fixes above the conflict evaluation — recording that probe as a shallow read, and comparing mergeable-operation candidates structurally rather than dereferencing them — each measure nothing and are recorded so they are not tried twice, with the open question of whether the conflict set's strong read of that probe is load-bearing — a resolution through an indexed slot has an address a removal really does change — and therefore why the narrowing has to be by path rather than by observation class. - [context-contamination-model-2026-09-01.md](packages/cf-harness/context-contamination-model-2026-09-01.md) — code-verified audit of cf-harness context contamination at 2026-09-01 against the operator's exposure model: runner labelMaps, links, derived flow, TransformedBy, policy records, label-carried Policy/Context and grants are coherent one layer down, while harness structured-result, skill, web, browser, registry, host-script and child-return declassification uses fixed local rules and records no origin exposure; identifies the confidentiality-only model-context accumulator as the highest-leverage seam, proves its effective invocation stamping is wider than its one explicit read_file option, and records that current main has only vouched ExternalIngest while #6668's pinned-fetch variant remains pending. - [demo-round-and-the-kind-taxonomy-2026-09-01.md](packages/cf-harness/demo-round-and-the-kind-taxonomy-2026-09-01.md) — the cf-harness demo round on the post-collapse build, September 2026: five demo phrases completed leaner than the Round-4 baseline (16 `run_pattern` against 28, 44% of attempts reaching `ok` against 18%) with every piece browser-verified and the earlier budget defect absent from an independently authored piece, while composition stayed at zero across all five; a poll application published with configurable question and options came back as the top hit for a natural board-game-poll request and was still built from scratch, because the index classifies an entry by whether it takes arguments while the parent prompt reads that classification as whether the entry answers the request whole — so the parameterization that makes an application reusable is exactly what routes it away from the by-id reuse branch; the child received the entry's full record and rebuilt it anyway, showing the classifier is only the first half of the miss; post-failure turn cost fell to 1.17× the clean floor without yet reaching it; and console publications were found to be non-discoverable, the third capability the command line has and the console does not. - [round4-prompt-and-channel-2026-09-01.md](packages/cf-harness/round4-prompt-and-channel-2026-09-01.md) — Round-4 measurement of the cf-harness console parent prompt and the structured delegation channel, September 2026: a decision-policy parent prompt eliminated the historic prompt's four whole-application wrappers on the reuse suite while holding composition at four of four tasks and answering six reuse tasks by id in 149 seconds against 880, `patternRefs` proved lossless and turned out to be discovered from the tool schema without any prompt teaching it (falsifying both the "refs unused" and "prose handoff" predictions for the historic prompt), the within-cell refs control showed all eight argument-schema mismatches falling in children denied the shapes and none in the 45 attempts that received them, withholding the four child composition bullets dropped composing attempts from 96% to 37% and so keeps them, the candidate prompt's pre-registered 30% compile-burn drop was falsified at 16.0% because what the channel removes is an error class rather than compile cost, session cost was shown superlinear in failed attempts (13.9s per turn before the first failure against 55.5s after) rather than caused by error thrash, skill acquisition was found reachable and unexercised with the console structurally unable to offer `acquire_skill`, and browser verification of five demo phrases passed both must-pass phrases while finding an uncommitted-amount defect rendering `$NaN.undefined` in a piece whose `run_pattern` outcome was `ok` — one verdict having first been recorded as a failure on an observation contaminated by stray operator input on a shared headed browser. - [prompt-stack-audit-2026-09-01.md](packages/cf-harness/prompt-stack-audit-2026-09-01.md) — point-in-time inventory of every cf-harness model-context surface at 2026-09-01: the console's no-prompt default, CLI and child system prompts, delegation and skill injection, all tool descriptions and retry/refusal text, transcript replay and provider compaction; finds V2's search-to-child handoff is an entirely voluntary and lossy prose boundary, `search_patterns` drops the endpoint's new part/app kind while teaching the old matcher, three surfaces repeat CT-2123's disproved keyless cause, and V2 contradicts both child by-ID reuse guidance and recorded-only publication; proposes a structured selected-hit handoff, a guarded default parent prompt with an explicit when-not-to-compose edge, and named Terra/Sol, V1, retrieval, keyless, and CFC-refusal verification cells. - [terra-vs-sol-2026-08-31.md](packages/cf-harness/terra-vs-sol-2026-08-31.md) — 2×2 Terra-versus-Sol parent-guidance measurement, August 2026: V0 composition stayed zero on both model tiers, V2 cleared the four-task composition bar on both tiers and both suites, V2 also wrapped whole applications including static mockups, and Sol/V2's pre-registered lower-error prediction was falsified (22 compile errors versus Terra's 9); two Docker/fabric-session-invalid batches are retained rather than counted. - [skills-sh-surface-2026-08-28.md](packages/cf-harness/skills-sh-surface-2026-08-28.md) — what the skills.sh registry actually exposes, August 2026: a name-keyed index over third-party GitHub repositories whose documented API is closed behind a Vercel OIDC credential we cannot obtain, two undocumented unauthenticated routes the official CLI uses instead, a published `hash` that eight attempts failed to reproduce and that the reference client never verifies, the `.well-known/agent-skills` protocol next door whose digest is mandatory and checked fail-closed, an index populated by unauthenticated client telemetry, and the eight questions the survey left open. - [2026-09-10-sidecar-source-sharing.md](development/performance/2026-09-10-sidecar-source-sharing.md) — recommendation 4 source-work verification: identical OFF/ON controls halve profile-create source requests and bytes while retaining per-destination compilation and closure persistence; lifecycle red/green controls and load-limited latency evidence. - [pattern-index-retrieval-quality-2026-08-28.md](packages/cf-harness/pattern-index-retrieval-quality-2026-08-28.md) — the first retrieval-quality measurement of the cf-harness pattern index, August 2026: a 73-query labelled set whose relevance labels come from reading every discoverable entry's source rather than its description and whose four phrasing registers include the 34 observed queries extracted from all 64 console transcripts, within 44 free-text texts split as 34 scored, seven generic unscored and three negatives, hit@5 of 0.75 overall but 0.62 for component-shopping phrasing, 12 of 15 negative queries answered and every sentence-form one answered with a full page of ten because unstopped substring matching counts function words as matches, 83 of 91 first-place slots held by entries with no positive evidence at all, two static mockups ranking first on perfect term matches for real queries, and a ranking judgement separating what the existing signal can buy from what needs new signal. - [pattern-index-seed-and-quality-2026-08-28.md](packages/cf-harness/pattern-index-seed-and-quality-2026-08-28.md) — seeding and gardening the cf-harness pattern index, August 2026: a 29-entry corpus a third of which were near-duplicates and several of whose descriptions named programs they were not, six curated parameterized atoms published against demand read out of the corpus itself, discoverability split from publication, a synthetic-input rendering probe on the publish path and the two generator defects only running it revealed, 16 entries hidden with retrieval preserved and all four composition edges still resolving, and four measurement counts corrected against the raw data. - [pattern-composition-live-run-2026-08-28.md](packages/cf-harness/pattern-composition-live-run-2026-08-28.md) — a model-driven `cf:pattern:` composition in cf-harness, August 2026: two console turns in which a `pattern-author` child published a dice atom to the index and a later child found it by search and imported it by id, with no source and no pattern id crossing a delegation boundary, and the rendering and CFC-mediation caveats that run carried. - [composition-incentive-2026-08-29.md](packages/cf-harness/composition-incentive-2026-08-29.md) — what moves the incentive to compose in the cf-harness pattern index, August 2026: composition moved from a measured zero across two suites and 64 runs to three distinct tasks wiring five distinct atoms, by giving the console's parent session composition guidance it had never received and withholding the same guidance from the child, with the parent's twelve searches against the control's zero as the visible mechanism; one session imported a whole application and called it as a component, against the written prediction; a fixed task set is shown to measure composition exactly once because the loop publishes whole answers to its own tasks, and the variant that consumed parts also published them. - [abandoned-request-ending-coverage-2026-08-27.md](development/abandoned-request-ending-coverage-2026-08-27.md) — which supersession guards in the builtins' abandoned-request endings a test can reach and which cannot, the window the two closure-counter guards need that nothing signals, and the two guards that read a finished request's leftover identity as a takeover and so wrote nothing, August 2026. - [architecture-review-2026-09-05.md](plans/shuttle/architecture-review-2026-09-05.md) — architecture and implementation review of shuttle at the end of B1 (main `7ac15b4382` with #6901 and #6975 applied), September 2026: the foundation is sound and the design well recorded, but driving `cf sh` against real pieces found `cd` landing on places that do not exist, a rooted `/slugs/…` read as a piece named `slugs`, computed values served stale from storage with no label, a server-bound read that `ctrl-c` cannot interrupt with blind keystrokes replayed afterward, `get` dumping the whole `[UI]` tree, and no `help`, history, completion, or option grammar; ranks ten changes to land before B2's first write, judges the move into `packages/cli` right on the condition that `lib/shuttle/` never imports `commands/`, and names the link-write ruling and the warm set's lifecycle as the design decisions B2 needs first. - [ow45-default-app-store-incomplete-root-cause-2026-08-26.md](plans/server-execution-v2/optimize/ow45-default-app-store-incomplete-root-cause-2026-08-26.md) — root cause of the default-app campaign's sole store-incomplete red, August 2026: the off-repository launcher split browser and serving pattern-source authority, the seventh event was durably appended but stranded before served admission, and the recursive pattern-swap validation error was a finite witness of the same divergence rather than the event's refusal (raw campaign and live-probe artifacts off-repo). - [ow45-default-app-reload-post-6292-remeasure-2026-08-26.md](plans/server-execution-v2/optimize/ow45-default-app-reload-post-6292-remeasure-2026-08-26.md) — the default-app reload STEP's post-#6292 ON gate at head 37b45336a, August 2026: 9/10 and no lift, the earlier read-side residues likely closed with different evidence strengths, and the only red classified as a new store-incomplete `pattern-swap-setup-error` shape (raw run artifacts off-repo). - [memory-apply-op-2026-08-15.md](benchmarks/memory-apply-op-2026-08-15.md) — operation integration, query, checkpoint replay, and structured-document benchmark snapshot, August 2026. - [lunch-gate-evidence-2026-08-24.md](plans/server-execution-v2/optimize/lunch-gate-evidence-2026-08-24.md) — the lunch-poll ON-skip lift gate at merged head f14e44830, August 2026: 7/10 and no lift, the b04 client-start class closed on the file's own evidence, and the residue isolated as the guest profile piece's program-materialization commit never landing (raw run artifacts off-repo). - [2026-09-server-execution-topics-verification-baseline.md](development/performance/2026-09-server-execution-topics-verification-baseline.md) — initial six-recommendation campaign verification at e059494c45 and 83ee6cf73f: typed-index seed correctness in both arms, an admitted-event replica visibility gap, terminal sync and grace causality, linear watch maintenance, and repeated sidecar resolution; latency and implementation gates remain open. - [keyless-diagnosis-2026-08-27.md](plans/server-execution-v2/optimize/keyless-diagnosis-2026-08-27.md) — r06/r09 root-cause: wrong-branch optimistic navigation + keyless durability contradiction; a04 = mark-without-effects family - [topics-measure-report-2026-08-24.md](plans/server-execution-v2/optimize/topics-measure-report-2026-08-24.md) — topics tests and benchmarks ON vs OFF at tip 2ea87cea9, August 2026: the post-optimize regime on a growth-dominated workload, the settle/echo/arrival series, and the OW60 echo-drop guard at 0 fires in 20 journey runs (raw series off-repo). - [ow61-shipping-side-reexamination-2026-08-25.md](plans/server-execution-v2/optimize/ow61-shipping-side-reexamination-2026-08-25.md) — OW61's read-side cid: closure delivery guarantee re-examined at tip 9e9562177, August 2026: the prior localization falsified by measurement, the delivery-invariant probe clean across the memory and runner suites and two ensure-ON integration lanes, the memory-package coverage hole closed by a mutation-checked pin, and the ensure-ON board disagreeing between a local run (0 quarantines) and continuous integration (245 in shard 1 alone). - [ow61-client-absorb-root-cause-2026-08-25.md](plans/server-execution-v2/optimize/ow61-client-absorb-root-cause-2026-08-25.md) — OW61's client-side cid absorb defect localized and fixed on PR #6292, August 2026: a pre-watch session effect populated WatchView without reaching SpaceReplica, pinned by mutation-checked runner tests including the session-replacement epoch boundary, and verified in an ensure-ON CI shard with quarantines falling from 118 to 0. - [estuary-board-read-cost-2026-08-24.md](estuary-board-read-cost-2026-08-24.md) — why CLI projections over the Estuary topic board did not materialize while the board itself read fine (the cost is an unmemoized schema traverse: 34,826 schema walks and 52,029 `anyOf` branches in one pass), what that ruled out (version skew, a stale generation, a deficient element), and the schema-duplication leads for the OOM that preceded the rollback, August 2026. - [2026-08-14-uncovered-code-inventory.md](packages/patterns/2026-08-14-uncovered-code-inventory.md) — where the 232,303 uncovered lines in `packages/patterns` were, what a round of ten pattern tests reached, the patterns that turned out not to build, and what was left, August 2026. - [pattern-typecheck-standalone-2026-08-14.md](development/pattern-typecheck-standalone-2026-08-14.md) — why a plain `deno check` over the pattern corpus diverges from the classic-JSX environment patterns compile under, which of the twenty divergences were real defects versus lens artifacts, and the `deno task check` package-coverage gap closed alongside, August 2026. - [pattern-test-ci-coverage-investigation-2026-08-17.md](pattern-test-ci-coverage-investigation-2026-08-17.md) — investigation disproving a suspected CI coverage gap for `packages/patterns/**/*.test.tsx` (the Pattern Unit Tests job runs the full corpus) and diagnosing the clamped-import `realpath` failure that made bare `cf test` runs look rotten, August 2026. - [verbs-arc-independent-review-2026-08-14.md](verbs-arc-independent-review-2026-08-14.md) — independent full-codebase review of the landed verbs implementation arc at `5ca4c1296`, with a reconciliation against the PR #5765 review, August 2026. - [cf-view-parser-adapter-spike-2026-08.md](packages/cli/cf-view-parser-adapter-spike-2026-08.md) — Python, Go, shell, and HTML parser-adapter measurements, August 2026. - [cf-view-parser-adapter-spike-2026-08-methodology.md](packages/cli/cf-view-parser-adapter-spike-2026-08-methodology.md) — retained fixtures and procedure for the parser-adapter measurements, August 2026. - [cf-view-python-treesitter-2026-09.md](packages/cli/cf-view-python-treesitter-2026-09.md) — measurements of the shipped `cf view` Python parser path against the recorded operating maximums: lazy initialization, complete highlighting, an unpacked dependency set and compiled-binary increase unchanged from the August probe, and no parser-specific build step all inside their limits; a document parse with structure that the probe had not measured; why an edit re-colors the whole document rather than the lines the runtime reports as changed, with the sweep of 47 disagreements that settled it and the remaining incremental-parse divergence under nested error recovery; and an owned-source count of 584 lines that exceeds the 500-line maximum and starts the comparison the plan requires, alongside the replaced 863-line focused scanner measured on the same source, September 2026. - [cf-view-swift-treesitter-2026-09.md](packages/cli/cf-view-swift-treesitter-2026-09.md) — measurements of the shipped `cf view` Swift parser path, the adapter's second grammar, against the recorded operating maximums, all inside them: lazy initialization, complete highlighting, a document parse with structure, a per-keystroke re-color, a 3.72 MiB compiled-binary increase and 3.66 MiB of unpacked dependencies against the 10 MiB a later grammar may add, 200 lines of owned source against a maximum of 200, and no parser-specific build step; why the grammar comes from a package republishing the upstream release's WebAssembly build, with the digest comparison; a coverage check over 1,039 Swift files from five repositories; the highlight-query compilation cost that first put initialization over its maximum and the sibling-anchored patterns that brought it inside; the structure-walk change that did the same for document parsing; and the runtime-initialization race that loading a second grammar exposed; and the 35 ms that loading every grammar up front would have added to each interactive view, which the pager avoids by loading a grammar only for a language it shows, September 2026. - [cf-view-android-formats-2026-09.md](packages/cli/cf-view-android-formats-2026-09.md) — measurements of the shipped `cf view` Kotlin and TOML parser paths against the recorded operating maximums, with a 4.09 MiB compiled-binary increase for both, 3.30 and 0.72 MiB of unpacked dependencies, 200 and 75 lines of owned source, and no parser-specific build step; the choice between the two Kotlin grammars, with the digest comparison for the package republishing the chosen one's WebAssembly build; a coverage check over the Weaver app's 453 Kotlin files, and the line breaks before `catch` and `finally` clauses that the grammar misreads, which the adapter now gives the parser as spaces; the Kotlin grammar's incremental-parse cost behind its re-color time; the Tree-sitter properties grammar's re-color cost that led to a focused scanner for Java properties files; and the focused ProGuard and XML scanners, with a coverage check over 88 XML-family files, September 2026. - [cf-view-shell-2026-09.md](packages/cli/cf-view-shell-2026-09.md) — measurements of the shipped `cf view` shell parser path on the official Bash grammar against the recorded operating maximums, taken on a loaded machine and scaled against a TOML control; a 19.53 MiB compiled-binary increase from embedding the whole grammar package, and the build change that leaves grammar packages' generated C source and native builds out of the `cf` binary, after which shell adds 1.32 MiB and the binary is 6.05 MiB smaller than before; 19.34 MiB of unpacked dependencies, over the later-grammar maximum; 91 lines of owned source; and a coverage check over 391 shell scripts in 20 repositories, with the bracket-in-pattern constructs that leave the grammar unable to parse much of a file, September 2026. - [cf-view-hcl-2026-10.md](packages/cli/cf-view-hcl-2026-10.md) — measurements of the shipped `cf view` HCL parser path on the tree-sitter-grammars HCL grammar against the recorded operating maximums, taken on a loaded machine and scaled against a TOML control; the structure walk limited to the node types an entry can be found inside, which brought the document parse inside its maximum; and a coverage check over the Infra repository's 153 OpenTofu files, each parsed without an error and reconstructed exactly, October 2026. - [cf-view-tree-sitter-operating-envelope-2026-08.md](packages/cli/cf-view-tree-sitter-operating-envelope-2026-08.md) — lazy Python Tree-sitter timings, package and compiled-binary sizes, owned-source measurements, and accepted operating maximums for parser-backed `cf view`, August 2026. - [estuary-source-migration-2026-08-04.md](packages/patterns/lunch-poll/estuary-source-migration-2026-08-04.md) — rehearsal and live `setsrc` moving the Estuary lunch poll onto the mainline pattern, August 2026. - [two-toolchain-vintage-rehearsal.md](two-toolchain-vintage-rehearsal.md) — first old-toolchain vintage capture (2026-06-18 `home.tsx`): procedure, capture script, and measurements, August 2026. - [cf-view-language-coverage-2026-07.md](packages/cli/cf-view-language-coverage-2026-07.md) — active-repository syntax inventory and `cf view` support snapshot, July 2026. - [cf-view-rendered-markdown-impact-2026-07.md](packages/cli/cf-view-rendered-markdown-impact-2026-07.md) — source/rendered pager and Markdown feature impact report, July 2026. - [cf-json-argument-audit-2026-07.md](packages/cli/cf-json-argument-audit-2026-07.md) — command-by-command audit of `cf --json` behavior, July 2026. - [cts-docs-audit-2026-07.md](cts-docs-audit-2026-07.md) — ts-transformers/schema-generator documentation audit, July 2026. - [library-comparison.md](scripts/benchmark-object-hashing/library-comparison.md) — the stable-object-hashing library comparison that chose a per-environment SHA-256 implementation and pointed away from a full Merkle tree, March 2026. - [Release-gate integrity measurement, 2026-10-08](plans/cfc-release-gate-integrity-measurement-2026-10-08.md) — what the per-access integrity join changes at the write input gate, sink egress and the display fit, measured at `observe` and `enforce` over the runner CFC tests and the pattern suite (no divergence, no failure); the honest shapes neither suite reaches that the join refuses and per-location evaluation keeps; why the value-intrinsic carry does not rescue a direct read; and the cross-value integrity leaks outside the gates that review confirmed. - [CFC spec correspondence assessment, 2026-10-05](specs/cfc-spec-correspondence-assessment-2026-10-05.md) — how far the labs CFC implementation and documents had drifted from the specification, Lean proofs and paper in commonfabric/specs on 2026-10-05: labs CFC commits outrun specs commits by about five to one with none in the specs repository in August; the spec-change list holds 56 entries with 18 open, most recording behavior the runner already enforces; no always-loaded agent surface names the specs repository; 21 labs documents form a second spec corpus; 12 of the 98 pseudocode function names appear in the runner and the one shared critical function has nine arguments against the pseudocode's four; 509 section citations are unchecked; pins are manual and the Lean build artifacts trailed their sources by four weeks; three cases where the loop did close are recorded as the template for the process plan. - [cfc-spec-audit.md](cfc-spec-audit.md) — the CFC spec versus the packages/runner implementation, June 2026. - [invalid-state-representations-report.md](future-tasks/code-quality-tasks/invalid-state-representations-report.md) and [module-graph-import-issues-report.md](future-tasks/code-quality-tasks/module-graph-import-issues-report.md) — code-quality audits, June 2025. - [scheduler-v2/current-system-inventory.md](specs/scheduler-v2/current-system-inventory.md) — the v1 scheduler's mechanisms and their v2 dispositions, June 2026. - [PREEXISTING_BUGS.md](packages/patterns/PREEXISTING_BUGS.md) — pattern runtime bug survey, December 2025. - [piece-timeout-hangs-investigation.md](packages/cli/piece-timeout-hangs-investigation.md) — why the CLI tool-result poll was replaced event-driven and why the piece-start and sync bounds could not be removed at the CLI layer, July 2026. - [2026-07-27-session-paging-out-of-memory.md](packages/patterns/agent-sessions-debug/2026-07-27-session-paging-out-of-memory.md) — paging the agent-sessions debug table exhausts the browser runtime's heap, July 2026. - [2026-07-28-list-window-child-retention.md](packages/runner/2026-07-28-list-window-child-retention.md) — why a moving list window retained every child run it started, and what the fix covered, July 2026. - [2026-07-28-completed-transaction-retention.md](packages/runner/2026-07-28-completed-transaction-retention.md) — a completed transaction kept the activity of everything it read, and the unbounded document cache that still exhausts a browser tab, July 2026. - [2026-08-04-coverage-gate-base-branch-drift.md](development/2026-08-04-coverage-gate-base-branch-drift.md) — why Coverage Check failed `packages/runner` at random: the ratchet graded a pull request merged with a newer `main` against an older `main` baseline, August 2026. - [pattern-update-open-argument-investigation.md](plans/pattern-update-open-argument-investigation.md) — why the open-argument update class went unvalidated on the repair path, and the correction of an earlier measurement that named the wrong mechanism, July 2026. - [development/performance/2026-10-fabrichat-room-send-30-profile.md](development/performance/2026-10-fabrichat-room-send-30-profile.md) — posting the thirtieth message into a FabriChat room before and after pushed messages (commonfabric/labs#8931): the send halves to 1.2 s and its reads grow less with the room; a worker CPU profile puts the rest in the runtime's label and codec work and the wait for the write to be watched back, and the cold load's 27 s in 3 976 list-child syncs for the links the room reaches - [development/performance/2026-10-fabrichat-send-derivations.md](development/performance/2026-10-fabrichat-send-derivations.md) — the thirty-first send into a FabriChat room on the pattern-test rung before and after the room's derivations became one walk over plain entries, October 2026: four derivations over the list (439 of 493 accesses) become one of 218, runs fall from 53 to 36, and what remains over the list is the `map` builtin resolving every element's link twice per send ## Executed plans and work orders - [Estuary Topics board migration and production compaction](topics-board-compaction-2026-10-18.md) — 2026-10-18; pinned board deployment, cross-day rehearsal acceptance, authoritative post-stop compaction with all 24 full checks, 54% size reduction, installation/readback, and retained recovery evidence. - [Numbering the Topics that predate the namespace](skills/topics/references/namespace-backfill.md) — 2026-09-09 operator procedure for the Topics board's member namespace, archived 2026-09-28 once that board was numbered: the source order (board leg first, then one update per Topic, then `backfillNames`), the clone-rehearsal and team-authorization rules behind `--dangerously-allow-incompatible-schema`, what a re-run writes per Topic, what a half-finished Topic costs when the namespace holds its number and the Topic does not, which read answers the namespace half and which answers the Topic's own, and the traps — a targeted `cell set --input` write carrying none of `recordName`'s permanence guard, a moved Topic that `rollback` refuses because the old source publishes no `recordName`, a clone without the `top` slug, and a free-cell fingerprint that does not classify a Topic's input; the library's general procedure is in `packages/patterns/collection-naming/README.md`. - [Presence over the memory socket](plans/memory-presence.md) — 2026-09-27 plan, executed the same day: the memory server became the co-presence relay, with rooms under a space admitted by the memory session, a facet-keyed record a caret fills and a pointer can fill later, presence frames handled ahead of the ordered command queue, the worker and `RuntimeClient` plumbing, `cf-code-editor` moved onto the room handle, and the Cloudflare relay with its `PRESENCE_URL` configuration retired. - [`cf-code-editor` co-presence plan](plans/cf-code-editor-copresence.md) — 2026-08-26 plan for an ephemeral Cloudflare WebSocket presence plane beside Memory-owned CodeMirror collaboration; its client-side design (two-phase provisional and confirmed selections, remote carets mapped through CodeMirror transactions) shipped and stands, and its transport was superseded in September 2026 by presence rooms relayed over the memory connection, which retired the service and the `PRESENCE_URL` configuration. - [Scheduled work in the server, Part 2: deleting the background piece service](plans/scheduled-work-part-2-background-service-deletion.md) — 2026-09-02 plan, executed September 2026; the inventory and reasoning behind deleting the background piece service, its registration route, and its binary, CI job, and CI capability, including why the registry data and the registry write side were not kept; `` was retired as an inert element rather than deleted. Parts 1 and 3 remain live in `docs/plans/scheduled-work-in-the-server.md`. - [Personalized book recommendations](plans/personalized-book-recommendations.md) — 2026-09-21; executed demo plan for the personal shelf, invitation, verified visitor agent ceiling, reviewed recommendation delivery, and bounded reader privacy, with raw-server reader authorization and inbox submission authenticity explicitly deferred. - [Agent requests — implementation plan](plans/agent-requests-implementation.md) — 2026-09-20; stages 1 through 6 implemented and verified through the book demonstration, with stage 7 ceiling work retained as pending at the archival boundary. - [Agent requests from a pattern, and the queue that runs them](plans/agent-requests-and-work-queue.md) — 2026-09-20; design and rulings at the stage 6 demonstration boundary, including linked inputs and results, the per-user runner, inspection, enforcement limitations, and pending stage 7 ceiling work. - [view-replication-server-currency.md](plans/view-replication-server-currency.md) — executed plan for initial client view currency from settled server input/output evidence, with provenance, wake dependencies, and registration-only adoption. - [Pattern computation cost implementation](plans/pattern-computation-cost-implementation.md) — executed #7155 sequence, copy-based acceptance, explicit B3a deferral, and D1/D2 handoff. - [server-pattern-verbs-seed.md](plans/server-pattern-verbs-seed.md) — the seed that recorded the ruled 2026-08-24 direction for the pattern lifecycle verbs as server calls, executed September 2026 for `upload` and `instantiate`, which run on the space's serving runtime under `EXPERIMENTAL_SERVER_EXECUTION` with `cf` requesting them, while `setsrc` stays client-side because a source update's module authority needs a transaction that commits to storage itself; the live contract is `docs/features/server-pattern-lifecycle.md`. - [read-cost-budgets.md](plans/read-cost-budgets.md) — completed A3 plan for opt-in pattern-test read budgets, transaction-attempt coverage, failure diagnostics, and executable pass/fail demonstrations; shipped in #7257, September 2026. - [cli-surface-implementation.md](plans/cli-surface-implementation.md) — the execution plan for steps 4 through 7 of the CLI surface shape, August 2026: positional addresses and the `#argument` suffix, the top-level data names, the dated deprecation window that retired the piece-mounted spellings, and Stage 4's five merges, which resolved as naming rather than merging once each command was put under the noun it acts on. - [cli-surface-shape-step-10-2026-08-31.md](plans/cli-surface-shape-step-10-2026-08-31.md) — executing step 10 of the CLI surface shape (the verb opens the callable's section and `--` closes it), August 2026: a documentation sweep of twenty-one files against an estimate of twelve, because the estimating pattern used `\b` for a word boundary and on that machine `git grep -E` matched nothing with it — indistinguishably from a true count of nothing, and one command away from a `grep -E` on which the same pattern works; carries the measurements, and the trade the step made, retiring the read options' pre-positional spelling on all six reading commands in exchange for a post-positional one that works on all six. - [cli-surface-shape.md](plans/cli-surface-shape.md) — the plan for the `cf` command surface, August to October 2026, executed in two arcs: arc one put each command under the noun it acts on, through the shared read step, positional addresses with the `#argument` suffix, and two dated deprecation windows (steps 6a/6b and 7/7b) that retired the piece-mounted and then the top-level spellings; arc two settled how a caller writes what a command acts on, with an ambient `CF_SPACE`, references naming a space and a piece by name, the verb opening the callable's section and `--` closing it, and `--url` decomposing into a reference. - [content-addressed-schemas-phase-0.md](plans/content-addressed-schemas-phase-0.md) — the readers-first resolution infrastructure for content-addressed schema documents, executed 2026-08 in four stages: the pure decomposition contract (SCC cycle grouping, name-free singletons), the hash-verified schema-document registry with closure-complete resolution gating, traversal that loads and tracks reference closures, and sync-arrival registration with an event-driven dependency chase. Records the registry-lifetime decision (session-scoped retention through StorageManager leases; the lease-less memory server retains for the process lifetime as a documented caveat). - [cf-harness implementation plan](packages/cf-harness/docs/IMPLEMENTATION_PLAN.md) — April 2026 package bootstrap plan and implementation checkpoint. - [2026-03-17-ct-exec-fuse-callables.md](plans/2026-03-17-ct-exec-fuse-callables.md) and [its test plan](plans/2026-03-17-ct-exec-fuse-callables-test-plan.md) — `cf exec` and mounted callable files. - [urls-as-mentions.md](plans/urls-as-mentions.md) — the `cellFromUrl` builtin and what followed from it: a pasted piece URL becoming a mention, and a read-only filesystem projection whose edit verb reads its reference definitions back. Records why the answer could not stay synchronous, and why scanning prose for something cell-shaped is a different operation from deciding what an address names. One stage — retiring topics' hand-rolled scanner — was deliberately left undone. - [editor-mention-references.md](plans/editor-mention-references.md) — moving a mention's destination out of the note text and into a reference map, so the text carries a short local key and the destination is a live cell. Records why membership rather than token shape decides what is a mention, and why `[FS]` cannot carry the generated definition block that would have made a projected note self-contained. - [pattern-update-state-continuity.md](plans/pattern-update-state-continuity.md) — the Tier 2 state-continuity gate: capture and replay machinery, test-populated vintages, and value comparison, executed 2026-07/08. Records the measurements that decided the design, including the ones that reversed it (raw beats gzipped storage; a cross-DID restore reads fine). - [assertion-diagnostics.md](plans/assertion-diagnostics.md) — power-assert operand reporting for pattern-test assertions, with the compile-time constraints that shaped it, executed 2026-07. - [cfc-future-work-implementation.md](plans/cfc-future-work-implementation.md) — the CFC future-work epics (clause core, exchange rules/policy, observation classes, integrity floors, sqlite row-set, deployment flips), executed 2026-07. - [pattern-verb-contract-implementation.md](plans/pattern-verb-contract-implementation.md) — the verb-contract workstreams as built: the `topics` Part 1 rework, the `Stream` authoring surface, the invocation protocol with caller-supplied ids and receipt readback, and the client affordances. Records the C3 result-schema withdrawal, the closed-world event-emission migration the update gate forced, and the measurements behind each, July–August 2026. - [shaped-reads-implementation.md](plans/shaped-reads-implementation.md) — the read-layer stages, the reasoning for ordering session-scoped invocation ids ahead of anything that publishes a receipt address, and the descriptive-receipt decision, August 2026. - [verb-input-contract.md](plans/verb-input-contract.md) — the ruling that a verb's authored event is its input contract while the handler's grant stays usage-derived and dispatch delivers per the contract (#5955), with the steelman for the usage summary and the four steps the decision unlocked — contract-mode emission (#5964), the judging surfaces following it, the CLI's emitted-address conversion, and the detached-copy refusal — all landed August 2026. - [retiring-llm-tool-call-deadlines.md](development/proposals/retiring-llm-tool-call-deadlines.md) — replacing the LLM tool-call deadline with a run-scoped quiescence barrier, and narrowing the dialog message-drop heuristic the deadline's argument did not reach, executed 2026-07. - [STANDARD_DECORATORS_MIGRATION_PLAN.md](development/STANDARD_DECORATORS_MIGRATION_PLAN.md) — the cutover to standard decorators. - [content-addressed-action-identity-implementation-plan.md](specs/content-addressed-action-identity-implementation-plan.md) — the action-identity migration. - [module-loading-implementation-plan.md](specs/module-loading-implementation-plan.md) — the ESM module-record loader rollout. - [pattern-id-retirement.md](specs/pattern-id-retirement.md) — retiring pattern ids (work orders W0–W4). - [scheduler-v2/migration-plan.md](specs/scheduler-v2/migration-plan.md) — the v1→v2 scheduler migration phases, as executed (#4288). - [Initial server-execution topics campaign ledger](plans/server-execution-topics-campaign-initial-ledger.md) — 2026-09-09 verification snapshot; the six-recommendation campaign remains active. - [scheduler-v2/implementation/00-README.md](specs/scheduler-v2/implementation/00-README.md) — the scheduler-v2 work-order index and reading order. - [01-phase0-remove-push-mode.md](specs/scheduler-v2/implementation/01-phase0-remove-push-mode.md) — scheduler-v2 work order: remove push mode. - [02-phaseE0-event-identity.md](specs/scheduler-v2/implementation/02-phaseE0-event-identity.md) — scheduler-v2 work order: event identity and rejection taxonomy. - [03-phaseE1-speculation-lineage.md](specs/scheduler-v2/implementation/03-phaseE1-speculation-lineage.md) — scheduler-v2 work order: speculation lineage. - [04-phaseE2-receipts.md](specs/scheduler-v2/implementation/04-phaseE2-receipts.md) — scheduler-v2 work order: receipts as result cells. - [05-phase1-static-write-surface.md](specs/scheduler-v2/implementation/05-phase1-static-write-surface.md) — scheduler-v2 work order: static write surface. - [06-phase2-tx-identity.md](specs/scheduler-v2/implementation/06-phase2-tx-identity.md) — scheduler-v2 work order: transaction-carried identity. - [07-phase3-cutover.md](specs/scheduler-v2/implementation/07-phase3-cutover.md) — scheduler-v2 work order: node records, liveness, the new settle pass (the cutover). - [08-later-phases.md](specs/scheduler-v2/implementation/08-later-phases.md) — scheduler-v2 work order: post-cutover phases 4, 5, 7. - [PROGRESS.md](specs/scheduler-v2/implementation/PROGRESS.md) — the scheduler-v2 implementation progress log. - [persistent-scheduler-state/implementation_notes.md](specs/persistent-scheduler-state/implementation_notes.md) — implementation journal for the persistent scheduler-state rollout. - [system-pattern-updates-implementation-plan.md](specs/pattern-imports/system-pattern-updates-implementation-plan.md) — system-pattern auto-update (M0 toolshed `?identity`, M1 version gate, M2 `patternSource`, M3 in-place swap, M4 flag rollout), shipped 2026-07. - [sqlite-builtin/implementation-plan.md](specs/sqlite-builtin/implementation-plan.md) — the SQLite builtin workstreams, as built. - [PLANNED_FIXES.md](packages/cli/PLANNED_FIXES.md) — cli fix batches. - [AUTOSAVE-PLAN.md](packages/ui/src/v2/components/cf-file-download/AUTOSAVE-PLAN.md) — cf-file-download auto-save. - [2026-07-23-pathless-piece-read.md](plans/2026-07-23-pathless-piece-read.md) — why a path-less `cf piece get` returned `undefined` while every child path read fine, and the partial-object projection at the piece read boundary that fixed it, July 2026. - [test-run-telemetry.md](plans/test-run-telemetry.md) — the design of the test-run record system: the refactor-stable identity triple, the record and context line formats, the spool-then-one-upload path, the publicly readable append-only store with per-person and relay writers, and the eight stages that built it, August 2026. - [Choosing which tests a pull request runs](plans/pull-request-test-selection.md) — 2026-08-21 plan, executed when test selection went live on 2026-09-25: the reasoning behind replacing every pull request's full test run with five lanes running a scored subset, the test topology that registers a test surface once, the scoring, flake, and packing rules, the cost model and the manifests its health thresholds were read from, the coverage gate over measured sets, and reporting an escape on `main` back to the change that caused it; its status line, its figures, and its failure-modes table predate what shipped, and `docs/specs/test-selection.md` governs. - [topics-migration-rehearsal.md](plans/topics-migration-rehearsal.md) — the script written to rehearse the Estuary Topics board migration against a clone and then run it live, executed on 2026-08-27/28; its ordering, its counts and its manifest filter were all corrected by what the rehearsal and the live run found, which is why the record beside it rather than this script is the account of what happened. - [topics-board-migration-2026-08-28.md](topics-board-migration-2026-08-28.md) — the Stage B migration of the Estuary Topics board and its 125 topics: why the board moved FIRST and the children-first rule inverts when the parent's demand is what changed, that reversal through the source log is refused in both directions so recovery means restoring content, and the failures only the live run produced — every laptop run dying 4-6 minutes in on a different entity, per-row cost rising and never recovering after each transport error, and a partial apply reporting success. - [topics-number-rollout-2026-10-06.md](topics-number-rollout-2026-10-06.md) — the source push that made the Estuary Topics board's 883 topics publish the numbers they store: a staged live rollout in place of a clone rehearsal, with restore and plan rollback proven on a throwaway topic and on one real topic of each live generation first, then ten batches cut from one plan, topics before the board because the board's demand did not move, about seventy minutes of laptop apply time with no transport error in the topic batches, a title-change stop caused by someone else's rename, 218 stale comment counts refreshed and none lowered, and what it leaves unverified — no comparison of every topic's computed results, and #7806 held for its hoist renumbering. - [Lazy cell materialization](plans/lazy-cell-materialization.md) — Completed schema-observing lazy view and transaction-mode implementation; current semantics are maintained in the feature contract. - [Lazy materialization fast-follow](plans/lazy-materialization-fast-follow.md) — Completed default-on measurement and guidance plan, retaining the explicit handler deferral and independent rollout-switch decision. - [plans/fabrichat-messages-as-pushed-elements.md](plans/fabrichat-messages-as-pushed-elements.md) — executed plan (2026-10-15): a FabriChat room's messages and reactions as objects pushed onto lists, identified by their cells, with the request memory, used times, activity log, keyed records, and paging windows retired; its spike findings and the gate route it took; landed in commonfabric/labs#8931 ## Shipped or superseded designs and decision records - [Pattern computation cost design](plans/pattern-computation-cost.md) — original #7155 proposal, executed scope and separately tracked remaining lazy-materialization work. - [Collection indexes and keyed lookup](plans/collection-index-contract.md) — 2026-09-10: executed B1/B2 semantics and acceptance contract for grouping, unique-key lookup, tagged enumeration, left joins, and maintenance measurements. - [Mixed index key enumeration decision](features/2026-09-11-index-key-enumeration-decision.md) — 2026-09-11: approved Q7 tagged enumeration contract, caller consequences, alternatives, and pending acceptance requirements. - [APRIME-LINEAGE-HANDOFF.md](packages/ts-transformers/APRIME-LINEAGE-HANDOFF.md) — the authored-source lineage investigation, per-channel hazards, probes, and execution record for the CT-1868/1869/1870 arc, completed August 2026. - [agent-run-invalid-result-error-code-break.md](agent-run-invalid-result-error-code-break.md) — decision record for widening the agent-run result's `errorCode` taxonomy with `INVALID_RESULT` (#8461): why no stored record is stranded, and why every reader treats the code as text, October 2026. - [agent-run-record-handle-scope-break.md](agent-run-record-handle-scope-break.md) — decision record for moving the agent-run view's record scope from the value onto the handle (`PerUser>`) once the schema generator stopped dropping a scope wrapper reached through an alias: why a value scope on an argument slot reads an empty user instance, and why the cap strands no record, September 2026. - [agent-connector-owner-identity-break.md](agent-connector-owner-identity-break.md) — decision record for the agent connector debug pattern's pre-deployment cutover to explicit owner identity and one protected writable command cell, August 2026. - [features/llm-message-role-narrowing-break.md](features/llm-message-role-narrowing-break.md) — decision record for dropping the `system` role from `BuiltInLLMMessage` and `LLMMessageSchema`: why an enum in a deployed contract cannot narrow compatibly, why the role was a surface the guard in front of the model and the AI SDK both already refused, and why the narrowing strands no state because the runtime does not enforce an enum on read or write, September 2026. - [topics-demand-narrowing-break.md](topics-demand-narrowing-break.md) — decision record for the topics demand narrowing: why the board now requires only the eight members it uses of a stored topic, why an argument narrowing cannot be compatible, and why the published projection narrows with it, August 2026. - [collection-naming-index-rows-break.md](collection-naming-index-rows-break.md) — decision record for the collection-naming exemplar's index-row break: why a row became the member itself rather than a derived document, why the removed `member` field and the row demand's defaulted `shortName` could not be made compatible, and why nothing deployed was lost, September 2026. - [collection-naming-shortname-spelling-break.md](collection-naming-shortname-spelling-break.md) — decision record for the collection-naming exemplar's `shortName` spelling break: the three declarations that diverged from the optional spelling the Topics patterns ship, why the item's publication takes the same spelling by alignment rather than by anything the row demand imposes, and which pairing of the two the compiler does refuse, why dropping a requirement and a default cannot be compatible, and what the record does not claim — that the optional spelling deploys over a populated board, which the S6 clone rehearsal found refused for any new property on a per-member demand, September 2026. - [admin-registry-default-honored-break.md](admin-registry-default-honored-break.md) — decision record for the group chat demo's declared-defaults break: why `Default>` reached through a resolved type lost its `default: {}` in the recorded contracts, why honoring the declared default reads as an incompatible default change under `anyOf`, and which three baselines of `cfc-group-chat-demo/main.tsx` are forgiven for the `adminRegistry`, `myProfile`, and `rooms` argument and result paths. - [roster-join-event-opened.md](roster-join-event-opened.md) — decision record for the profile rosters' Join verb break: why `Record` compiled to a closed empty event the runner now enforces against the rendered button's serialized click, why `void` is the honest declaration and a different recorded stream contract, why the open-object and `unknown` alternatives fail the compatibility proof, and why nothing deployed held state under the old shape, September 2026. - [everyone-admin-write-claim-restored-break.md](everyone-admin-write-claim-restored-break.md) — decision record for the group chat demo's everyone-is-admin write-claim break: why the `true` branch of `ChatEveryoneAdminFlag` lost its `writeAuthorizedBy` claim when a canonical CFC alias formatted its payload without a node, why restoring it reads as a previously accepted alternative refused, and which two baselines of `cfc-group-chat-demo/main.tsx` are forgiven for which `adminRegistry` paths. - [loom-panel-added-by-break.md](loom-panel-added-by-break.md) — decision record for the Loom root's panel attribution break: why an optional `addedBy` DID on each `Panel` kind reads to the pattern-update proof as a narrowed union branch, why the `unknown`-typed shape that passes was rejected, and which two baselines of `loom/main.tsx` are forgiven on `argument.panels[]`, September 2026. - [loom-panel-adder-profile-break.md](loom-panel-adder-profile-break.md) — decision record for the Loom root's acting-profile break: why an optional `addedByProfile` on each `Panel` kind, whose type carries the `admitPanel` write contract and the runtime's `represents-principal` label, reads to the pattern-update proof as a narrowed union branch, why neither an `unknown` field nor a separate attribution document would do, and which baseline of `loom/main.tsx` is forgiven on `argument.panels[]`, September 2026. - [loom-panel-attested-adder-break.md](loom-panel-attested-adder-break.md) — decision record for the Loom root's attested-adder break: why each `Panel` kind's `addedBy` became `AuthoredByCurrentUser>`, written by `admitPanel` from `currentPrincipal()` instead of from the admission event, why the pattern-update proof reads it as a narrowed union branch and a removed event field, why neither a separate attested field nor an ignored event field would do, and which two baselines of `loom/main.tsx` are forgiven on which paths, October 2026. - [profile-inbox-pointer-break.md](profile-inbox-pointer-break.md) — decision record for the profile's share inbox pointer break: why the owner-protected `inbox` field the loom share inbox needs reads as `ifc changed` under profile-picker's `defaultProfile` argument against both recorded baselines, why the defaulted, consumer-optional and undefaulted shapes all fail the proof, why an unlabelled pointer was rejected on its merits (a stranger could redirect the owner's inbox), and why nothing deployed holds state the new shape refuses, September 2026. - [profile-picture-break.md](profile-picture-break.md) — decision record for the profile picture: why profiles gained a `picture` field of image bytes beside their `avatar` text rather than retyping `avatar` (stored snapshot records hold string avatars the update-time validation would refuse, and deployed readers such as the Topics board require a string), and why the update gate still reports the new optional field on four arguments where it lands on an object inside a union (battleship `player1`, profile-picker `legacyDefaultProfile`, the Topics board's `topics[].createdBy`), none of which a deployed piece can observe, October 2026. - [fabrichat-index-revision-break.md](fabrichat-index-revision-break.md) — decision record for the FabriChat index revision break: why a manager's index entry typing `revision`, and a refused request outcome typing `code`, as the manager came to list the rooms Home's shared-space catalog keeps, reads as a narrowed `requests` argument against the manager's recorded baselines, why no stored request outcome reads differently, and what happens to a manager's own list of rooms and to rooms forgotten before, October 2026. - [fabrichat-room-link-messages-break.md](fabrichat-room-link-messages-break.md) — decision record for the FabriChat room link break: why typing the room's `messages.count` and `messages.newestAt` on a manager's `ChatRoomLink` reads as a narrowed `requests` argument against the manager's recorded baseline, why no typed field could be added compatibly and an untyped one would reach a member's own documents, and why no stored room link is refused, October 2026. - [fabrichat-room-link-roster-break.md](fabrichat-room-link-roster-break.md) — decision record for the FabriChat room link roster break: why typing the room's `roster` on a manager's `ChatRoomLink`, which the manager reads to derive its `people`, reads as a narrowed `requests` argument against the manager's recorded baselines, why the room's `participants` was no alternative and an untyped field would reach each profile, and why no stored room link is refused, October 2026. - [fabrichat-pushed-messages-break.md](fabrichat-pushed-messages-break.md) — decision record for the FabriChat pushed-messages break: why a room's messages and reactions becoming objects pushed onto lists, labeled under a policy naming the new handlers, with the request memory, used times, activity log, and per-user act outcomes retired, reads as a changed `ifc` on sixty-three of the sixty-seven recorded room baselines, and on `argument.about` on the four oldest, beside a removed result, why the placement and the adapter lose the activity field, and why every room storing the keyed records is left behind rather than migrated, October 2026. - [ChatRoomActivity.md](specs/fabrichat/ChatRoomActivity.md) — the FabriChat room's recent-activity log as specified: a `seq`-numbered entry per message or reaction act, its expiry window and the `recentActivityExpiredThrough` a client caught up by; superseded when the room stopped keeping an activity log, October 2026. - [ChatMessageVersion.md](specs/fabrichat/ChatMessageVersion.md) — a FabriChat message version as specified: the body and recorded time of each earlier version a message kept, and the proposed time a send or an edit carried; superseded when messages stopped keeping history and proposed times, October 2026. - [ChatMessageWindow.md](specs/fabrichat/ChatMessageWindow.md) — a FabriChat message window as specified: a session's run of consecutive messages from one view, with what lies beyond it on either side; superseded when the room stopped offering windows, October 2026. - [ChatWindowAnchor.md](specs/fabrichat/ChatWindowAnchor.md) — a FabriChat window anchor as specified: at the newest or earliest end of a view, or around one message by its time; superseded when the room stopped offering windows, October 2026. - [fabrichat-rooms-as-roots-break.md](fabrichat-rooms-as-roots-break.md) — decision record for the FabriChat rooms-as-roots break: why a room the manager creates became its space's root, in a space declaring itself a `fabrichat-room`, and keeps its space's participants in a roster of its own, why the pattern-update gate reports nothing incompatible, and what happens to rooms created before, whose participants now read as empty and whose spaces the share intake refuses, October 2026. - [fabrichat-start-reviewed-break.md](fabrichat-start-reviewed-break.md) — decision record for the FabriChat start break: why a room's `about` record requiring a reviewed `ChatStart` from the manager's new `commitStart` reads as a changed label on the room's `about` argument against its recorded baselines, why no compatible policy could require the gesture, and why rooms that exist keep the record they have, October 2026. - [fabrichat-add-member-offer-break.md](fabrichat-add-member-offer-break.md) — decision record for the FabriChat add-member offer break: why the manager's request outcomes typing a `delivery` and a `shared-inbox` refusal code read as a narrowing of the manager's and Home's recorded `requests`, which entries name which paths, what a Home rolled forward in place sees, the manager's stored records emptied by any roll to changed manager code, and the ruling that carries Home's required-pattern override, October 2026. - [loom-meeting-binding-revert-break.md](loom-meeting-binding-revert-break.md) — decision record for the Loom meeting binding revert break: why reverting labs#8713 with labs#8715, to restore stored writer-claim enforcement, removes the Loom root's `bindMeeting` result field against the baseline its contract was recorded as, and what a root rolled forward loses, October 2026. - [fabrichat-view-scopes-break.md](fabrichat-view-scopes-break.md) — decision record for the FabriChat view scopes break: why declaring `PerSession` on the manager's `rooms` and `people` and the room's `participantEntries` and `participantPrincipals` reads as a changed scope against the manager's, the room's and Home's recorded baselines, why no declaration of the scope those fields already have is compatible, what a running piece and a Home rolled forward see, and the ruling that carries Home's required-pattern override, October 2026. - [fabrichat-view-scopes-per-user-break.md](fabrichat-view-scopes-per-user-break.md) — decision record for the FabriChat per-user view scopes break: why the manager's and room's views derived under the reader's access moved from `PerSession` to `PerUser`, why their bindings were renamed so an updated manager keeps listing its rooms, what an updated manager and room show (with the update-time warnings), what the pattern-update gate reports against the manager's, the room's and Home's baselines, and the rulings that carry it, October 2026. - [fabrichat-max-attachments-break.md](fabrichat-max-attachments-break.md) — decision record for the FabriChat `maxAttachments` break: why an optional policy key narrows the policy schema a manager's request outcomes carry, and why it strands no stored record, October 2026. - [profile-inbox-piece-break.md](profile-inbox-piece-break.md) — decision record for the profile's share inbox pointer dropping its `space` and `host` fields for a link to the inbox piece: why the pointer names the piece and not only its space (an inbox space can hold several inbox pieces, and a sender listing the space can pick one the owner never reads), why the link sits under a `piece` key rather than being the stored value (a write to a document whose root holds a link goes through into the piece), which path the update proof names in profile-home, profile-picker and home, and the ruling under which the required home pattern takes the break through the guard's new `requiredPatternOverride`, September 2026. - [collection-naming-mentionable-readonly-break.md](collection-naming-mentionable-readonly-break.md) — decision record for the collection-naming exemplar's mention-universe binding becoming readable: what a writable binding cost (a member could not be re-sourced with any source, its own bytes included, because the retained link's proof runs both directions and the demand names three of the published row's fields), why nothing writes through the binding (every published row carries `piece`, so the editor's one write reaches the piece a row stands for rather than the row), why the `asCell` transition is itself a break, and the rehearsal-store measurement of a member re-sourced before and after, September 2026. - [topics-crossref-identity-break.md](topics-crossref-identity-break.md) — decision record for the topics reference-graph contract break shipped in #5921, the first accepted break in the pattern-update registries; backfilled when the registries gained their `record` linkage. - [topics-mentionable-index-break.md](topics-mentionable-index-break.md) — decision record for the topics mention-universe contract break: why `mentionable` became one derived document of two-string rows holding each topic as an unread `piece` reference instead of the topics themselves, and why the removed row surface is the point — the wired-to-raw-topics universe multiplied every topic's resume into every sibling topic under document-granular delivery, August 2026. - [topics-mentionable-readonly-break.md](topics-mentionable-readonly-break.md) — decision record for the Topic mention-universe readable-cell contract break: why a writable handle on the board's mention index made `cf piece setsrc` refuse a Topic its own bytes, why the narrower cell is the honest declaration rather than a demand naming a field the topic never reads, and what the one forced update costs a Topic already deployed, September 2026. - [parking-admin-floor-contract-break.md](parking-admin-floor-contract-break.md) — decision record for the parking-coordinator admin-roster contract break shipped in #6091: why correcting a `requiredIntegrity` floor nothing could satisfy had to change the `ifc` at the roster's path, and why a piece holding a roster loses nothing it could have written, August 2026. - [lobby-admin-floor-contract-break.md](lobby-admin-floor-contract-break.md) — decision record for the lobby admin-roster contract break: why the roster's `requiredIntegrity` floor had to mint the atom it names, why the other four admin-registry rules already held so the mint is the whole correction, and why a piece holding a roster loses nothing it could have written, August 2026. - [lot-watch-admin-floor-contract-break.md](lot-watch-admin-floor-contract-break.md) — decision record for the Lot Watch admin-roster contract break: why an unsatisfiable `requiredIntegrity` floor had to gain the mint, the single atom, the plain per-user flag and the reviewed writer together, and why a piece holding a roster loses nothing it could have written, August 2026. - [pattern-result-ifc-contract-break.md](pattern-result-ifc-contract-break.md) — decision record for the pattern-result `ifc` contract break: why the builder stopped synthesizing a covering confidentiality clause at a pattern's result-schema root, why CFC §8.12.8 puts a dependency measurement in the derived component rather than the declared one, and what a piece deployed under the wider contract keeps and loses, September 2026. - [pattern-level-cfc-output-walk.md](pattern-level-cfc-output-walk.md) — measurement behind removing the pattern-level CFC output walk: where its swallowed `setSchema` fired across the authored pattern corpus, why letting the attachment through would have labeled the render-policy demo's own controls, and what the three affected patterns lost, September 2026. - [parking-admin-profile-subject-break.md](parking-admin-profile-subject-break.md) — decision record for the parking-coordinator admin-subject contract break: why a parking-admin role stopped naming a person by name and started naming their profile cell, and how a space starting over on the new contract recovers an admin, August 2026. - [lunch-poll-identity-break.md](lunch-poll-identity-break.md) — decision record for the lunch-poll identity contract break: display-name identity replaced by profile cells; stored rows survive the vintage replay, but the root argument contract requires migrating the populated poll to a fresh piece. - [action-id-per-instance-decision.md](specs/action-id-per-instance-decision.md) — per-instance action identity. - [per-doc-rehydration-persisted-form.md](specs/scheduler-v2/per-doc-rehydration-persisted-form.md) — the per-doc restore design for the deleted persisted-observation form. - [persistent-scheduler-state.md](specs/persistent-scheduler-state.md) — the persisted scheduler-observation form, reduced to the v2 basis index by server-execution v2 stage C. - [projection-key-classification.md](plans/projection-key-classification.md) — the four-tier classification of `--schema` projection keywords, the rule that the projection reader never hands the read boundary a schema it did not construct, and the survival rule for a source-derived `required`, August 2026. - [canonical-base-patterns.md](features/canonical-base-patterns.md) — base patterns built from a container, minimal interface types, and record-level upgrade; abandoned with the container/registry composition system it built on, August 2026. - [declared-verb-results-case.md](plans/declared-verb-results-case.md) — the case for carrying a verb's declared result on `module.resultSchema` in the interim rather than waiting for the Fabric-types stream; decided yes, conditionally, August 2026. - [cfc-render-membership-lookup.md](specs/cfc-render-membership-lookup.md) — render-time space-membership lookup. - [cfc-s16-default-transition-design.md](specs/cfc-s16-default-transition-design.md) — S16 default-label transition. - [cfc-trusted-agent-tool-integrity.md](specs/cfc-trusted-agent-tool-integrity.md) — trusted-agent tool-input integrity scoping. - [compilation-cache.md](specs/compilation-cache.md) — the removed AMD compilation cache. - [incremental-observation-adoption.md](specs/scheduler-v2/incremental-observation-adoption.md) — the subscription-carried observation adoption the stage-C reduction deleted. - [module-loading-amd-bundle-identity.md](specs/module-loading-amd-bundle-identity.md) — the removed AMD bundle pipeline and the bundle-grained identity defect that motivated content-addressed module loading. - [module-loading-verifier-and-engine-design.md](specs/module-loading-verifier-and-engine-design.md) — verifier port and engine integration. - [capability-wrappers.md](specs/pattern-construction/capability-wrappers.md) — superseded pattern-construction exploration. - [pattern-integration-tests.md](specs/pattern-construction/pattern-integration-tests.md) — early harness design the shipped harness diverged from. - [pull-based-scheduler/README.md](specs/pull-based-scheduler/README.md) — redirect stub for the retired v1 scheduler behavior reference, superseded by scheduler-v2. - [federation-pr5-design.md](development/federation-pr5-design.md) — earlier federation auth design, replaced by memory-v2 auth. - [DESIGN_ifelse_schema_injection.md](packages/ts-transformers/DESIGN_ifelse_schema_injection.md), [LITERAL_WIDENING_DESIGN.md](packages/ts-transformers/docs/LITERAL_WIDENING_DESIGN.md), and [SAFE_CONTEXT_TRANSFORMS_DESIGN.md](packages/ts-transformers/docs/SAFE_CONTEXT_TRANSFORMS_DESIGN.md) — transformer design records. - [MIGRATION_SUMMARY.md](packages/ui/src/v2/MIGRATION_SUMMARY.md) — the ui v2 migration. - [CELL_CONTROLLER_DESIGN.md](packages/ui/src/v2/core/CELL_CONTROLLER_DESIGN.md) — the pitch for the ui v2 CellController, July 2025. The controller shipped; the transaction strategies, change grouping, batching, validation and undo/redo it proposes did not. - [unified-storage-stack.md](future-tasks/unified-storage-stack.md) — DocImpl-era storage-unification plan, superseded by the v2 stack. - [hierarchical-params-spec.md](packages/ts-transformers/docs/hierarchical-params-spec.md) — hierarchical-capture implementation rationale, superseded by the behavior spec. - [pr3154-review-guide.md](specs/ts-transformer/pr3154-review-guide.md) — reviewer entrypoint for the shipped PR-3154 transformer architecture. - [chat-send-event-opened.md](chat-send-event-opened.md) — decision record for the profile and scoped group chats' Send verb break: the roster Join verb's closed-empty-event failure found again in three chat patterns wired straight to their Send buttons, why `void` is again the declaration and a different recorded stream contract, and why nothing deployed held state under the old shape, September 2026. - [cfc-chat-demo-submit-input-break.md](cfc-chat-demo-submit-input-break.md) — decision record for the CFC group chat demo's contract break: why Enter in a `cf-input` cannot drive a `TrustedActionWrite`, the move of each field and button to a `cf-submit-input` whose Enter fires a trusted click carrying the text, the removed drafts and setter streams, the existing demo entries extended because an entry is one per baseline, and the three runtime tests moved onto the drafted-chat fixture, September 2026. - [printed-type-node-revert-break.md](printed-type-node-revert-break.md) — decision record for reverting #7976: why reading a printed type node as its type lost the `PolicyOf` binding identity that only the reused authored node carried, and why `examples/fetch-program-test.tsx` and `system/knowledge-graph.tsx` return to their earlier result contracts against the baselines #7976 recorded, September 2026. - [witnessed-chain-two-level-break.md](witnessed-chain-two-level-break.md) — decision record for the witnessed-chain demo pinning two levels (`commit`, then `submit` beneath it) once input witnesses reached through the references a list of objects is stored behind: why the policy digest, and so the `ifc` of `argument.briefs[]`, changed, and why the break was accepted for a spec demo that holds no member data, September 2026. - [home-default-profile-labels-break.md](home-default-profile-labels-break.md) — decision record for home's result slot `defaultProfile` gaining the `writeAuthorizedBy`, `uiContract` and `addIntegrity` its `TrustedDefaultProfile` type declares, once the schema generator stopped dropping the labels of a labeled cell beside `undefined`: the 18 baselines the update proof names, why the labels mark the slot rather than the cell the picker writes and so gate no write (measured with swapped declared writers on `defaultProfile` and `profiles`), the upgrade run over a home created under the previous compiler, and the ruling under which the required home pattern takes the break, October 2026. - [home-default-profile-slot-break.md](home-default-profile-slot-break.md) — decision record for home's default profile moving from a link stored at the root of its own cell to a link under `profile` in a fresh slot cell, because a handle to a cell whose root holds a link denotes the linked cell and so the picker could not re-point the default: the home and picker baselines the update proof names, how existing homes keep the default they chose (the previous cell read as the default until the slot holds one) and why the picker offers no "Set default" to a home not yet run with the slot, why the picker's rows are named (CFC refuses a persisted row whose captured `homeSpace` the generator re-emits with another type set), what the slot's labels now protect (measured with a swapped declared writer), the upgrade runs over a home created under the previous source, and the rulings under which the required home pattern takes the break, October 2026. - [space-access-notices.md](features/space-access-notices.md) — the design of `noticeSpaceAccess()`, a handler's notice to a member of a space through their DID inbox: what the message holds and discloses, who may tell whom and where each check runs, the post-commit send and its once-per-event operation id, why a notice may not arrive, why a serving runtime refused the call, and `cf test`'s in-process inbox; reverted with no caller as room offers moved to a different delivery design, October 2026. - [book-recommendations-picks-break.md](book-recommendations-picks-break.md) — decision record for book-recommendations' picks becoming new books (`title`, `author`, `why`, optional `basedOn` link to the finished book) in place of a required link to a held finished book, which had made every valid result five rereads; which paths the update proof names in main, seeded-live-demo and view, and what a piece holding the old result shows, October 2026. - [pattern-compat-every-issue-paths.md](pattern-compat-every-issue-paths.md) — decision record for the accepted-break paths the pattern-update proof reported once it reported every issue in each role rather than one: the 890 paths across 36 entries that no entry named, each traced to the recorded change its baseline transition names (#8998, #9206, #8726, #6143, #5921, #6637, #6311, #5744, #8432, #8158), which of them the entry's own record names and which this record covers, and the nine named paths no pair blames, October 2026. - [fabrichat-outgoing-notices-per-user-break.md](fabrichat-outgoing-notices-per-user-break.md) — decision record for the FabriChat manager's `outgoingNotices` declared `PerUser` in its output type, following the views per user: why it waited for the update proof to report every issue in each role, the `scope changed` paths the proof reports against 27 manager and 51 Home baselines, the 13 existing entries that name them and the two new ones, the update rehearsal's reading of the notices, and the rulings, including Home's required-pattern override, October 2026. ## Investigations, journals, and working notes - [Offline verifier evidence reuse and indexed replay bounds](development/performance/2026-10-17-offline-verifier-pruning.md) — 2026-10-17; bounded paired-read/fingerprint work 1.82× faster, fixed-suffix replay independent of old-history length in the measured fixture, a 12% synthetic full-verifier improvement, and complete report/tamper parity without cross-store reconstruction shortcuts. - [Offline fingerprint reconstruction reuse](development/performance/2026-10-17-offline-fingerprint.md) — 2026-10-17; an exhaustive 26.52 GB snapshot fingerprint in 13m05s matching the maintenance baseline, byte-identical bounded reports 3.84× faster through reconstruction reuse and scoped owner/schema caching, unchanged synthetic full-compaction verdicts, and a two-process replay experiment with a smaller gain. - [The Topics export's loops and quiet weeks, replayed through the echo breaker](development/performance/2026-10-08-topics-export-traces-vs-echo-breaker.md) — 2026-10-08; the July 2026 write storms and the quiet weeks after them in the 2026-08-18 export of the Topics social space, replayed through the remote-echo breaker's detector: per session the loops ran between three and sixty echoes per ten seconds, two of the five storm documents never reach twelve in ten, the quiet weeks never put more than five changed rewrites of one reactive document in a minute, and forty seconds is the shortest window that catches every July loop at the cadence it sustained. - [Staged-reference derivation cache](development/performance/2026-09-25-staged-reference-cache/README.md) — Alternating main/cache measurements, warmed chain controls, exact metadata equivalence, and the remaining flat-map growth; probe and raw records accompany the report (2026-09-25). - [Scoped conflict recovery review](packages/runner/scoped-conflict-recovery-review-2026-09-16.md) — 2026-09-16: review of merged scoped conflict pulls, the reactive scheduler integration gap, and the regression and lifetime requirements retained from the inactive transaction-owned repair proposal. - [Where the pattern type check spends its time](development/2026-09-15-cfcheck-cost-decomposition.md) — measured cost decomposition of `deno task cfcheck` over 414 patterns: a fixed cost under four seconds against 94% variable, four disjoint slices costing what one whole run costs, transform and emit at 77% of the batch against 22% for the type check, output-identical per-file emit, one program per file in the union, per-pattern costs spanning 1 ms to 2.4 s, and what a filtered run costs at seven sizes. - [Where a unit suite's batch spends its time](development/2026-09-15-unit-suite-cost-decomposition.md) — measured cost decomposition of the `workspace-unit` and `runner-unit` test-selection batches from five lane artifacts and a workstation: serial invocations inside a batch, a `runner-unit` residual of 0.51 to 0.55 seconds a unit across a 68-fold range of batch sizes, a load-only curve of 0.216 seconds a unit through a near-zero intercept, the two-term model pricing `workspace-unit` at 1054.7 seconds against a 230-second budget, what a third per-unit term gives instead, coverage instrumentation costing 1.5 to 2.9 times, and the manifest under-costing that made the `workspace-unit` observations unusable. - [Why a suite's per-unit cost cannot be fitted as a slope](development/2026-09-18-unit-overhead-rate.md) — 130 batch observations from the 18 finished lanes of a 22-lane full run showing that the test-selection packer divides a suite evenly across lanes, so the widest gap between two batches' sizes is 22 units against a 50-unit threshold and no run can clear it; that a least-squares slope on the unit count comes out negative for six of eight suites and inside its own standard error for `workspace-unit`; that the rate each batch paid per unit is stable and agrees with the direct workstation measurement; that charging nothing per unit over-charges a three-file lane 37% of its budget and under-charges a whole-suite batch by 9% to 61%; and why deliberately unbalancing the packer was rejected. - [Reading a test's cost over its whole window](development/2026-09-28-test-cost-window-percentile.md) — 2026-09-28; eight stored forms of a day's durations read against the exact ninetieth percentile of 49,479,139 passing executions of 38,710 identities over the cost window ending 2026-09-21: the largest per-day percentile read above the exact value for 39% of identities and at least twice it for one in a hundred, the union of the 64 slowest kept per day read low for 5.5% of identities, and bucket counts at 32 per doubling read at most 2.2% high at 38% less storage; and 477 pull-request lane reports from 2026-09-22 to 2026-09-27, whose cost margin at the median falls from 27.5 s to 9.0 s under the window percentile while the lanes spending more than the 30 s safety margin past their projection go from 2 to 3, the 30 lanes that ran past their bound all having been projected past their budget before any cost margin. - [Calibrating the lanes a pull request counts for itself](development/2026-10-15-pull-request-lane-count-calibration.md) — 2026-10-15; the lane count of the change that sized pull requests' lanes from their workload, replayed over 89 pull requests run from 2026-10-10 to 2026-10-15: 36 had chosen no test by score in five lanes, at a median of 3,127 seconds of mandatory work; a discretionary target of 575 seconds puts the 53 that fit at five lanes in 22 cases and at the median, and all 89 at a median of 7 and a mean of 10.4; a model fitted to 60 lanes' durations projects 26.2 billed lane-minutes a run before and 31.1 after, plus a planning job of about 45 seconds. - [Recalibrating the lanes a pull request counts for itself](development/2026-10-16-pull-request-lane-count-recalibration.md) — 2026-10-16; the same 89 pull requests replayed once coverage gates were chosen by score rather than forcing their sets in: 74 fit in five lanes and 15 chose nothing by score, at a median of 2,908 seconds of mandatory work; a target of 575 seconds puts the 74 at five lanes in 33 cases and at the median, and all 89 at a median of 5 and a mean of 7.0; billed lane-minutes a run go from 18.8 to 20.9, plus one for the job that counts the lanes, 16% more in all. - [Test files that landed on `main` after a manifest](development/2026-10-15-test-files-new-on-main.md) — 2026-10-15; a replay of 938 pull-request runs, from 2026-10-10 to 2026-10-15, with and without forcing test files the default branch gained after the manifest's commit into every pull request: runs choosing no test by score fell from 348 to 301, seconds charged to forced stand-ins from 9.1% to 2.2% of projected time, and placements of the ten highest-scoring tests rose from 5,422 to 6,185 of 9,380; and, replayed over a third of those runs once lanes were counted from each run's work, lanes fell from 2,370 to 2,121 and placements of the fifty highest-scoring tests from 6,930 to 6,605; with the replay checked against the lanes' own logs, and the script that produced it. - [Lazy materialization reload diagnosis](development/performance/2026-09-15-lazy-reload-diagnosis.md) — Current-main eager nullable-read failures, durable-state comparison, and a wrong-page reload observation. - [Notebook reload navigation policy](development/performance/2026-09-15-notebook-reload-navigation-policy.md) — Default-on wrong-selection reproduction and reload-test correction under the existing speculative-navigation contract. - [String tuple key measurements](development/performance/2026-09-14-string-tuple-keys.md) — paired utility, consumed-label, and scheduler measurements with a reviewed migration boundary for opaque string keys. - [String tuple key replay](development/performance/2026-09-14-string-tuple-keys-replay.py) — portable replay using an isolated baseline worktree and candidate modules from a fixed checkout. - [String tuple key raw results](development/performance/2026-09-14-string-tuple-keys.results.json) — exploratory and final paired samples, benchmark reports, source hashes, and capture scripts. - [JSON Pointer encoding](development/performance/2026-09-14-encode-pointer.md) — interleaved encoder and Map lookup measurements, guarded escaping, semantic checks, and limits on deployed impact. - [JSON Pointer encoding replay](development/performance/2026-09-14-encode-pointer-replay.py) — portable adjacent-pair driver accepting baseline and fixed checkout roots and an output path. - [JSON Pointer encoding measurements](development/performance/2026-09-14-encode-pointer.results.json) — raw Deno reports, adjacent paired samples, source hashes, and replay drivers. - [Consumed label-map width](development/performance/2026-09-14-cfc-consumed-label-index.md) — paired measurements of per-document metadata validation and indexed path lookup, predicate and order regressions, and bounded nested-array probes that leave the Loom gap unresolved. - [Consumed label-map width measurements](development/performance/2026-09-14-cfc-consumed-label-index.results.json) — paired collector samples, load readings, source hashes, diagnostic drivers, and nested-array probe output. - [Consumed CFC source deduplication](development/performance/2026-09-14-cfc-consumed-source-dedup.md) — benchmark-first reproduction, five alternating source-count sweeps, identity and order checks, full runner validation, and a remaining read-count times label-map-width cost; the Loom nested-array gap remains unproven. - [Consumed CFC source measurements](development/performance/2026-09-14-cfc-consumed-source-dedup.results.json) — source hashes and deltas, exact diagnostic drivers, paired samples and load readings, initial Deno benchmark distributions, profile summary, and validation results. - [Consumed CFC field-label profile](development/performance/2026-09-14-cfc-consumed-source-dedup.cpuprofile) — V8 sampling profile of five fixed collector calls over 1,334 reads and 1,334 label entries, including untimed read setup. - [2026-09-topic-board-load-readiness.md](development/performance/2026-09-topic-board-load-readiness.md) — the August 28 topic-board load step traced to a browser-selection change exposing an unobserved shell-ready assignment and a 500 ms fallback poll; controlled browser comparison and readiness-notification fix, September 2026. - [2026-09-11-view-replication-server-currency.md](development/performance/2026-09-11-view-replication-server-currency.md) — initial server-currency adoption removes 121 authored startup executions in each of three enabled trials; records proof and revalidation cost, browser checks, and a preexisting feature-off CFC control failure. - [2026-09-11-view-replication-server-currency.results.json](development/performance/2026-09-11-view-replication-server-currency.results.json) — source hashes, exact commands, alternating startup counters and timings, profile hashes, validation failures and passes, and cleanup evidence. - [Browser process-group teardown follow-up, 2026-09-11](development/browser-process-group-teardown-2026-09-11.md) — Orphan renderers retaining browser pipes, explicit process-group ownership, and cleanup regression validation. - [Browser teardown investigation, 2026-09-11](development/browser-teardown-investigation-2026-09-11.md) — Current Chrome, detached Crashpad/updater pipe holders, controlled descriptor reproduction, and ON/OFF prototype validation. - [Scoped snapshot memo verification](development/performance/2026-09-10-scoped-snapshot-memo.md) — D3 metadata/epoch isolation regressions and exact label-view reuse counts at three sizes. - [Pattern read accounting: first-batch baseline](development/performance/2026-09-pattern-read-accounting.md) — 2026-09-10: transaction-scoped read counters, generic reduction update costs, headless lunch-poll attribution, and instrumentation overhead measurements. - [Incremental aggregate comparison](development/performance/2026-09-incremental-aggregates.md) — 2026-09-10: compiled aggregate initialization costs, paired update timings, read-work scaling, and coordinator rescan findings. - [issue-6964-investigation-2026-09-09.md](packages/cli/issue-6964-investigation-2026-09-09.md) — source-preflight store-write investigation on current main: new refused and compatible candidates persist artifacts without starting or changing the piece, fresh-runtime repeats add nothing, and CLI help plus clone-rehearsal guidance still need correction; includes an isolated CLI-library probe. - [Issue #6964: a refused check can publish module update authority](packages/cli/issue-6964-authority-follow-up-2026-09-09.md) — Follow-up proving persisted and registered predecessor delegation from a refused check using matching authored filenames (2026-09-09). - [2026-09-11-view-replication-retained-bindings.md](development/performance/2026-09-11-view-replication-retained-bindings.md) — retained partial-graph bindings remove 2,829 repeated successful bindings in a headless diagnostic; records red/green tests, remaining first executions, delayed plan delivery, and assisted browser teardown. - [2026-09-11-view-replication-retained-bindings.results.json](development/performance/2026-09-11-view-replication-retained-bindings.results.json) — exact commands, source hashes, binding/action counters, phase timestamps, validation results, and diagnostic cleanup evidence. - [2026-09-11-view-replication-startup.md](development/performance/2026-09-11-view-replication-startup.md) — startup profiles and temporary counters identify graph-wide teardown of partial registrations, 2,829 repeated successful bindings, and scheduler-wide registry waits. - [2026-09-11-view-replication-startup.results.json](development/performance/2026-09-11-view-replication-startup.results.json) — matched startup profiles, source hashes, IPC and server counters, installation and action records, flag checks, and exact probe-restoration evidence. - [2026-09-11-view-replication-main-interleaved.md](development/performance/2026-09-11-view-replication-main-interleaved.md) — six interleaved headless 30-topic trials after updating to main, with server execution enabled in both arms, retained startup and mount waits, and shared-machine load limits. - [2026-09-11-view-replication-main-interleaved.results.json](development/performance/2026-09-11-view-replication-main-interleaved.results.json) — source hashes, all six flag checks, commands, individual phases, terminal IPC outcomes, server counters, and validation for the post-main campaign. - [2026-09-10-view-replication-timeouts.md](development/performance/2026-09-10-view-replication-timeouts.md) — unprofiled 60-second timeout reproduction, terminal IPC failure accounting, bounded producer proofs, immutable fingerprint caching, and final headless checks with remaining graph-registration costs. - [2026-09-10-view-replication-timeouts.results.json](development/performance/2026-09-10-view-replication-timeouts.results.json) — staged controls, source hashes, client and server flag checks, failure outcomes, phase timings, profiles, and validation results for the timeout investigation. - [2026-09-10-topic-open-gap.md](development/performance/2026-09-10-topic-open-gap.md) — three unprofiled repetitions measure a 658 ms median replication gap; matched profiles distinguish server query and graph-startup work during navigation from a separate client producer-validation stall before the click. - [2026-09-10-topic-open-gap.results.json](development/performance/2026-09-10-topic-open-gap.results.json) — individual topic-open results, phase timings, clipped server spans, CPU attribution, source hashes, flag checks, command outcomes, and sleep evidence. - [2026-09-10-view-scoped-replication-invalidation.md](development/performance/2026-09-10-view-scoped-replication-invalidation.md) — UI-read invalidation and incremental view-query refresh reduce traversal calls by 45% in a navigation profile; records final headless comparisons, remaining topic-open overhead, a rejected snapshot-hash implementation, an unresolved timeout, and validation boundaries. - [2026-09-10-view-scoped-replication-invalidation.results.json](development/performance/2026-09-10-view-scoped-replication-invalidation.results.json) — raw benchmark arms, source hashes, flag checks, calibration, snapshot spikes, diagnostic counters, and validation outcomes for the invalidation investigation. - [2026-09-10-view-scoped-replication-frequency.md](development/performance/2026-09-10-view-scoped-replication-frequency.md) — follow-up headless traces identify unchanged plans on quiet serving cycles and repeated full view-query evaluation; both arms execute 90 server actions, and the next invalidation boundaries are recorded. - [2026-09-10-view-scoped-replication-frequency.results.json](development/performance/2026-09-10-view-scoped-replication-frequency.results.json) — raw counters, timings, and commands for the headless view-planning frequency investigation. - [2026-09-10-view-scoped-replication-performance.md](development/performance/2026-09-10-view-scoped-replication-performance.md) — indexed observed-dependency traversal, detached-session planning, incremental delivery, and compact producer certificates reduce the enabled 30-topic journey from 14.92s to 3.15s; records remaining navigation overhead, successful 100-topic rendering after indexing, headless controls, and validation. - [2026-09-10-view-scoped-replication-performance.results.json](development/performance/2026-09-10-view-scoped-replication-performance.results.json) — benchmark arms, planner profiles, and validation results for indexed view planning and incremental delivery. - [issue-6965-investigation-2026-09-08.md](packages/cli/issue-6965-investigation-2026-09-08.md) — forced links to undeclared inputs reproduce silent writes and inconsistent reads; the array refusal is isolated to fresh-replica preflight, while actual source update and update-before-bind controls succeed on a minimal compiled-pattern fixture. - [2026-09-08-setsrc-check-heap-investigation.md](packages/piece/2026-09-08-setsrc-check-heap-investigation.md) — investigation of #6969: a 22-document acyclic graph exhausts the preflight heap through default-merge equality hashing; includes an emulated reproducer, read-activity counts, CPU attribution, and a partial experimental repair, with the deployed Topics board still unverified. - [2026-09-event-visibility-before-deferral.md](development/performance/2026-09-event-visibility-before-deferral.md) — recommendation 3 of the server-execution topics campaign: a delayed serving replica let a durable watermark cover unqueued events; records the ordered visibility barrier, retained coverage floor, nine deterministic controls, and six failing mutations, with no quiet-machine latency claim, September 2026. - [plans/topics-numbering-rehearsal-2026-09-22.md](plans/topics-numbering-rehearsal-2026-09-22.md) — the two clone rehearsals of the whole Topics numbering procedure on the #7774 source, at Estuary's deployed revision, September 2026: 451 of 451 Topics retargeted with nothing removed and authored fields byte-identical, one Topic the backfill missed in both passes, rollback refused, and the free-cell and `top/` checks that did not see what they were for - [plans/collection-naming-s6-backfill-rehearsal-rerun-2026-09-06.md](plans/collection-naming-s6-backfill-rehearsal-rerun-2026-09-06.md) — the second clone rehearsal of S6 item 4, run at `a8f9d0874e` after #6987 and #6990, September 2026: on a clone whose three Topics were filed through the pre-graft `addTopic`, forcing the board and then each Topic past the schema refusals with `--dangerously-allow-incompatible-schema` reported `removed 0` at every step, 29 commits for the board and 11 per Topic, and one added key in each of four argument documents (`names: {}` on the board, `boardNames: []` on each Topic), with the board's count and index read before and after returning the same three titles; the topic leg's `setsrc --check` answered `argument.mentionable: asCell changed` for the current source and the older `mentionable[].piece` refusal for the pre-graft one, over the same Topic — one candidate each, so the record does not say which property in either source the refusal follows from; the removal case runs on a purpose-built instrument, because neither board pattern read at that commit publishes a verb that removes a member and three by-hand routes on the Topics board were refused, and a negative control carrying the pre-#6987 walk fails beside it in the same store — name `1` following the slot to whoever shifted up and name `4` resolving to nothing — with the instruments' entire diff quoted, including the two display strings the record states it does not isolate; and two things the first rehearsal's list does not carry, that two consecutive `index --step` reads of one board reported `shortName` values its members no longer reported while the address already disagreed, and that of three `--check` runs against one piece only the one whose compiled module set was new to the space wrote anything. Closes with a stated-limitations section naming what it does not establish. - [plans/collection-naming-board-demand-measurement-2026-09-07.md](plans/collection-naming-board-demand-measurement-2026-09-07.md) — the measurement run at `cbdf66c3cf` for collection-naming decision 14's open question, whether a member can declare a demand over its board that reaches only the board's derived tables, September 2026: three arms on the exemplar board (two wired table links, one `board` input naming the two tables, and one naming the members too) measured by the memory server's `graph.query` over a member's argument document at N = 2 to 40; the instrument shown to register growth by the members-naming arm, a schema-varying probe and a one-property mutation; the instrument bug hit first, a root selector path of `["value"]` to which the server prepends `value` again, which returned counts unchanged across N in every arm including the members-naming one; and, with the element schemas held equal, the same document and byte counts at N = 2, 10 and 40 whether the walk is rooted at the board or at the two tables; concludes buildable as ruled with no runtime change, and closes with stated limitations, among them that the one-input arm's constant difference over the wired arm is not attributed by document and that equal counts were not compared by content. - [packages/patterns/topics/board-demand-remeasure-2026-09-15.md](packages/patterns/topics/board-demand-remeasure-2026-09-15.md) — one topic's declared demand over its Topics board measured again after #7480 on a rig branch based on main, September 2026: the other-topic document counts #7439 reports are the same at N = 4 to 40 (`boardCrossrefs` and `boardNames` each N − 1, `mentionable` none) while every byte figure is lower, each difference named and none attributed; with `boardNames` removed from the demand the board as it stands still reaches N − 1 other topics; a prototype pivot row holding topic identities as strings brings `boardCrossrefs` to no other topic at every N and density measured, while `boardNames` reaches N − 1 in the same store; and stated limitations, among them that the prototype's identity holds only within one space and scope and that other-topic documents are the ones two classification rules attribute. - [plans/collection-naming-lenient-naming-experiment-2026-09-14.md](plans/collection-naming-lenient-naming-experiment-2026-09-14.md) — the local lenient-naming experiment on branch `experiment/lenient-naming` (head `8a194f9bcf`, not pushed) and its follow-up checks, September 2026: a board declaring its members' `shortName` as optional `unknown` accepted over seven members filed before it had a namespace, where declaring it `string` was refused; the members retargeted onto an item taking decision 14's one `board` input, which stores a default record rather than a link; `backfillNames` and `/top/` resolution; `cf piece repair` refusing to write the board link (`/board/namesTable would be lost by the write`, and an input-schema refusal for a two-pass repair) where one `cf piece link` per member wrote it, with discovery counts reaching zero and controls for idempotence, removal and a newly filed unbound member; check 3, where a member read its name only after the board's `namesTable` was read with `--step`, the same with lazy materialization off, while with server execution on, measured on copies of the store, the first member read carried it; check 4, the two stored link forms (`addItem` naming a slot document, `backfillNames` the result document), which for the cases checked broke neither double naming, reverse lookup, resolution nor removal; and a browser check whose first run, whose reads reported no badge without waiting for one, is kept and marked broken, and whose second run showed no badge within 300000 ms on a member opened before its board and a badge after the board was opened; every quote copied in from the unpushed branch, with the survey validator's reach, the scheduling explanation, an `equals` caveat and the wait bound marked as read in code. - [plans/collection-naming-s6-backfill-rehearsal-2026-09-05.md](plans/collection-naming-s6-backfill-rehearsal-2026-09-05.md) — the clone rehearsal of S6 item 4, the Topics member-namespace backfill and its operator link-bind, September 2026: the gap reproduced exactly as designed — `backfillNames` wrote the names into the board's map while the Topics filed before the namespace went on reading none — and one `cf piece link` of `namesTable` onto each Topic's `boardNames` closed it, verified against a Topic filed through `addTopic` reading its name in the same board and against a second Topic deliberately left unbound; the deploy that must precede both was refused on BOTH legs by `setsrc --check` over a genuine pre-graft clone, and a probe adding `probeField?: string` (or `probeField?: unknown`) to `TopicDemand` and nothing else produced the identical refusal, showing it is any new property on a per-member demand rather than `shortName`, which `pattern-compat` and `pattern-vintage` cannot see because neither examines the schema recorded on a link into a sibling piece; also records an older blocker that stops a Topic being re-sourced with its own bytes, that `/top/` resolves without the bind while `shortName` does not, that the first read after a backfill can report no name for a correctly wired Topic, that `setsrc --check` itself writes to the store, and that `--allow-non-existing` on `piece link` is a silent success that poisons the piece against its own next migration; the three tool findings were filed as #6964, #6965 and #6968. - [development/silent-partial-apply-2026-08-27.md](development/silent-partial-apply-2026-08-27.md) — the one observed run of `cf piece retarget --apply` that wrote 75 of 125 rows, printed no summary and exited 0: the banner spacing that places the stall at the fourth session's open, the floating `main()` that lets Deno drain and exit silently at zero, why the unit tests (deferred disposal) and the drill (five real sessions, passing) could not produce it, and the parent/child migration the same rehearsal could reverse by no route at all — rollback, restore and a backwards retarget with the override stamped each refused, because both directions fail argument validation against real data rather than the schema-compatibility proof that flag waives; carries the walk that recovers a prior deployment's whole module graph from a snapshot, and the unexplained identity mismatch when its files are replayed, August 2026. - [development/2026-08-verbs-arc-claims-that-failed-measurement.md](development/2026-08-verbs-arc-claims-that-failed-measurement.md) — twelve load-bearing claims about the verbs arc that were false when measured, three measurement tools that produced transcripts indistinguishable from success, and what the failures had in common: every one was a restatement rather than a fresh reading, and none was caught by a mechanism. - [2026-08-settle-does-not-cover-a-wish-launched-surface.md](development/debugging/2026-08-settle-does-not-cover-a-wish-launched-surface.md) — why a settled view was one the `#profile` wish's create surface had not reached yet: the surface comes from a pattern the runtime fetches after sending the `[UI]` that renders it, and nothing counted that launch as outstanding work. Carries the in-page measurements and the reason the same surface sometimes never arrived at all, August 2026. - [2026-08-lunch-poll-join-name-fill-timeout.md](development/debugging/2026-08-lunch-poll-join-name-fill-timeout.md) — why the lunch poll's intermittent `#lp-join-name` fill timeout is not a fill-helper problem: the field never renders because the "Continue as guest" handler's write does not reach the rendered view, and settling the view before the fill does not change it. Includes a local reproduction, August 2026. - [Incremental watch maintenance](development/performance/2026-09-incremental-watch-maintenance.md) — 2026-09-10; recommendation 2 work-count verification, transactional implementation, rollback and race controls, and explicit latency limitations. - [Incremental watch review follow-up](development/performance/2026-09-incremental-watch-review.md) — 2026-09-10; review fixes, coverage diagnosis, source admission controls, workload-label correction, and ON health characterization. - [cf-harness Loom migration notes](packages/cf-harness/docs/LOOM_MIGRATION_NOTES.md) — April 2026 pre-integration assessment of Loom's Codex batch and interactive paths. - [bug3-suggestion-alias-verification-2026-07.md](packages/patterns/bug3-suggestion-alias-verification-2026-07.md) — verification that the December 2025 survey's Bug 3 (Counter values rendering as raw `$alias` objects when instantiated via `fetchAndRunPattern`) does not reproduce; the dynamically-compiled render path resolves reactive and computed values correctly, July 2026. - [2026-08-18-record-icon-per-instance-cost.md](packages/patterns/2026-08-18-record-icon-per-instance-cost.md) — the reported superlinear build cost for `record-icon.tsx` does not reproduce, measured at four tree states including the one it was reported from; what is real is 55 KB of durable state per instance, 87% of it one verbatim copy of the emoji picker's 417-entry item list; `dietary-restrictions.tsx` has the same shape through a list its pattern body derives, and `relationship.tsx` spends 35 KB an instance with no large constant at all, August 2026. - [reverse-invalidation-deadlock.md](packages/fuse/reverse-invalidation-deadlock.md) — root cause of the FUSE daemon hang that flaked the CLI FUSE integration suite: synchronous reverse invalidation deadlocking the request thread, July 2026. - [2026-07-fuse-t-integration-flake-accumulated-nfs-state.md](packages/fuse/2026-07-fuse-t-integration-flake-accumulated-nfs-state.md) — a FUSE-T integration-suite failure that looked like a #4811 daemon regression but was accumulated stale kernel NFS mounts from SIGKILL churn; directory visibility works via mtime plus the NFS attribute-cache bound, not `notify_inval_entry`, July 2026. - [settle-wave-2026-03-findings.md](development/debugging/settle-wave-2026-03-findings.md) — March 2026 settle-wave measurements. - [2026-09-10-demand-grace-decision.md](development/performance/2026-09-10-demand-grace-decision.md) — recommendation 6 keeps the flush deadline and demand grace, with controlled callback, pass, closure, serving-session and input-bypass evidence and explicit limits on latency attribution. - [2026-07-cf-profile-capture-exit-130.md](development/debugging/2026-07-cf-profile-capture-exit-130.md) — root cause of the cf-profile capture exit-130 CI flake, July 2026. - [2026-07-group-chat-idempotency-false-positive.md](development/debugging/2026-07-group-chat-idempotency-false-positive.md) — root cause of the group-chat idempotency false-positive CI flake, July 2026. - [2026-09-17-lunch-poll-swatch-stall-return.md](development/debugging/2026-09-17-lunch-poll-swatch-stall-return.md) — the lunch-poll swatch stall on the server-execution ON arm, reproduced on main and characterized: one browser's "All options" swatch subtree is derived once before the votes and never again, #7586 raises the rate by removing the rescan that used to repair it, and a growing toolshed store raises it too — which voided a first bisect, September 2026. - [default-app-note-create.md](development/performance/default-app-note-create.md), [two-browsers-cold-start.md](development/performance/two-browsers-cold-start.md), and [pattern-integration-compile-bound.md](development/performance/pattern-integration-compile-bound.md) — June 2026 profiling snapshots. - [2026-07-pattern-capability-ci-duration-increase.md](development/performance/2026-07-pattern-capability-ci-duration-increase.md) — root cause of the July 2026 labs CI duration increase: two unsharded pattern time-capability sweeps, especially the 56-pattern sweep on shard 3. - [2026-07-ci-duration-profile.md](development/performance/2026-07-ci-duration-profile.md) — July 2026 Deno Workflow profile, including compile-cache validation, duplicate work, workspace shard balance, and follow-up experiments. - [2026-09-cfc-gate-read-set-eager-build.md](development/performance/2026-09-cfc-gate-read-set-eager-build.md) — why the connectors debug-view suite ran 25 times slower under `cfcFlowLabels: persist`, September 2026: the CFC write gate resolved the stored label of every read the transaction made, once per write target, and on this workload no schema entry declared a requirement that consults the result — the set was assembled 4,356 times and consulted zero times, at 4.16 million label resolutions and 3.28 billion `deepEqual` comparisons; records that deferring the whole assembly silently dropped two fail-closed refusals for a transaction whose read source carried an envelope this build cannot interpret, one by version and one by shape, neither caught by the 172-file CFC suite, the second of which also made the measurement dial change an enforcement outcome; and that the #6721 redundant-entry collapse drops 0.7% of entries on this path while the quadratic structural deduplication under `mergeLabelValues` stands. - [2026-07-binary-artifact-transfer.md](development/performance/2026-07-binary-artifact-transfer.md) — binary artifact file and byte transfer snapshot before the per-binary workflow split, July 2026. - [2026-08-scheduler-liveness-maintenance.md](development/performance/2026-08-scheduler-liveness-maintenance.md) — why deriving demand refcounts from the roots on every change cost a growing list cubic work, and what incremental maintenance measured instead, August 2026. - [2026-08-read-modify-write-artifact-walk.md](development/performance/2026-08-read-modify-write-artifact-walk.md) — why reading a list, changing one element, and writing it back grew seven times more expensive: the builder-artifact walk on the raw write path read into the query results a read hands out, August 2026. - [2026-08-storage-manager-construction-cost.md](development/performance/2026-08-storage-manager-construction-cost.md) — the tenfold step in the immutable-cell storage-manager benchmark traced to an eager default-route resolution in the constructor, why the benchmark times only construction, and why the guard for it counts URL parses rather than comparing values, August 2026. - [2026-08-schemaless-read-membership-walk.md](development/performance/2026-08-schemaless-read-membership-walk.md) — why the schemaless whole-array read benchmarks stepped by two to three times: the storage read path re-derived, per read, that what the replica holds is a `FabricValue`, August 2026. - [2026-08-immutable-cell-data-uri-mint.md](development/performance/2026-08-immutable-cell-data-uri-mint.md) — the two July 2026 steps in the create-data-URI benchmark: a byte array allocated per mint on the way to the base64url payload, which is fixed, and the canonical `FabricValue` encoding, whose cost is the price of content addressing and stays. - [2026-08-subscription-sync-replay-registry.md](development/performance/2026-08-subscription-sync-replay-registry.md) — why registering many selectors on one document got a quarter slower: the replay registry hashed a key on every `sync()` call. Also why the write-vs-commit benchmark alongside it was not a regression at all, and how normalizing by a run median can manufacture a step, August 2026. - [2026-08-benchmark-headline-machine-noise.md](development/performance/2026-08-benchmark-headline-machine-noise.md) — why the dashboard's 21% benchmark headline was mostly the host two runs landed on: the runner group serves several machines under one processor name, and neither the artifact nor the tile could tell them apart. August 2026. - [2026-08-loopback-timer-turn-frame-cost.md](development/performance/2026-08-loopback-timer-turn-frame-cost.md) — the real regression left behind once that machine noise was divided out: moving loopback delivery onto timer turns cost one zero-delay `setTimeout` per server frame and a second per fan-out, and waking Deno's event loop for one takes about two milliseconds. Also why a posted message could not replace it, August 2026. - [2026-08-schema-traversal-redundancy.md](development/performance/2026-08-schema-traversal-redundancy.md) — the whole-result projections four `cf` callers made to pluck one top-level name, why the read-path verb guard was reading a link where the stream sentinel was not, and what enabling the read path's memo with the link in its key recovered from a union-heavy whole-result read, August 2026. - [2026-08-cell-bench-micro-steps.md](development/performance/2026-08-cell-bench-micro-steps.md) — why the two `cell.bench.ts` steps inside the 21% benchmark headline are not regressions: one stalled runner sample per run, folded into the average the trend read, August 2026. - [2026-09-lunch-poll-where-the-time-goes.md](development/performance/2026-09-lunch-poll-where-the-time-goes.md) — where the lunch poll spends its time at the deployed 14-option shape, measured across the pattern test, the headless probe, two browsers, and the serving toolshed: a browser vote is mostly waiting on client-side graph-watch refreshes the server answers in milliseconds, cold load scales with close to fifty pattern instances, concurrent voters churn optimistic commits, and every union-narrowed read through a lazy view content-hashes its schema for interning, September 2026. - [2026-09-lunch-poll-observer-conflicts.md](development/performance/2026-09-lunch-poll-observer-conflicts.md) — the commit conflicts a lunch-poll client raises when it only observes while one other client votes, headless and in two browsers: five startup refusals headless, about eighteen per added option in the browser, all the first run of per-option viewer-dependent derivations racing on their redirect slot, with the identity rule absorbing more than half of the server's staleness refusals and the sound fix placed in how the runtime writes a derivation's slot. - [2026-09-cf-cli-topics-board-cost.md](development/performance/2026-09-cf-cli-topics-board-cost.md) — what a cf CLI call against the 217-topic Topics board costs, measured on a clone of the Estuary space, September 2026: a survey that receives 25 MB to print 60 KB and sends 224 commits of which 223 are rejected, an addTopic whose retried handler is rescued only by an eager diagnostic walk of 67,000 reads, and the seven findings — discovery width, pre-sync width, the diagnostic in the commit basis, the silent retry skip, the pivot's link resolution, the root bootstrap, and the whole-watch-set refresh. - [2026-09-cfc-label-join-decomposition.md](development/performance/2026-09-cfc-label-join-decomposition.md) — what each half of the CFC label-join fix bought, September 2026: collecting a join's parts and deduplicating once is 43 times at a 256-entry stored label map and keying the deduplication is 18 times, and because they remove different factors — the repetition and the square inside what repeats — together they are 137; records the scan-against-group crossover measurement the deduplication's limit of 16 comes from, including the band above every limit where grouping loses to a scan on atoms that differ at their first property, and a third accumulating fold in `coalesceLabelEntries` measured at 20 entries per call and left alone; the labels were held fixed both by making every call compute the replaced version alongside the new one and throw on a difference, and by comparing all 720 persisted CFC envelopes in canonical form. - [2026-09-11-serving-cold-activation.md](development/performance/2026-09-11-serving-cold-activation.md) — where a serving toolshed under the store read-through spends its time on a 30-topic board, September 2026: a cold activation cost 14 to 20 s because the read-through dropped every document whose schema metadata named a stored schema document and read it again on each access, and three quarters of its store reads were re-syncs of held documents; with both closed a cold activation reads 4.2k documents and takes about 5 s in the resume pre-sync of 68 pieces, a warm board is under 2 s and server-idle, and the remaining time sits in the browser worker's own resume pre-sync. - [2026-09-11-serving-presync-drop-attempt.md](development/performance/2026-09-11-serving-presync-drop-attempt.md) — an attempt to drop the serving runtime's resume pre-sync under the store read-through, September 2026: the skip stalls the 30-topic board because the pre-sync's first-load frames are what put a resumed piece's actions to work before any demand row names their outputs, so a replacement first-run trigger is needed; the attempt surfaced and closed an unawaited lease-lost park that released its lease through a closed engine and two watermark waits that read the engine's head as the authored seq. - [2026-08-topics-create-off-screen.md](development/performance/2026-08-topics-create-off-screen.md) — why filing a topic on the team's 105-topic board takes 33 seconds, decomposed off screen and on: the pattern's own JavaScript is 0.1% of the CPU, two growth terms belong to the pattern and one to the write path's re-walk of the list against its element schema, the per-create floor is encoding, hashing, freezing, and committing a dozen documents, a browser showing the board roughly doubles it — of which the paint is five percent — and the schema memo is enabled on the query path where 92% of its entries are never read and absent from the read path, where the CLI's whole-result reads against the real board traverse eighty-three thousand schema nodes unmemoized to fetch two scalars per row, August 2026. - [coverage-flake-cfc-spec-gallery-view-2026-09-01.md](development/coverage-flake-cfc-spec-gallery-view-2026-09-01.md) — why `packages/patterns` measured 29111 uncovered lines on a `main` run and 29174 on the pull request graded against it: 132 lines of one pattern that only a rendered view reaches, left to an integration lane whose report for that file a later test file on the same shard overwrote, September 2026. - [coverage-flake-child-already-exited-2026-09-11.md](development/coverage-flake-child-already-exited-2026-09-11.md) — why `packages/connectors` measured 639 uncovered lines on a `main` run and 640 on the pull request graded against it: the empty `catch` beside the `SIGTERM` a Codex client sends, which runs only when the runtime reaped the child before the stop arrived, and which one call in twenty-seven reached on the baseline and none reached on the pull request, September 2026. - [coverage-flake-executor-contention-paths-2026-08-26.md](development/coverage-flake-executor-contention-paths-2026-08-26.md) — why `packages/runner` measured 5717 uncovered lines on a `main` run and 5727 on the pull request graded against it: three server-executor paths that run only when another process already holds the lease or another commit already appended to the stream, each reached by one shard's accident, August 2026. - [coverage-flake-fetch-writeback-refusal-2026-08-24.md](development/coverage-flake-fetch-writeback-refusal-2026-08-24.md) — why `packages/runner` measured 5751 uncovered lines on a `main` run and 5756 on the pull request graded against it: the fetch builtins' report for a completion writeback the storage layer refused, which one pattern integration shard reached once and no other artifact reached at all, August 2026. - [coverage-flake-foreign-space-withdrawal-2026-08-26.md](development/coverage-flake-foreign-space-withdrawal-2026-08-26.md) — why `packages/runner` measured 5723 uncovered lines on a `main` run and 5724 on the pull request graded against it: the wave withdrawal loop's skip for a contribution that did not cross into the failed foreign space, reached only when the wave happened to be carrying one, August 2026. - [coverage-flake-gate-git-walk-2026-09-17.md](development/coverage-flake-gate-git-walk-2026-09-17.md) — why `tasks` measured 1774 uncovered lines on two runs of one pull request branch and 1775 on the next: the empty `catch` beside the `kill()` the coverage gate sends the `git rev-list` whose output it is reading, which runs only when the runtime reaped git before the walk's teardown reached the signal, and which two of nine calls reached on one run and none reached on the next; with the signal removed, since closing the read is what stops git, September 2026. - [coverage-flake-idempotency-dedup-2026-08-12.md](development/coverage-flake-idempotency-dedup-2026-08-12.md) — which two lines a benchmark-only pull request was charged for, and why the suggestion comment could not name a file: a guard reached only when one action is caught non-idempotent twice in a process, August 2026. - [coverage-drift-runner-and-transformers-2026-08-18.md](development/coverage-drift-runner-and-transformers-2026-08-18.md) — which lines moved the coverage counts of `packages/runner`, `packages/ts-transformers` and `packages/schema-generator` across nine consecutive `main` runs, why the reported movement in `packages/fuse` and `packages/runner` on one pull request was a moved ratchet baseline rather than measurement, and which of the moving lines were left alone, August 2026. - [coverage-flake-list-resume-seed-2026-08-20.md](development/coverage-flake-list-resume-seed-2026-08-20.md) — why `packages/runner` measured 4562 uncovered lines on a `main` run and 4565 on the pull request graded against it: the list coordinators' resume-seed failure report, which one workspace shard reached three times and no other artifact reached at all, August 2026. - [coverage-flake-shared-callback-line-2026-09-16.md](development/coverage-flake-shared-callback-line-2026-09-16.md) — why `packages/runner` measured 5314 uncovered lines on a `main` run and 5316 on the pull request graded against it: three lines where one callback argument ends and the next begins, which `deno coverage` reports uncovered unless one measurement ran both callbacks, left uncovered when a test file the pull request added repacked the shards and moved the test files that reach the two arms apart; with the accounting that separates them from one line of the pull request's own changed code and two it covered, September 2026. - [coverage-flake-patch-remove-missing-key-2026-08-17.md](development/coverage-flake-patch-remove-missing-key-2026-08-17.md) — why `packages/memory` measured 641 uncovered lines in one run of a pull request and 643 in the next: a patch-rejection throw that only the runner integration job reached, and only when two writers raced, August 2026. - [coverage-ratchet-noise-2026-07-28.md](development/coverage-ratchet-noise-2026-07-28.md) — why a rename-only pull request owed coverage debt: a wall-clock-guarded diagnostic and a shard re-partition each moved the `packages/runner` uncovered-line count with no change to that package, July 2026. - [coverage-ratchet-stale-run-listing-2026-09-17.md](development/coverage-ratchet-stale-run-listing-2026-09-17.md) — why four Coverage Check jobs passed while gating no source group: GitHub answered the filtered listing of `main` runs with a window that ended on 2026-08-22, so a baseline that existed was reported missing and every group came out `excl`, September 2026. - [scoped-cells-field-notes.md](development/scoped-cells-field-notes.md) — field journal from the first scoped-cell patterns. - [2026-07-02-convergence-evidence-appendix.md](plans/2026-07-02-convergence-evidence-appendix.md) — convergence-investigation evidence. - [cellset-lww-context.md](specs/memory-v2/cellset-lww-context.md) — working context for the cellset LWW fix. - [scheduler-v2/addenda/00-README.md](specs/scheduler-v2/addenda/00-README.md) — index of the scheduler-v2 performance-investigation addenda, June–July 2026. - [01-headline-and-node-multiplication.md](specs/scheduler-v2/addenda/01-headline-and-node-multiplication.md) — scheduler-v2 addendum: the headline A/B regression root-caused to node multiplication. - [02-multi-runtime-amplification-and-commit-cost.md](specs/scheduler-v2/addenda/02-multi-runtime-amplification-and-commit-cost.md) — scheduler-v2 addendum: multi-runtime commit/push amplification and per-commit cost. - [03-transaction-census.md](specs/scheduler-v2/addenda/03-transaction-census.md) — scheduler-v2 addendum: census of what the extra commits are. - [04-refuted-free-fixes.md](specs/scheduler-v2/addenda/04-refuted-free-fixes.md) — scheduler-v2 addendum: refuted free fixes (declared reads, asCell read-depth). - [05-serialized-scheduler-state-is-reload-only.md](specs/scheduler-v2/addenda/05-serialized-scheduler-state-is-reload-only.md) — scheduler-v2 addendum: serialized scheduler state is reload-only, not a version skip. - [06-cross-runtime-adoption-what-would-be-needed.md](specs/scheduler-v2/addenda/06-cross-runtime-adoption-what-would-be-needed.md) — scheduler-v2 addendum: what cross-runtime derivation adoption would need. - [07-pull-side-gate-no-go.md](specs/scheduler-v2/addenda/07-pull-side-gate-no-go.md) — scheduler-v2 addendum: the pull-side gate measured as a structural no-go. - [08-effect-defer-neutral.md](specs/scheduler-v2/addenda/08-effect-defer-neutral.md) — scheduler-v2 addendum: per-wave effect coalescing measured neutral. - [09-remediation-direction.md](specs/scheduler-v2/addenda/09-remediation-direction.md) — scheduler-v2 addendum: remediation direction — coalesce/dedup, not version-skip. - [specs/server-side-execution/](specs/server-side-execution/) — the v1 server-primary execution learning run (2026-07-07 to 2026-08-02): original design, implementation plan, context-lattice claims, client-passivity design, claim-deletion scoping, and the orchestration log carrying the full lesson record; start at its [README](specs/server-side-execution/README.md). Superseded by the live [server-primary execution v2 spec](../specs/server-side-execution/README.md). - [plans/server-execution-v2/](plans/server-execution-v2/) — the server-primary execution v2 arc's stage-C evidence and record (2026-08-16 to 2026-08-18), frozen at the 2026-08-18 handoff; start at its [stage-C closeout](plans/server-execution-v2/stage-c-closeout.md): the 21-PR train, the owner's landing posture (confidence verdict → land OFF → optimize on main), the two honest ON-vs-OFF benchmarks and the instrumented attribution (the per-demander demand walk and the client's whole-sidecar intent watch as the design-class terms; the tuning trio restored completion), the double-dispatch dossier summary, the design-pass state and open rulings, and the process rules; beside it the benchmark/attribution/re-benchmark reports with their result tables and JSON, the four stage-C review reports (#5991's second, independent round recovered on 2026-08-18), the OW31 write-authority scoping report behind the 2026-08-18 ruling, the three design-pass lens reports (the spec-only lens, the server demand-walk lens, the client intent-watch lens — the inputs the reconciled design in `docs/plans/server-execution-v2/stage-c-design.md` was built from), the W0 (d′) refutation-experiment report (`stage-c/w0-dprime-report.md`: demand = the tracked-ids closure with the demand walk deleted on a scratch branch — the demanded derivations still land, no dark value, server settle 15–35 ms p50 value-only and 0.2–0.5 s p50 on the structural-growth path, with its raw series under `stage-c/w0-dprime-raw/`), the W1 (d′) build report (`stage-c/w1-dprime-build-report.md`: (d′) proper — the walk deleted, the standing `demandedWriters` root kind, the push-growth demand notify; the files built, the flag-don't-fill decisions, the pins with their killing mutations, the six-suite counts, and the provisional chat smoke), the W1 (d′) independent-review report (`stage-c/w1-dprime-review-report.md`: LANDABLE-WITH-FIXES, 0 BLOCKER / 3 MAJOR / 9 MINOR / 6 NIT — the (d′) mechanism held; the MAJORs were vacuous pins) and its fix report (`stage-c/w1-dprime-fix-report.md`: every finding's disposition, fixing SHA, and red/green mutation evidence — P-arrival-closure/M-C, P-release/M-B, the growth landing/M-D, and the principal-filtered push-growth notify), the W2 (e) reports (`stage-c/w2-intent-build-report.md`: the client's whole-sidecar intent watch replaced by a non-reactive storage-notification listener keyed on the outstanding intent set — W0's (e) gate numbers, the seven-point contract as built, pins 1–11 with their mutations, the provisional flat per-note series; `stage-c/w2-intent-review-report.md`: the independent adversarial review at the build tip, LANDABLE-WITH-FIXES 0/1/7/6; `stage-c/w2-intent-fix-report.md`: every finding's disposition with red/green evidence, OW42 minted (as OW41; renumbered at the re-stack onto W1), the rebase onto the stated base; `stage-c/w2-1-cascade-echo-report.md`: the client cascade-echo stranding — W0 l3's 'duplicate join' as W3 root-caused it — fixed as shape (a), `retireIntent(P)` also retiring P's client cascade descendants, the flicker case counted, the pins with their mutations, the lunch gate on both configurations with loads, shape (b) recorded for the owner), the W3 (α) build report (`stage-c/w3-alpha-build-report.md`: events.md §4's one-durable-entry-one-completed-run sentence implemented at three seats — the deadline purge of queued LT1 leftovers, the late-seal refusal of in-flight copies, the orphan refusal; W0's l1 vote toggle and l3 "duplicate join" root-caused — the latter a client cascade-echo stranding handed to W2; the lunch gate 3/3 green at the tip with the ON skip kept for that residual), the W3 (α) independent-review report (`stage-c/w3-alpha-review-report.md`: LANDABLE-WITH-FIXES, 1 BLOCKER / 2 MAJOR / 3 MINOR / 4 NIT — the BLOCKER a lost delivery in the same-eventId-sibling corner, a regression vs the W1 base, with the validated fix) and its fix report (`stage-c/w3-alpha-fix-report.md`: every finding's disposition, fixing SHA, and red/green mutation evidence — the lt1-only marking with the sibling pins, the orphan sibling fold, the purge-discriminator pin extension, the register/spec honesty pass, and the 3/3 lunch ledger at the fixed tip), the swatch-stall root-cause report (`stage-c/swatch-stall-rootcause.md`: the W2.1 + (α) stall ROOT-CAUSED 2026-08-19 — under (α) the purged castVote child makes the lagging voter's click a mark-only commit, W2.1's cascade-echo retirement at that mark visibly regresses the client, and the regressed-base re-derivation seals a diverged speculation layer — a literal `splice remove@1` tombstone over the swatch VDOM doc — that the server's healed delivery cannot show through: no re-run (the swatch computed is an undemanded pull computation, a legal scheduler idle) and no retirement (the space-server's watermark freezes below the layer's floor on a quiet space until the next authored commit — probe-verified by a keystroke healing the stalled browser in one poll); 5/5 builder reds plus 8 instrumented reproductions ONE class, delivered-but-masked; F1 tested and orthogonal; fix seats S1–S4 for the owner with the coordinator's recommendation — S1, the watermark tail at drain-settle — on file), the W3.1 (S1) build report (`stage-c/w3-1-s1-build-report.md`: the drain-settle quiescence advance RULED 2026-08-19 and LANDED — protocol.md §4's amendment with the stated reading, the space-server seat with the once-per-transition latch and the fail-closed contiguity walk, `settleAdvances` counters, red-first pins with their killing mutations, OW43 CLOSED; the lunch ON skip LIFTED on 6/6 green with every swatch wall at 1 ms and consequence multiplicity {1:16} in all six stores; the chat n=20 smoke provisional at median 544 ms; the receipt-race pin's pre-existing flake attributed to the base and hardened), the combined W2.1+S1 independent-review report (`stage-c/combined-w21-s1-review-report.md`: read-only at the train tip, LANDABLE-WITH-FIXES 2 MAJOR / 5 MINOR / 8 notes — F1 the late-grandchild-of-a-silent-cascade-child seal-time stranding, probe-verified; F2 the once-per-transition latch consumed under a mid-seal content fold; OW43's closure verified justified and the skip lift corroborated with an independent 7th green lunch run) and its fix report (`stage-c/combined-w21-s1-fix-report.md`: every finding's disposition with red/green evidence — the seal-time jobless checks walking the cascade thread with pins W2.1-3-ext/6/7, the latch consume gated on bookkeeping-only advance waves with the deterministic mid-seal-fold pin 6, the push-half-honest pin 1, the F6 truncation counters, the F4 instrument-bias register note; the fix-tip lunch gate 3/3 at 1 ms swatch walls with {1:16} and the chat smoke at median 375 ms; a NEW pre-existing effect-channel flake attributed to the base by the ritual), the W4 acceptance report (`stage-c/w4-acceptance-report.md`: the acceptance measurement on the finished train, OW38 (i) — server settle all-inputs p50 18/15 ms chat and 17–20 ms lunch with the sub-second bar PASSING both journeys, the several-second sends gone (chat arrival median 421–520 ms vs the trio tip's 7.4–9.7 s; lunch 3/3 green at 254 ms joins, 1 ms swatch walls, {1:16} multiplicity), note createToView flat and below OFF at p50, lease.lost 0 with no walkRuns key and the OFF witness held, OW37 re-read at 1.55–2.22 advance-subtracted, and the one failed bar — the sender echo, not ms-class in either arm and ON 1.5–2.4× OFF on chat, attributed to the client (e) term and measured by the new sender-echo instrument; raw series under `stage-c/w4-raw/`), the first-ON-CI-gate record (`stage-c/first-on-ci-gate.md`: the stack's first-ever CI run, 2026-08-21 on the land-off PR #6096 — seven real ON red surfaces with the per-file failure table, NO demand hole, the multi-runtime-harness posture fix, the coverage re-baseline, and the skip-and-land disposition with owed rows OW45–OW53) with the ON render-stall root-cause report beside it (`stage-c/on-render-stall-rootcause.md`: the three rendered-value-never-appears surfaces classified with store/log/live-run evidence — every one a write-path defect under ON, none a demand hole, two converging on the owed OW31/§2b carriage build; fix seats S-A..S-J), and the fan-out run-supply design and its adversarial panel. The optimize-on-main phase's seat reports live under `optimize/` — first the served-wish-path seat (`optimize/ow48-50-wish-path-report.md`, 2026-08-21, PR #6157: OW48 refuted as stale-toolshed contamination, the OW49 /result envelope decoded for the CFC owner, OW50's wish-failure surfacing built red-first), then the name-draft own-write loss triage (`optimize/name-draft-loss-triage.md`, 2026-08-22: the profile-embed residual's death site caught on an instrumented client across three arms — speculation.md §6's export refusal firing on CFC prepare's internal-verifier read naming the standing startEditing seed-echo layer, the second per-doc layer-naming producer outside the OW47 fix's structural-read seam; the store-proven stale-seed amend; the §9 fork memo whose arm (b) — the verifier read and the value it verifies base on the non-speculative stack — the owner RULED 2026-08-21), and the OW33 family triage (`optimize/ow33-triage-report.md`, 2026-08-22: every member re-reproduced at the true ON topology — the CT-1606 PerUser render, the single-navigateTo dispatch, and derive_array_leak's counter HEALED with 12/12- and 5/5-run gates and both runtime-client STEP skips lifted; the demand question discharged — the ruled .pull-for-round-one flow works; the one persisting red root-caused to the speculation overlay's arrival-gate witness hole, its predicate choice flagged in `optimize/ow33-arrival-witness-fork.md` — RULED 2026-08-22 (owner: agreed with all the recommendations; candidate (B), strictly-above-floor with derived-class-only equality, seq-keyed (C) the ruled fallback) and BUILT the same day with red-first pins for both arms, the coverClass frame threading, and the runner skip lifted on a 10/10 true-ON gate — the memo's RULED block carries the build record; topics-navigation's recorded fail-fast myName red not reproducible, its residual 2/10 flake closed by a barriered fid capture — 10/10 with the echo-drop absorbed twice, skip lifted, the echo-drop smell minted as register row OW60). The flip-readiness dossier (`optimize/flip-readiness-dossier.md`, 2026-08-22: the five flip gates walked at main 0c0261df3 — the skip list at ONE step entry (OW45 arm B), OW31 built, OW45–OW53 walked closed with OW49's closure declaration outstanding, all 14 CI ON-lane jobs green at head — and the OW38 (ii) benchmark, the W4 protocol re-run: server settle all-inputs p50 22–37 ms, chat arrival ON/OFF 1.2–1.9× (was 1.9–2.4×), the W4-failed sender-echo bar AT PARITY on chat with the client churn counters reading zero conflicts under ON, note createToView below OFF at p50 and plateau-matched (both arms climb into the workload's list-size plateau), lease.lost 0, {1:16}, the OFF witness held in substance (lunch 407/407/405, all stores authored-only); plus the at-floor-derived instrument's first run — the resumed counter-click revert REACHABLE, 7/8 trials at a 9–11 ms loopback window, OFF control clean — moving the OW33 named residual from reachability-unproven to measured-real; raw series under `optimize/flip-dossier-raw/`; the ask to the owner is the one flip-bar deci, and the OW45 arm-B triage's client-start fork memo (`optimize/ow45-armb-client-start-fork.md`, 2026-08-22: the reload step's residual client read starvation caught LIVE on an instrumented client — the flag-ON client's navigate-deferred piece start dying terminally on a ConflictError whose basis read the served piece's computed docs at seq 0, pre-birth, with no retry arm, so the piece never starts client-side and every dependent read stays undefined on a quiet space; three dispositions for the owner with (a) retry-on-conflict recommended now and (b) adopt-not-start as the ON model's destination; beside it the two sibling defects the same triage FIXED red-first — the graph walk's absent link-hop targets now tracked so their birth re-fires the watch, and the event drain processing across sidecars in append order with deferral as a barrier, closing run b01's store-verified cross-stream inversion). The live coordination state is the plan's (`docs/plans/server-execution-v2.md`). - [OPTIMIZATION-JOURNAL.md](packages/runner/test/traverse-replay/OPTIMIZATION-JOURNAL.md) — traverse optimization log. - [SCHEMA_INJECTION_NOTES.md](packages/ts-transformers/SCHEMA_INJECTION_NOTES.md), [TEST_PLAN_schema_injection.md](packages/ts-transformers/TEST_PLAN_schema_injection.md), [FALLBACK_POLICY_EXAMPLES.md](packages/ts-transformers/docs/FALLBACK_POLICY_EXAMPLES.md), and [outstanding-questions-for-manager.md](packages/ts-transformers/docs/outstanding-questions-for-manager.md) — schema-injection working notes. - [parking-coordinator/summary.md](packages/patterns/factory-outputs/parking-coordinator/summary.md) — factory-run summary. - [DRAG-DROP-MULTI-TAB-FIX.md](packages/patterns/record/design/DRAG-DROP-MULTI-TAB-FIX.md) and [EXTRACTION-IMPROVEMENTS.md](packages/patterns/record/design/EXTRACTION-IMPROVEMENTS.md) — record-pattern investigation and improvement notes. - [2026-07-unbounded-runtime-caches.md](development/performance/2026-07-unbounded-runtime-caches.md) — the four runtime caches that grew with everything a session had ever touched, and what bounding them measured, July 2026. - [2026-08-settled-transaction-retention.md](development/performance/2026-08-settled-transaction-retention.md) — what a settled storage transaction keeps reachable, and which of those retention paths show up without per-element list child release, August 2026. - [2026-08-inline-document-memo-key.md](development/performance/2026-08-inline-document-memo-key.md) — why a pattern test overran its 180-second action budget: an inline document carries its content in its own id, and the schema memo built one key out of that whole id for every one of the 8,453 nodes it visited, August 2026. - [2026-09-11-person-inbox-click-cost.md](development/performance/2026-09-11-person-inbox-click-cost.md) — where cf-person-inbox's thread-open seconds go: worker CPU in the commit-time flow-relevance scan, growing per consecutive click and tracking rows returned rather than rows rendered, plus two write refusals that block a host from setting `people` at all, September 2026. - [2026-09-26-large-document-commit-passes.md](development/performance/2026-09-26-large-document-commit-passes.md) — which whole-document passes a one-value commit to a large map paid (about five whole-document hashes, a full encode to weigh a cache entry, a snapshot decode), what removing them measured at 10,752 and 17,500 entries, why reusing child hashes and reordering the snapshot check were ruled out, and what is left, September 2026. - [2026-09-13-link-probe-memo.md](development/performance/2026-09-13-link-probe-memo.md) — what feeds the per-read work under a wide reactive read at the code that shipped with the dereference-trace index: link resolution's repeated sigil probes, which a probe-level memo removes at the source, with the alternated A/B behind it and the sink-wrapper memo left out as unmeasured, September 2026. - [2026-09-26-diff-walk-per-entry-cost.md](development/performance/2026-09-26-diff-walk-per-entry-cost.md) — what `normalizeAndDiff()` spent per entry rewriting a 10,752-entry map of schema-less cells (a read transaction opened per cell, and each link envelope enumerated 31 times), what parsing each side's link once measured, why one shared read transaction per walk was built and then dropped (no gain at that size, a larger heap), why skipping the resolution when the slot already holds the link was ruled out, and what is left, September 2026. - [2026-09-15-writer-fit-refusal-details.md](development/performance/2026-09-15-writer-fit-refusal-details.md) — deferred structured writer-fit attribution, successful and strict-refusal counters, and paired shared-fixture timings and profiles, September 2026. - [2026-08-fabric-value-validation-cost.md](development/performance/2026-08-fabric-value-validation-cost.md) — where the write path's validation time went in the benchmarks from 2026-07-29, August 2026. - [2026-09-26-large-object-write-cost.md](development/performance/2026-09-26-large-object-write-cost.md) — why a write changing K keys of an N-key object cost O(K × N) — `applyPatch` re-copying the root per op on the client and in the engine, the reactivity log listing the parent's keys per written key and being rebuilt two to three times per commit, all-pairs patch-candidate filtering — what removing them measured, a schemaless reader's O(N²) empty-commit validation, the in-transaction read hypothesis ruled out, and the super-linear costs found around the path and left for later, September 2026. - [2026-09-27-transaction-open-cost.md](development/performance/2026-09-27-transaction-open-cost.md) — what opening a transaction through `Runtime.edit()` cost, the hooks and trust snapshot made once per runtime, what realistic workloads spent on opening (0.15–1.2%) against a large map of cells (17–18%), and the lazy collections, delegation memo, ownership brand and bulk configure left out, September 2026. - [2026-10-02-memory-router-transaction-cost.md](development/performance/2026-10-02-memory-router-transaction-cost.md) — Mode A socket closure at fixed-window rate limits, counterbalanced DID/ACL-read latency measurements, SQLite page-write accounting and bounded burst acceptance, October 2026. - [noattrcache-mount-option-evaluation.md](packages/fuse/noattrcache-mount-option-evaluation.md) — the two-stage evaluation and live-stack measurements behind defaulting FUSE-T mounts to a one-second attribute-cache timeout, July 2026. - [stable-inode-mtime-verification.md](packages/fuse/stable-inode-mtime-verification.md) — the on-hardware FUSE-T check of stable inodes and a moving mtime, including the measurement showing same-size staleness is bounded rather than unbounded, July 2026. - [dropping-json-serialization.md](spikes/dropping-json-serialization.md) — what a research branch found when `toJSON()` and load-bearing `JSON.stringify` were removed from the runtime; the breakage is the deliverable, not a design, August 2026. - [2026-10-fabrichat-room-load.md](development/performance/2026-10-fabrichat-room-load.md) — where the time goes when a browser opens a fabrichat room on Estuary with twenty messages and thirteen participants, October 2026: 49 CPU seconds on the client against at most 14 on the server, over half of it in the resume pre-sync planning every nested instance once per ancestor and once more for itself, the inputs cell of every plan re-inlining and re-hashing its schemas, the cross-space pass materializing every plan to find a link, and receive silences of minutes while the planning loop never yielded to read the answers the server had given within a second. - [2026-10-11-fabrichat-room-load-local.md](development/performance/2026-10-11-fabrichat-room-load-local.md) — where the time goes when a browser opens a fabrichat room of thirty and of a hundred and twenty message rows on a local toolshed, October 2026: a hundred and twenty rows never render in five minutes, their twelve thousand node plans spending the worker on minting, hashing and decoding `data:` inputs documents and on 3,360 handler streams watched under 4 KB event schemas, then a 24.7 MB first-run commit the server refuses as oversized and the client re-sends unchanged until it exhausts its heap; thirty rows take 85 s with commit preparation quadratic in the commit's operations, the topological sort quadratic in the work set, and the renderer minting a snapshot per resolve of an inline element; indexing the readers, the write-policy inputs and the data-URI syncs and memoizing the snapshots takes the first load from 71 to 30 s and the second from 42 to 16 s to the messages. - [2026-10-12-cycle-break-room-counts.md](development/performance/2026-10-12-cycle-break-room-counts.md) — counts from a thirty-message fabrichat room's reload before and after the scheduler's topological sort began breaking a cycle at one of the cycle's own members, October 2026: 179 breaks in the room's large settle where there were 1,991, sixty fewer action runs per reload and none of the sixty reports of an action started before its input had run, the sort's cost over fully connected cycles and two-way rings unchanged, and a room's first load after the runtime changes re-deriving and committing much of the room once, under either order. - [2026-10-13-fabrichat-row-name-syncs.md](development/performance/2026-10-13-fabrichat-row-name-syncs.md) — why some reloads of a thirty-message fabrichat room named every message row's family, October 2026: the gate before a row's start read a derived cell that holds its record and no value as absent, which a client closing before its commits are applied and a computation nothing demands both leave behind; with the counts across five reloads before and after the gate probes a derived cell's record, the name-syncs a reload still pays, and a first render that can print a room without its lists - [2026-10-16-fabrichat-room-cold-load-phases.md](development/performance/2026-10-16-fabrichat-room-cold-load-phases.md) — where a signed-in cold load of a thirty-message, twelve-member fabrichat room spends its 24 s on a local toolshed, October 2026: the room piece's start with its pre-sync planning and hashing, the worker-side render of the rows, and the settle's commits, about a third each, with the members' profiles on none of those paths; the 3,976 list-child syncs by kind, half of them repeats of the eleven name-syncs a load paid, nine of which were holds of families the pre-sync had named on session-scoped cells and valueless wish targets no store could deliver; and the counts and bench rows after the gate began holding only on an absence the replica had not examined. - [2026-10-16-fabrichat-render-schema-join-memo.md](development/performance/2026-10-16-fabrichat-render-schema-join-memo.md) — counts per caller of schema-intern cache misses on a thirty-message fabrichat room's cold load, October 2026, settling whether the render's confidentiality joins missed by identity because schemas arrived unfrozen or copied across the worker boundary: 351 of 31,225 misses were decoded request schemas, while 10,901 joins of 376 distinct schemas each walked the whole schema and re-resolved its `$ref`s against views no memo could key on; and the counts and profile shares after the join was kept per schema, the resolved view frozen, and the builder's alias strip made canonical. - [2026-10-16-fabrichat-room-cold-load-local-session-documents.md](development/performance/2026-10-16-fabrichat-room-cold-load-local-session-documents.md) — the same thirty-message room's cold load on main after #8993 with `localSessionDocuments` off and on, October 2026: the flag keeps the 174 session-scoped operations a load wrote out of the server store, and leaves the counts and walls a load pays within a few scheduler runs and a second of the flag-off arm's, because 167 of the 168 commits it empties still carry space-scoped reads and travel for validation; the settle's lever is per commit, not per byte - [2026-10-16-fabrichat-room-inputs-documents.md](development/performance/2026-10-16-fabrichat-room-inputs-documents.md) — a thirty-message fabrichat room's reload before and after the resume pre-sync's inputs documents kept their link schemas as references and each node's binding was held across the load, October 2026: 1,711 bindings and mints per reload fell to 1,618, the mint's share of the worker's busy samples by half to four fifths, over three interleaved pairs; the key-member trace that found the 79 bindings dropped at instantiation and the 18 missed on the pattern object. - [2026-10-16-fabrichat-narrowing-resolution-root.md](development/performance/2026-10-16-fabrichat-narrowing-resolution-root.md) — counts per caller of the schema-reference resolutions a thirty-message fabrichat room's cold load made without consulting the resolver's memo, October 2026, before and after a path narrowing began resolving against one kept document per definition map and a fragment's inherited-definitions view was frozen: 2,944 fell to 684, and the 2,086 under the narrowing were the document `schemaAtPath()` minted on the spot for every reference it followed, not the inherited-definitions view. - [2026-10-13-pattern-schema-narrowing.md](development/performance/2026-10-13-pattern-schema-narrowing.md) — counts and profile shares from a thirty-message fabrichat room's reload before and after a pattern began holding its argument and result schemas deep-frozen from the time the builder makes it, October 2026: 51,069 of the 75,317 narrowings binding makes of a pattern's argument schema were of a schema `schemaAtPath` could keep no narrowing for, three quarters of them of the mutable copy the builder put into a nesting pattern's graph, and the binding walk fell from 10 to 13% of the profile's samples to about 5%; with the nine of twenty-three derived entity ids that interning those schemas would have changed, because `createRef()` hashes an object it reaches twice in one cause as `null` - [2026-10-13-pattern-schema-narrowing-remeasured.md](development/performance/2026-10-13-pattern-schema-narrowing-remeasured.md) — the second measurement of what a pattern's deep-frozen schemas remove from a thirty-message fabrichat room's reload, October 2026, taken after main began holding a node's binding from the pre-sync to its instantiation: the binding walk falls from 2.1–3.6% of the profile's samples to 0.9–1.2% where it had fallen from 11.5% to 5%, with the first measurement's profiles counted again by samples in place of the time between them, and two renders of one checkout differing in the order of the declarations inside `style` attributes - [2026-10-13-schema-interning-on-reload.md](development/performance/2026-10-13-schema-interning-on-reload.md) — counts per caller and profile shares of schema interning on a thirty-message fabrichat room's reload before and after six derivations began keeping the schema they derive per schema they derive it from, October 2026: 86,407 of 1.25 million `internSchema()` calls missed the identity cache and hashed 150 million characters of schema JSON, 83,445 of them for content already interned, against 35,101 misses and 45 million characters after; interning from 5.7–9.1% of the profile's samples to 2.8–4.8% in four pairs; and what is left, mostly link schemas out of decoded `data:` documents. - [2026-10-16-fabrichat-definition-view-memo.md](development/performance/2026-10-16-fabrichat-definition-view-memo.md) — counts from a thirty-message FabriChat room's cold load of what interning a resolved definition view hashes: minting the view once per definition body and map removes no hashing, because three fifths of the map-carrying views hashed carry a map already hashed by identity, and the value hash is one digest over the tree's encoded bytes, so no cached sub-object hash can shorten it - [2026-10-16-fabrichat-row-instances.md](development/performance/2026-10-16-fabrichat-row-instances.md) — a design spike, rejected 2026-10-17, pricing what a thirty-message FabriChat room's cold load pays for its row instances, by kind: 894 busy samples of child starts, about 750 of 1,157 scheduler runs, 167 of 190 commits, most of the 1,663 list-child syncs, about a third of the load; what rendering rows as one computed's view nodes would have removed and what the event path would have needed to keep a gesture's trust; and the ruling that the map builtin stays the idiomatic flow and is made faster instead, because a computed's output is a flat source the trust machinery cannot trace through. - [2026-10-16-fabrichat-render-sink-fires.md](development/performance/2026-10-16-fabrichat-render-sink-fires.md) — counts and profile attribution of the render's cell sinks on a thirty-message FabriChat room's cold load, October 2026: 5,584 of the 5,802 sink fires per load are a sink's first fire of a view no other sink reads and 40 re-read an unchanged value, so a validated view shared per document would serve under one percent of fires; the sink's own read is 11% of the worker's busy samples at the innermost sink frame against the quarter the outermost frame reports, with the render's per-read `resolveAsCell()` element snapshots a further 4.7%; and forwarding the link memo through the sink's transaction wrapper moved nothing over two interleaved pairs - [2026-10-17-fabrichat-render-sink-census.md](development/performance/2026-10-17-fabrichat-render-sink-census.md) — a census of the 5,504 sinks the worker reconciler binds per load of a thirty-message FabriChat room, October 2026, by binding site, element tag, property and stored value: 4,399 stand at a node's props, children and child positions by the VDOM schema's design, 977 read one property alone, 415 of those for a literal style object; and the counts before and after a literal style began being set from its element's props read under a render policy, 5,504 to 5,089 sinks with runs, commits and syncs unchanged - [2026-10-17-fabrichat-mutable-root-hashes.md](development/performance/2026-10-17-fabrichat-mutable-root-hashes.md) — a count of the 76,966 content hashes of mutable values the worker computes per cold load of a thirty-message FabriChat room, October 2026, by calling site and by whether the content had been hashed before: 27,253 derived internal cell ids, 24,436 watch ids and selector identities, 9,239 memo keys of the linked-cell sync walk and 3,353 write-gate comparisons, nearly all repeats; the four cuts that keyed the first two by content, interned the third's schema and walked the fourth in step, and the counts and profile shares before and after ## The retired tutorial site - [tutorials/](tutorials/) — the complete MyST source of the retired docs.commontools.dev site: nine chapters, example code and images, and the build scaffolding, entered at [index.md](tutorials/index.md). Its state chapters and LLM tour teach the retired `cell()` API.