Repository navigation
Conversation
Dissects the v2 native CLI's memory per source byte: peak is set by the largest file's parse, and ~60% of it is SpanIndex versions pinned by ParseMemoAccepted snapshots of ParseProvenanceState. Measurement-only probes on the emitted crate, ranked remedies, reproduction steps. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replaces the first revision's parse-memory analysis, which proposed two unsound changes: an append-only span index (occurrence ids are re-minted on backtrack) and a closure-only census (the census is total under NamespaceOnlyY). Records the measured memo defects (1,898 false census refusals and 1.2% of nodes with wrong spans across dag+src/v2; memo-off parses 18% faster), cross-file and whole-run retention, the gap against mandatory global materialization, and a phased, sized plan with the rulings it needs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
briansrls
force-pushed
the
plans/v2-native-parse-memory
branch
from
October 8, 2026 03:34
0e6d91b to
2dc850c
Compare
…-long schedule Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 8, 2026
Record D15's scoped rulings and five bounded demand-engine roadmap members, preserving open decisions and evidence-triggered continuation. Replace calendar commitments with review handbacks and regenerate the design and roadmap projections.
…n D15; delete the separate doc Per operator direction (and the 2026-10-07 plans bankruptcy, #13550): no hand-written plan document. D15 in gunbc.plans.demand_engine_program gains the design constraints the analysis established and the deferred full-program target with its home authorities. The dated memo-on/memo-off comparison is the receipt on this PR's description. The native-memory-parse note records the current state. Projections regenerated with generated_artifact_gate main_wet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Settle compile-stage memo deletion in D15. Add bounded nature-integrity, seed call-binding, unused-carrier and preparation tasks; record retained mechanisms with existing owners and corrected source evidence. Preserve the five memory outcomes, acceptance history and dependency graph.
Contributor
|
Closed without folding in the v1 closeout bankruptcy (#13641). A plans-only draft; the plans bankruptcy (#13550) applies. Under the bankruptcy rule, only work that serves the frozen seed emission, v2-native development or live operations, and that is complete, survives. The branch is kept for archaeology; no follow-up obligation is created. — sent from neat-wolf-604 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Memory work will be intermittent. The direction and settled decisions need to survive a pause and point to actual work with a bounded exit. The revised analysis still had calendar estimates, referred to a D15 that did not exist, and was disconnected from the roadmap; this PR summary also still advertised the discarded year-long program.
What changes
Add D15 to the existing
gunbc.plans.demand_engine_programauthority. Preserve settled R2, R5, scoped R4/R3 and practical R1, and attach open R6–R12 only to the cuts that need them.Add five primary outcome milestones under
demand-engine, each carrying an outcome, acceptance control, next slice, dated state and stopping point. The bounded census follow-up tasks are listed below:native-memory-parsenative-memory-envelopenative-memory-cli-retentionnative-memory-driver-retentionnative-memory-useful-runRecord only the established new prerequisite: useful run → envelope. Add a retention dependency when the selected workload demonstrates it. Independent accounting and dead-data release do not wait for the full M1.b–M5 sequence.
Replace calendar commitments with handbacks: landed revision, bounded evidence, remaining uncertainty and the next concrete action. Additional tiers, identities and value-grain work retain evidence triggers and existing program ownership.
No separate plan document (operator direction, and the 2026-10-07 plans bankruptcy in Bankrupt docs/plans: delete hand-written plans, keep DESIGN-linked and generated ones #13550). Planning items live only in the roadmap members; design detail lives in D15, which now also carries the design constraints the analysis established and the deferred full-program target with its home authorities. The dated measurements are this description's receipt (below). Dangling phase references are removed, and the parked P8 recommendation to thread the parse memo is retired.
Regenerate
docs/plans/demand-engine-program.mdandROADMAP.mdfrom their source authorities. No runtime behavior changes.Census follow-up — current handback, 2026-10-09
Reviewed the consolidated census against main
2a519d27f6f77db2a20696a2ffc4f540dbd88f40. Compile-stage memo deletion is now explicitly ruled under D15/R2. Four bounded tasks and seven existing-owner notes preserve the implementation handback:native-memory-demand-natureca19fc47: CI green; two Running-state conflict interactions still need correction. Repeated-Fresh execution stays a separate open cut.seed-pure-call-binding6367a862: reproduced on main, withdrawn in the PR, runtime review sound. Finish the remaining plan-text correction and final CI; keep the retained eval-frame memo with its existing owner.native-memory-inert-carriers0b92d40e: bounded deletion reviewed and approved, including the now-unused admission door. Preserve live consumers and surviving ladder rules; qualify the final main-based head after #13577 → #13582.native-memory-preparationCorrections retained in the owner notes:
touched_byconsumer was found on the current required-floor route. Repair or refuse incomplete selection before any reactivation.Unrealizednames the missing v2-owned process realization. Uncapped/manual disk retention and absent warm-content verification remain separate debt.Validation for this follow-up: source review and independent scope reviews; both complete baseline projections matched byte-for-byte before source-derived regeneration; existing criteria, acceptance records and all dependency edges are preserved;
git diff --checkpasses. No runtime counterexample, compiler, floor or native-cache test was executed in this workspace. The four tasks remain unaccepted and not dispatch-ready; there is no runtime code change or new dependency edge.Review handback — 2026-10-09
The three implementation PRs are open and unmerged. Their exact reviewed heads and remaining actions are now linked in the existing roadmap members. The two-file follow-up changes only
roadmap_authority.dagand its generatedROADMAP.md; D15 remains the design authority.nature_eqand own-key conflict persistence are correct. Source review finds two defects at the existing supplied-DemandRunningtest boundary: an own-key conflict releases an occupied seat before completion; conflicting an available prerequisite replaces a running dependent's state, whose completion then fails to release its seat and overwrites its prerequisite refusal. Preserve physical production ownership until completion and retain the applicable refusal. These are source-derived API traces, not observed native overcommit: no current production writer sets Running. Exact-head CI 37881800770 is green. The repeated same-key Fresh/unenveloped-WorldRead execution gap remains separately open.PureCallMemodeleted. The author executed the swapped-label failure on main and the fixed pass; the three new claims retain swapped-label, unrostered-spelling and identical-repeat controls. The supplied unknown-label call is rejected bydirect_call_shape_diagsbefore execution, so the earlier accepted-source warmed-invalid-label requirement is corrected.EvalCallMemomay still serve beforecall_functionbinds, but checks stored argument labels and values first. Reconcile the remaining live-memo/content-key statements infail_closed_lockdown_bodyand the PR description's broader before-binding claim. Wall-time impact remains unmeasured; no new benchmark or seed-wide purity gate is added.admitted_prescription_inand its two controls deleted with their last production caller. The 32 surviving ladder claims prove the ladder's own fixture subjects; they are not represented as replacements for the deleted door controls. Actual operational consumers still owe fail-closed admission on their real paths. Source review verifies the live-data boundaries, all eight new removal rows, and the preexisting bad removal on head, parent and main. The other three differential failures and the local lane outcome remain author-reported; red5's cause is unresolved. Keep the deleted witness absent when resolving Fix every T? == T site the whole-population census found #13549.native-memory-preparationremains one producer per PR, with an explicit pause after each bounded cut.Validation of this roadmap edit: the entire committed baseline projection reproduced byte-for-byte before source-derived rendering; all 233 declared nodes, 15 live acceptance receipts, 138 dependency edges and derived closing tasks are unchanged. Four dated notes are appended without rewriting their history. The only criteria changes are the precise next slices/refusal controls and visible PR links described above.
git diff --checkpasses. No compiler or runtime tests were run in this workspace.Current parser handback
#13577 at
f0e5e776has green PR CI; it and #13582 remain unmerged at this review snapshot. #13582 is a draft stacked on it. The terminal-specific span check is committed (427b080e5d); it fails when two terminals' spans are swapped. #13582 still needs CI on its final head after the retarget to main. The extra red5 refusal also reproduced on the parent; its cause remains unresolved. Compile-stage memo work remains a separate PR and is now ruled deleted, tracked bynative-memory-inert-carriers.No must-complete 1 GiB workload or successful run is asserted by this planning change. Envelope adherence, typed refusal and useful success are separate acceptance questions.
Validation
git diff --checkpasses.f314b025df: projections regenerated with agunbcbuilt from this branch (tools.generated_artifact_gatemain_wet). The regeneration changed exactlyROADMAP.mdanddocs/plans/demand-engine-program.md. Roadmap witnesses were not run locally; required CI is the landing gate.The design is in the demand-engine program (D15) and the work is in the roadmap.
Receipt: dated measurements (2026-10-08, srv2 aarch64)
D15 and
native-memory-parsecite this section. The numbers are historical observations taken at main6d82ac7721/c48092a621, using measurement-only edits to a copy of the emitted native-CLI crate. They are re-derived by the probes listed below, not maintained here.Parse memo on vs off (memo off =
materialization_allows_memo_storereturns false) over all ofdag+src/v2, 7,932 files whose parse is accepted:normalize_reason_minted_occurrence_duplicateddag_production_patternaccounts for 112,327 of the hits.SeamBetaindag/test/fixture/cross_shard_seam/importee.dag(bytes 173..181) resolves to a derived parser event when the memo is on.body_lowering_fold.dagtakes 28.0 s / 1.61 GiB with the memo and 23.9 s / 0.53 GiB without.Native CLI cross-file retention: on root
dag/extdeps(1,028 files, 8.5 MB) the peak is 4.81 GiB as is, and 1.40 GiB with no merged span index and no per-file trees. This is attribution only; that probe drops spans, so it does not preserve semantics.emit --entry std.integerover the full roots reached 15.7 GiB at a 900 s timeout with no output.Probes:
gunbc test //gunbc/instruments:v2-native-cli.cargo build --release --offline./usr/bin/time -f "%e %M" <bin> emit --entry nope.x --source-root <root>. A bogus entry costs the same as a real one, because the census runs first.perf record -e page-faults --call-graph dwarfplaced about 60% of new heap pages underspan_index_record.🤖 Generated with Claude Code