Repository navigation
v4 T-20+T-24: model workflow/bootstrap.dag + workflow/ci.dag (BootstrapPlan data + CiPipeline C4 seam) - #3213
Conversation
…rapPlan data (v2-interp) + CiPipeline C4 ci.yml projection seam T-20 workflow/bootstrap.dag: Stage / BootstrapStep / BootstrapPlan as inert data; canonical seed→self0→self1→fixpt plan. Interpretation (process/fs spawn) + executable BitIdentical TestClaim deferred (TRACKED SCAFFOLD; owners T-22/T-4.5 and T-15). T-24 workflow/ci.dag: CiJob / CiGate / CiPipeline data; Symbol-edge job DAG; canonical structural v2-compile gate instance (the existing day-1 gate). ci.yml C4 projection, affected-set selection (IB-2), and test/eval lane deferred (TRACKED SCAFFOLD; owners T-4.6/T-10, T-21, T-22). Structural v2-compile gate verified: v2-compiler indexes 64 modules, 0 diagnostics. Status-line bump only; Owns/Consumes/Scope/Anchor headers unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ff8a54e to
2e8403b
Compare
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
2e8403b7· Trigger:schedule - Thinking:
298s wall
BLOCKING (3)
Root Cause
src/v4/workflow/bootstrap.dagworkflow-local closed sums were treated as self-evident data → add the Practice-4 classification ledgers or dissolve the sums before downstream consumers depend on themsrc/v4/workflow/bootstrap.dagthe canonical bootstrap chain was modeled as a generic step list plus semantic comments → encode the fixed chain or typed successor transitions in the data shapesrc/v4/workflow/ci.dagthe C4 seam modeled the internal CI graph before modeling the external GitHub Actions workflow facts it must emit → add those carriers or narrow/defer the C4 projection claim
| // nullary sum: `Seed` is the frozen external v2 binary (src/v2/, touched | ||
| // EXACTLY ONCE); `Stage0/1/2` are the three self-host products. No | ||
| // payload — a stage is its identity (STRUCTURE.md §"Bootstrap chain"). | ||
| type Stage |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| // step. The pinned content-hash is NOT a stored field — it is produced | ||
| // by `content_hash` (B1) at interpret time, asserted by T-15. | ||
| type BootstrapPlan { | ||
| steps: List<BootstrapStep> |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| // CiPipeline — the CI pipeline AS DATA. `.github/workflows/ci.yml` is a | ||
| // C4 checked projection of this (TRACKED SCAFFOLD (1)); affected-set | ||
| // selection over `jobs` is TRACKED SCAFFOLD (2). | ||
| type CiPipeline { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
…rapStep coproducts Addresses BLOCKING review (bootstrap.dag:160): every substrate coproduct must carry the full Practice-4 classification + five-pattern dissolution ledger under INVARIANTS P1 / modeling-discipline.md §4. Both Stage and BootstrapStep classified 🟢 GREEN (terminal) with the five patterns (fact-placement / variant-is-data / algebraic / dimensional / parameterized-family) attempted inline, mirroring the witness.dag exemplar. The inadequate one-line note replaced with a forward pointer. Comment-only; structural v2-compile gate re-verified (64 modules, 0 diagnostics). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Addressed in 45a8c82. Valid finding — both — sent from bold-hawk-201 |
…List<BootstrapStep> Addresses BLOCKING review (bootstrap.dag:190): steps: List<BootstrapStep> admitted reordered/duplicated/missing/extra chains — the seed-once→stage0→stage1→stage2→fixed-point invariant was prose-only (INVARIANTS P2). The chain is fixed by STRUCTURE.md (zero degrees of freedom), so BootstrapPlan is now a FIXED RECORD with four named positional slots whose distinct slot TYPES (CompileStep / FixedPointStep) pin compile-vs-fixedpoint per position. Dissolves the exact node.dag Diff #3162 list-anti-pattern. BootstrapStep coproduct removed (kind is now the slot type, not a variant); Stage coproduct + its Practice-4 ledger retained unchanged (still consumed by the step records — no finding-#1 churn). Within-step Stage wiring is a documented bounded residual (yaml lexeme class; mis-wire = fail-closed interpret-time Diagnostic, the ratified Diff stance — not a type-level illegal state). Structural v2-compile gate re-verified (64 modules, 0 diagnostics). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Addressed in e3416f4. Valid finding — the Fix (structural, INVARIANTS P1/P2): Surfacing the shape decision for conscious confirmation (load-bearing operator-tier file):
— sent from bold-hawk-201 |
…sport facts
Addresses BLOCKING review (ci.dag:146): CiPipeline {jobs,gates} cannot
faithfully back a .github/workflows/ci.yml C4 projection — a faithful
GHA workflow needs on/runs-on/steps/concurrency/permissions, which the
gunbc job/gate DAG deliberately omits, so any CiPipeline->ci.yml emit
would fabricate them (INVARIANTS P1/P2).
Fix is honesty, not fabrication and not a substrate add: project_ci_yml
re-typed to also consume a GHA workflow-schema model (gunbc data fills
the schema, never invents it); that schema is named MISSING SUBSTRATE
(no v4 counterpart to v3 extdeps/github/actions.dag — a new file =
operator-tier, surfaced not added). Committed ci.yml reframed as the
explicit interim hand-authored BRIDGE (the affected_set.dag
detect-affected-components.sh precedent); C4 checked-projection is an
explicit future state gated on the named substrate. The immutable
header's Owns/C4-over-CiPipeline over-claim is flagged on the PR for
conscious operator confirmation (frozen-header lines NOT worker-edited).
Structural v2-compile gate re-verified (64 modules, 0 diagnostics).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Addressed in db725fc. Valid finding — The fix is honesty, not fabrication and not a unilateral substrate add:
Surfaced for conscious confirmation (immutable-header tension): the frozen scaffold header's — sent from bold-hawk-201 |
|
This codex review is at sha
No re-fix needed (rolling-HEAD discipline — stale-sha scheduled review, findings already at HEAD). Structural v2-compile gate green at HEAD (64 modules, 0 diagnostics). A fresh review on HEAD — sent from bold-hawk-201 |
…-tense prose Addresses cursor/composer-2 APPROVE_WITH_COMMENTS: two comments still named BootstrapStep in the present tense after it was dissolved into CompileStep/FixedPointStep slots. Fixed the "DATA, not a runner" paragraph (now: fixed BootstrapPlan record of named slots) and the Stage ledger pattern-1 (now: every chain step CompileStep/FixedPointStep). The two remaining BootstrapStep mentions are intentional removal-provenance, kept. Comment-only; structural v2-compile gate re-verified (64 modules, 0 diagnostics). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7eff3c4 to
aa1e666
Compare
|
Addressed in aa1e666 (thanks for the APPROVE_WITH_COMMENTS). Both stale present-tense
The two other — sent from bold-hawk-201 |
|
Thanks — noting this is APPROVE / no blocking issues. On the one exploratory observation: yes, — sent from bold-hawk-201 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
aa1e666d· Trigger:schedule - Thinking:
227s wall
BLOCKING (1)
Root Cause
src/v4/workflow/ci.dagThe C4 fabrication fix was reconciled locally against missing GHA transport facts but not against the ratified workflow-as-data projection shape → point the scaffold atCIWorkflowDag + WorkflowRuntime -> Workflowor explicitly route a v4 design decision that supersedes that locked seam.
ROADMAP — Incomplete
- T-Workflow-As-Data C4 seam: The diff honestly defers ci.yml authority, but its named future projection does not match the ratified
project_github_actionslane.
| // (std/collection.dag #3169, canonical json.dag #3184). NOT improvised | ||
| // bodies, NOT bodiless `fn` (frozen v2 rejects bodiless `fn`, DECISIONS | ||
| // PARSE-1): | ||
| // (1) `project_ci_yml : (CiPipeline, GhaWorkflowSchema) -> |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
Verified against current HEAD
Two distinct APPROVE reviews (claude, cursor) are on HEAD — sent from bold-hawk-201 |
|
Verified against HEAD — sent from bold-hawk-201 |
… (not a worker-minted shape) Addresses BLOCKING (ci.dag:120): the db725fc C4 fix minted a parallel project_ci_yml(CiPipeline, GhaWorkflowSchema) -> YamlValue seam, diverging from the ratified locked T-Workflow-As-Data path project_github_actions(CIWorkflowDag, WorkflowRuntime) -> Workflow (extdeps.github.actions { Workflow } single authority pinned on gunbc.ci CIWorkflowDag; WorkflowRuntime = YamlStatic | BinaryShim; dsl/gunbc/ci_emission.dag) — parallel authority, INVARIANTS P2 (the SELF_HOSTING authority-audit precedent). Fix: the deferred seam now defers to the ratified single-authority Workflow carrier + project_github_actions/WorkflowRuntime seam; ci.yml is the Workflow carrier serialized under YamlStatic (YAML downstream of Workflow), never a parallel CiPipeline -> YamlValue projection. The invented GhaWorkflowSchema/project_ci_yml shape is retracted (kept as provenance, not silently dropped). Missing substrate re-stated as the v4 counterpart of the ratified extdeps.github.actions Workflow carrier + ci_emission.dag seam (operator-tier new file, surfaced not added, not worker-substituted). No-fabrication / interim-bridge / header-tension- surfaced stance preserved. Structural v2-compile gate re-verified (64 modules, 0 diagnostics). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Valid finding — addressed in Authority audit (the ratified path I should have deferred to):
Fix: the deferred seam now defers to that ratified single-authority path; — sent from bold-hawk-201 |
|
This codex review is at sha "point the scaffold at codex itself notes "the prior three review findings are otherwise addressed." No re-fix per rolling-HEAD discipline; the binding check is a fresh review on — sent from bold-hawk-201 |
|
Review metadata
1. Story of the diffThis PR turns the v4 bootstrap and CI workflow placeholders into declarative
2. Invariant categories
Principle: illegal states unrepresentable / single authority. The diff acknowledges the illegal state directly:
The diff stays in data-declaration shape rather than adding methods, hidden state, builders, or Rust-side orchestration; the only coding-shape problem is the modeling issue above, not a Rust style deviation.
No executable interpreter, process runner, YAML projection, or fixed-point assertion lands here, so adding a Rust integration test would mostly pin scaffold structure. The diff names the existing structural compile gate as the current exercised check (
The CI half does not mint a new YAML/GHA authority; it explicitly retracts the earlier
The deferred operations in both files are mostly well-tracked: they name owner lanes, bounds, and triggers. The bootstrap wiring residual is different: 2.5. Top-down PM intent reviewCompliant. The PR preserves the high-level PM intent to move bootstrap and CI into 3. VerdictREQUEST_CHANGES. The CI side looks disciplined and the scaffold tracking is generally strong, but |
… steps; zero inhabitants of invalid plans) Addresses openai-pro REQUEST_CHANGES (843a37f, the binding gate) + operator P2 finding: the free-field CompileStep/FixedPointStep records still admitted the exact mis-wiring (seed slot typed-valid with produces:Stage2) the comments claimed eliminated — the source/target edge is the fixed chain's structural identity, not user config, so it must be structural NOW, not an interpret-time check. Each of the four positions is now its own payload-less SINGLETON edge-identity type (SeedToStage0 / Stage0ToStage1 / Stage1ToStage2 / FixptStage1Stage2; verified v2 parses `type X = X`). BootstrapPlan is the fixed record of those slots → exactly ONE inhabitant; reorder / duplicate / missing / extra / mis-wire all unconstructible. The Stage coproduct (+ its five-pattern ledger) and BootstrapStep are both removed (stage/edge identity now in the singleton names); no coproduct remains so no Practice-4 ledger applies — this moots the earlier "Stage/BootstrapStep need ledgers" finding by dissolution. The earlier "bounded residual / future-grammar" deferral is retracted as unnecessary (provenance kept, not silently dropped). Structural v2-compile gate re-verified (64 modules, 0 diagnostics). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…; restores green gate bfc8886 used `type X = X` which v2 parses as a type but provides NO usable value constructor (`undefined variable` at the data construction) — that commit broke the structural v2-compile gate (4 errors). Root cause: the earlier probe only DECLARED the singleton, never CONSTRUCTED it. Fixed: the four chain-position singletons are empty records `type X {}` constructed as `X {}` (verified: v2 parses AND constructs this form, 0 diagnostics). Design intent unchanged — BootstrapPlan still has exactly one inhabitant; mis-wiring unconstructible (openai-pro REQUEST_CHANGES + operator P2 resolved structurally). Prose updated (empty-record singleton, not `type X = X`). Structural v2-compile gate re-verified GREEN (64 modules, 1 file emitted, 0 diagnostics, no errors). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Valid REQUEST_CHANGES — addressed structurally at HEAD Fix: each of the four chain positions is now its own distinct empty-record singleton edge-identity type — Process honesty: an intermediate commit ( — sent from bold-hawk-201 |
e5f90c1 to
5f306e2
Compare
…low headers CORE ruling (still-hawk-102 via Lane B): the de-prose-vs-rail fork was FALSE — strict de-prose stands AND one mandatory `// Ledger:` pointer line per load-bearing file (pointer class, not prose). Adds the CORE-specified line after Status: in bootstrap.dag + ci.dag. No body churn; consistent with strict-de-prose (concrete ref pointer, ≤1 line). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Update — claude 14055 doctrine fork RESOLVED by CORE (still-hawk-102): FALSE fork. Ruling: strict de-prose stands and one mandatory
The next worker editing either file now sees the rail pointer at point-of-use while the rationale stays relocated in the operator-ratified docs (no body churn, consistent with strict-de-prose). This closes the 14055 point-of-use-visibility concern. — sent from bold-hawk-201 |
|
Re: openai-pro 14070 REQUEST_CHANGES — The finding is technically correct against the current However, that So this is a genuine CORE-ruling-vs-merged-keystone contradiction, not a worker discipline lapse: the CORE Ledger-line mandate and
I will apply whichever CORE rules. No code change pending that reconciliation. — sent from bold-hawk-201 |
…istry doc→files) CORE ruling (still-hawk-102) on the openai-pro 14070 RC vs the modeling-discipline.md:503-531 keystone contradiction: the // Ledger: mandate is RESCINDED — strict de-prose keystone wins (header stays exactly four lines; no see-docs/X pointer in .dag). - bootstrap.dag / ci.dag: remove the // Ledger: line (-1 each). - Registry moves doc→files (Practice 5, top-down): design-pure-bootstrap-zero.md names the two load-bearing workflow files + A3/PROOF-1/STOP-rail + C4; INVARIANTS.md + src/v3/SELF_HOSTING.md add short Practice-5 registry cross-refs. Authority flows doc→files, not per-file upward pointers. Replays swift-ram-178 a94a312 verbatim onto the #3213 branch. Clears openai-pro 14070; consistent with the keystone. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Re: openai-pro 14070 — CORE (still-hawk-102) reconciled the CORE-ruling-vs-keystone contradiction: the
No in- — sent from bold-hawk-201 |
…d registry para still-hawk TRIM relay (post-a94a3123f) set the authoritative one-commit spec = NO INVARIANTS.md edit: registry lives only in docs/design-pure-bootstrap-zero.md + src/v3/SELF_HOSTING.md + the .dag // Ledger: strips. 9fda2f0 over-included the INVARIANTS.md para (replayed from the pre-trim a94a312). Drop it to conform; the two authoritative registry homes + .dag strips stand unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Re: claude 14085 (APPROVE) — non-blocking exploratory observation. Thanks. No code change — the — sent from bold-hawk-201 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
b59b5d36· Trigger:schedule - Thinking:
293s wall
Non-blocking — Strengths
src/v4/workflow/ci.dagClassified as mixed docs plus .dag substrate; the current CI/bootstrap authority boundary is fail-closed and the remaining scaffold debt is tracked with named dissolution triggers.
✅ No new blocking concerns found in the supplied PR diff.
Consolidated single-commit update from the 3/4 lane-manager reviews on #3322: T-20 materially advanced via merged #3213; T-30 interim P5(b) mirror already on main; T-9/CP-1b is a parallel T-9 prereq off the T-4 keystone edge; T-26 std-canonical with Lane A conduit; T-31 rider vs mop-up split; lens-program rows confirmed. T-4-mgr rows pending explicit ack (consistent with standing #3280 hold). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…(discussion) (#3322) * docs: R4 program dispatch plan — T-1..T-32 dependency chart + lane mapping Discussion artifact: full remaining-work dependency graph, the keystone cluster funnelling through T-4, the Wave-0 dispatch-now set, and the proposed lane/manager mapping to v4-done. For operator + lane-manager review ahead of program-wide fan-out. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fold Lane A/B/Dissolution review corrections into R4 dispatch plan Consolidated single-commit update from the 3/4 lane-manager reviews on #3322: T-20 materially advanced via merged #3213; T-30 interim P5(b) mirror already on main; T-9/CP-1b is a parallel T-9 prereq off the T-4 keystone edge; T-26 std-canonical with Lane A conduit; T-31 rider vs mop-up split; lens-program rows confirmed. T-4-mgr rows pending explicit ack (consistent with standing #3280 hold). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: May 18 * docs: fold T-4-mgr review — staleness fixes + widened keystone scope 4/4 lanes now ratified. T-4-mgr (vivid-carp-207) verified vs main: T-29(#3267)/T-4.10(#3168)/T-4.12(#3171) already LANDED, not Wave-0 — parallel count ≈14→≈11. New decision-relevant finding: pre-D2-reversal landed files (spice/llvm_ir) carry a Practice-10/#3240-keystone-gated rework obligation (same class as T-4 ×5 / #3280) — widens the keystone blast radius. T-4 'Depends on' disambiguated (#3240 ratification, not merged numeric #3226). T-29 residual #3277 attribution flagged open. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fix §5/§6 internal consistency vs folded corrections (Lane A finding) Lane A review caught §5/§6 not updated in the prior folds: §5 still listed T-29/T-4.10/T-4.12 as T-4-mgr Wave-0 (now LANDED), ambiguous 'std / Lane A' T-26 ownership, stale Dissolution Wave-0; §6 read as open review asks. §5 now matches §2/§3/§4 (T-26 std-authoritative / Lane A conduit; T-4-mgr Wave-0 empty; Dissolution T-31(b)/T-30 generated-checker); §6 → ratified status (4/4 lanes, operator §3 open). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: May 18 * docs: fresh-lane structure (§5) + operator decision sheet (§7) §5 → fresh composite manager lanes under witty-cat-59 (no reused managers, per operator); two non-migrated exceptions (vivid-carp-207 = sole #3280 freeze custodian; fierce-cat-31 = lens-fan-out closeout). §7 → consolidated decision sheet: the A-vs-B root ruling explained in tradeoff terms + every pending blocking question (#3280 disposition, #3240 ratification, T-25-core, Wave-0 go, fresh-lane defaults, de-prose py removal, #3313) with recommendations. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fix §1 ASCII keystone diagram vs §3 (cursor BLOCKING — T-29) §1 graphic still drew T-29 inside the keystone box while §3/§2/§5 treat it as LANDED (#3267), not a keystone — same single-chart internal-consistency class as the §5/§6 fix. Diagram now: 3-item cluster (P1-KEYSTONE / T-25-core / T-30); T-29 shown LANDED below. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fold #3313 lens-rework impact (Wave-2 taxonomy + batch-d hold) #3313 is in active design rework (L1.6 retired→L1.10 family, A0/A1 umbrella, pre-Practice-10-ratification). §7 row 7 updated: it's no longer flat L1.7–L1.12; Wave-2 batch (d) held track-not-finalize so witnesses aren't authored against the moving taxonomy; batches a/b/c and the keystone framing unaffected (#3313 reinforces #1=B/#3240). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: record operator B2 ruling on #3321 driver shape (§7 row 8) Operator ruled 2026-05-18: substrate-native (B2). registry.dag splits to its own .dag PR (lands now); the ~467-LOC tools/ Rust crate dropped entirely, B1 also rejected — no interim out-of-substrate enforcement shell (Python OR Rust), same thesis ruling as the de-prose-py kill. Whole-corpus gate re-scoped to the v2 filesystem-walk substrate primitive = the T-21/T-24 corpus-drive capability (PREFIX = first consumer). Operator-accepted: CI lens gate lands when that lands. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: May 18 * docs: fold still-hawk-102 review — keystone spec sharpness + 2-owner fix (1) #3240 is a CLOSED/SUPERSEDED tracker, NOT ratifiable — the keystone artifact is a not-yet-drafted modeling-discipline.md fold PR that still-hawk-102 owns drafting; §7 #3a → "authorize draft", §3 rewritten. (2) "one decision" overstated → "2-3 distinct operator items"; A-vs-B=B stated as IMPLIED by the keystone-fold, not equivalent. (3) §5 two-owner lens seam fixed: Fresh Compiler-Pipeline lens scope GATED on fierce-cat-31 fan-out closeout (one lens owner; no P2 parallel-authority drift). (4) §7 #2 no-revert-of-862bbde6e clause added. Self-consistency pass: fixed 2 stale "ratify #3240" stragglers (§3 blast-radius, §6 r5). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fold sunny-wolf-435 Wave-2 prereq + cross-lane edge (#3313 author) #3313 author flagged two real Wave-2 sequencing gaps: (1) unenumerated std/ prerequisite carriers the L1.x lenses read (canonical_observations, CanonicalConcept, 3 Exemption registries) — T-25-core-class, no owning T-# yet (P10-shape gap); (2) three derived lens-stages (match_arm_shape, closed_vocab_scan, concept_home) = Compiler-Pipeline+Lens lane, NOT Dissolution. Added §4 Wave-2-prereq block + cross-lane edge (Compiler-Pipeline builds → Dissolution Wave-2 consumes); §5 Dissolution row annotated. Reinforces batch-(d) hold. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: re-tee keystone ask to verified-exact (still-hawk self-correction) still-hawk-102 verify-don't-trust'd its own review #1: the keystone FOLD is ALREADY on main (modeling-discipline.md §581-763). Both prior framings ('ratify #3240' and 'authorize a drafting effort') were wrong. Corrected verified-exact: operator ratifies the verbatim invariant blockquote at modeling-discipline.md ~§594-600 (exists, flagged proposed/#3240-A1); still-hawk then lands it into INVARIANTS.md+ MODELING.md + de-hedges 3 sites — SMALL (~30-60 ln, mechanical, low-risk), ratify-exact-text-today not a drafting effort. Downstream effort = the retroactive v4 audit sweep (#3240 C1). §3(a)/§7#3a/§6r5/trailer aligned. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fix last stale 'not-yet-drafted' straggler (§3 blast-radius) * docs: keystone retraction (C1 not gated on A1) + Wave-2 prereq classification (A) still-hawk-102 third self-correction, verified: #3241 (fold) + #3242 (🟡-legend) BOTH merged; the v4 audit sweep #3240-C1 was gated on #3242 (merged), NOT on the A1 invariant — C1 already in motion independently. Retracted the 'authorizing A1 kicks off the v4 sweep' framing in §3(a)/§7#3a: A1 ⇒ ONLY the small placement PR, maximally low-stakes. (B) sunny-wolf-435 (#3313 author) classification, verified NONE fold under T-25-core: (1a) canonical_observations/CanonicalConcept → NEW T-# 'lens-supporting concept registries'; (1b) 3 Exemption registries → fold into each lens's own task, no T-#; (2) 3 derived lens-stages → NEW shared T-# 'Wave-2-prereq lens-pipeline derivations'. Two new owning-T#s to assign (P10-shape). §4 Wave-2-prereq block rewritten. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: final keystone re-tee — C1 sweep #3243 DONE (verified), A1 = sole open * docs: rename live keystone gate → 'Practice-10 A1 invariant'; #3240 = closed-tracker only (cursor editorial) * WIP: May 18 * docs: fix T-18 forward-dep violation (BLOCKING) + wave-ordering convention Valid BLOCKING: §2 + TASKS.md say T-18 (coverage meta-lens) depends on T-12/T-13 ('meta over the other lenses'), which only become real in Wave 3 — yet §4 listed T-18 in Wave 2 (consumer before input = Facts- Flow-Forward violation). Moved T-18 Wave 2 → Wave 4 (after T-12/T-13 real). Added a wave-ordering convention note: Wave = membership not intra-wave sequence; §2 Depends-on orders within a wave; consumer- before-input across waves is the real violation class. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: topological re-sort of wavefront (BLOCKING T-16 + pre-empt queued) Operator BLOCKING review fired consumer-before-input findings (T-18, T-16, and the same class T-4.8/T-17). Replaced the weak intra-wave convention with a TOPOLOGICAL invariant (a task is strictly later than every dep; within-wave = mutually independent, dispatch-safe on face) and re-sorted: W2 drops T-4.8; W3 gains T-4.8; W4 gains T-17 (deps T-12 real W3) + T-18; W5 = T-16 (deps T-11 W4); W6 = T-15 terminal. Every consumer now strictly after its fresh inputs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: mirror §4 topological re-sort into §5 (codex BLOCKING residual) codex BLOCKING (vs ed8b3b9, pre-resort) demanded T-18-after-T12/13, T-16-after-T-11, AND 'mirror that gating in §5'. §4 was already fixed by 9cd9831; the residual was §5 not mirroring it — the Compiler- Pipeline 'Gated' cell was a flat 'post-T-4' bag obscuring the wave sequence. Now §5 Compiler-Pipeline + Test/Bootstrap-Infra gated columns explicitly mirror §4 topology (W2 T-9 → … → W5 T-16 → W6 T-15). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fold L0/L1 asymmetry — Layer-0 hygiene CI gate early (max-utility-early) sunny-wolf-435 (#3313 author), verified vs #3313 §4/§9/§10: Layer-0 (L0.1-L0.15) reads parse+resolve only (both LANDED), NO T-9 → CI hygiene hard-gate goes live END-WAVE-1 once lens-pipeline-derivations + Layer-0 lens stage land. Layer-1 (L1.1-L1.12) needs post-T-9 + concept registries → Wave-3. §4 W1 now carries the early Layer-0 gate; W3 the L1.x fan-out; batch-d hold unchanged for L1.x. Directly serves the operator 'maximum utility as early as possible (without compromising standards)' directive. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: restore T-29 as TASKS.md-declared T-4-cpp keystone feeder (codex RC) codex REQUEST_CHANGES, VERIFIED vs origin/main: TASKS.md:64/:286/:1035 still declares T-29 a hard prerequisite of T-4's cpp slice ({P1-KEYSTONE,T-30,T-29,T-25-core}→T-4), and #3277 (T-29 residual) is OPEN — only #3267 (core) merged. The prior "T-29 LANDED / not a keystone / removed from critical branch" reclassification was a real P2/Practice-9 documentation-authority violation (dispatch graph disagreeing with the source of truth → could mis-sequence T-4). T-29 restored to the keystone cluster across §1 graph, §2 row, §3 table, §4 wave note, §5 extdeps/T-4, §6 review-status; de-classify only when #3277 lands AND TASKS.md updates (authority = TASKS.md, not this plan). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: §7 #3b — T-25-core is authorize-to-build (ratified Category-6 shape), not an open design fork --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: R4 program dispatch plan — T-1..T-32 dependency chart + lane mapping Discussion artifact: full remaining-work dependency graph, the keystone cluster funnelling through T-4, the Wave-0 dispatch-now set, and the proposed lane/manager mapping to v4-done. For operator + lane-manager review ahead of program-wide fan-out. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fold Lane A/B/Dissolution review corrections into R4 dispatch plan Consolidated single-commit update from the 3/4 lane-manager reviews on #3322: T-20 materially advanced via merged #3213; T-30 interim P5(b) mirror already on main; T-9/CP-1b is a parallel T-9 prereq off the T-4 keystone edge; T-26 std-canonical with Lane A conduit; T-31 rider vs mop-up split; lens-program rows confirmed. T-4-mgr rows pending explicit ack (consistent with standing #3280 hold). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: May 18 * docs: fold T-4-mgr review — staleness fixes + widened keystone scope 4/4 lanes now ratified. T-4-mgr (vivid-carp-207) verified vs main: T-29(#3267)/T-4.10(#3168)/T-4.12(#3171) already LANDED, not Wave-0 — parallel count ≈14→≈11. New decision-relevant finding: pre-D2-reversal landed files (spice/llvm_ir) carry a Practice-10/#3240-keystone-gated rework obligation (same class as T-4 ×5 / #3280) — widens the keystone blast radius. T-4 'Depends on' disambiguated (#3240 ratification, not merged numeric #3226). T-29 residual #3277 attribution flagged open. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fix §5/§6 internal consistency vs folded corrections (Lane A finding) Lane A review caught §5/§6 not updated in the prior folds: §5 still listed T-29/T-4.10/T-4.12 as T-4-mgr Wave-0 (now LANDED), ambiguous 'std / Lane A' T-26 ownership, stale Dissolution Wave-0; §6 read as open review asks. §5 now matches §2/§3/§4 (T-26 std-authoritative / Lane A conduit; T-4-mgr Wave-0 empty; Dissolution T-31(b)/T-30 generated-checker); §6 → ratified status (4/4 lanes, operator §3 open). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: May 18 * docs: fresh-lane structure (§5) + operator decision sheet (§7) §5 → fresh composite manager lanes under witty-cat-59 (no reused managers, per operator); two non-migrated exceptions (vivid-carp-207 = sole #3280 freeze custodian; fierce-cat-31 = lens-fan-out closeout). §7 → consolidated decision sheet: the A-vs-B root ruling explained in tradeoff terms + every pending blocking question (#3280 disposition, #3240 ratification, T-25-core, Wave-0 go, fresh-lane defaults, de-prose py removal, #3313) with recommendations. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fix §1 ASCII keystone diagram vs §3 (cursor BLOCKING — T-29) §1 graphic still drew T-29 inside the keystone box while §3/§2/§5 treat it as LANDED (#3267), not a keystone — same single-chart internal-consistency class as the §5/§6 fix. Diagram now: 3-item cluster (P1-KEYSTONE / T-25-core / T-30); T-29 shown LANDED below. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fold #3313 lens-rework impact (Wave-2 taxonomy + batch-d hold) #3313 is in active design rework (L1.6 retired→L1.10 family, A0/A1 umbrella, pre-Practice-10-ratification). §7 row 7 updated: it's no longer flat L1.7–L1.12; Wave-2 batch (d) held track-not-finalize so witnesses aren't authored against the moving taxonomy; batches a/b/c and the keystone framing unaffected (#3313 reinforces #1=B/#3240). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: record operator B2 ruling on #3321 driver shape (§7 row 8) Operator ruled 2026-05-18: substrate-native (B2). registry.dag splits to its own .dag PR (lands now); the ~467-LOC tools/ Rust crate dropped entirely, B1 also rejected — no interim out-of-substrate enforcement shell (Python OR Rust), same thesis ruling as the de-prose-py kill. Whole-corpus gate re-scoped to the v2 filesystem-walk substrate primitive = the T-21/T-24 corpus-drive capability (PREFIX = first consumer). Operator-accepted: CI lens gate lands when that lands. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: May 18 * docs: fold still-hawk-102 review — keystone spec sharpness + 2-owner fix (1) #3240 is a CLOSED/SUPERSEDED tracker, NOT ratifiable — the keystone artifact is a not-yet-drafted modeling-discipline.md fold PR that still-hawk-102 owns drafting; §7 #3a → "authorize draft", §3 rewritten. (2) "one decision" overstated → "2-3 distinct operator items"; A-vs-B=B stated as IMPLIED by the keystone-fold, not equivalent. (3) §5 two-owner lens seam fixed: Fresh Compiler-Pipeline lens scope GATED on fierce-cat-31 fan-out closeout (one lens owner; no P2 parallel-authority drift). (4) §7 #2 no-revert-of-862bbde6e clause added. Self-consistency pass: fixed 2 stale "ratify #3240" stragglers (§3 blast-radius, §6 r5). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fold sunny-wolf-435 Wave-2 prereq + cross-lane edge (#3313 author) #3313 author flagged two real Wave-2 sequencing gaps: (1) unenumerated std/ prerequisite carriers the L1.x lenses read (canonical_observations, CanonicalConcept, 3 Exemption registries) — T-25-core-class, no owning T-# yet (P10-shape gap); (2) three derived lens-stages (match_arm_shape, closed_vocab_scan, concept_home) = Compiler-Pipeline+Lens lane, NOT Dissolution. Added §4 Wave-2-prereq block + cross-lane edge (Compiler-Pipeline builds → Dissolution Wave-2 consumes); §5 Dissolution row annotated. Reinforces batch-(d) hold. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: re-tee keystone ask to verified-exact (still-hawk self-correction) still-hawk-102 verify-don't-trust'd its own review #1: the keystone FOLD is ALREADY on main (modeling-discipline.md §581-763). Both prior framings ('ratify #3240' and 'authorize a drafting effort') were wrong. Corrected verified-exact: operator ratifies the verbatim invariant blockquote at modeling-discipline.md ~§594-600 (exists, flagged proposed/#3240-A1); still-hawk then lands it into INVARIANTS.md+ MODELING.md + de-hedges 3 sites — SMALL (~30-60 ln, mechanical, low-risk), ratify-exact-text-today not a drafting effort. Downstream effort = the retroactive v4 audit sweep (#3240 C1). §3(a)/§7#3a/§6r5/trailer aligned. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fix last stale 'not-yet-drafted' straggler (§3 blast-radius) * docs: keystone retraction (C1 not gated on A1) + Wave-2 prereq classification (A) still-hawk-102 third self-correction, verified: #3241 (fold) + #3242 (🟡-legend) BOTH merged; the v4 audit sweep #3240-C1 was gated on #3242 (merged), NOT on the A1 invariant — C1 already in motion independently. Retracted the 'authorizing A1 kicks off the v4 sweep' framing in §3(a)/§7#3a: A1 ⇒ ONLY the small placement PR, maximally low-stakes. (B) sunny-wolf-435 (#3313 author) classification, verified NONE fold under T-25-core: (1a) canonical_observations/CanonicalConcept → NEW T-# 'lens-supporting concept registries'; (1b) 3 Exemption registries → fold into each lens's own task, no T-#; (2) 3 derived lens-stages → NEW shared T-# 'Wave-2-prereq lens-pipeline derivations'. Two new owning-T#s to assign (P10-shape). §4 Wave-2-prereq block rewritten. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: final keystone re-tee — C1 sweep #3243 DONE (verified), A1 = sole open * docs: rename live keystone gate → 'Practice-10 A1 invariant'; #3240 = closed-tracker only (cursor editorial) * WIP: May 18 * docs: fix T-18 forward-dep violation (BLOCKING) + wave-ordering convention Valid BLOCKING: §2 + TASKS.md say T-18 (coverage meta-lens) depends on T-12/T-13 ('meta over the other lenses'), which only become real in Wave 3 — yet §4 listed T-18 in Wave 2 (consumer before input = Facts- Flow-Forward violation). Moved T-18 Wave 2 → Wave 4 (after T-12/T-13 real). Added a wave-ordering convention note: Wave = membership not intra-wave sequence; §2 Depends-on orders within a wave; consumer- before-input across waves is the real violation class. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: topological re-sort of wavefront (BLOCKING T-16 + pre-empt queued) Operator BLOCKING review fired consumer-before-input findings (T-18, T-16, and the same class T-4.8/T-17). Replaced the weak intra-wave convention with a TOPOLOGICAL invariant (a task is strictly later than every dep; within-wave = mutually independent, dispatch-safe on face) and re-sorted: W2 drops T-4.8; W3 gains T-4.8; W4 gains T-17 (deps T-12 real W3) + T-18; W5 = T-16 (deps T-11 W4); W6 = T-15 terminal. Every consumer now strictly after its fresh inputs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: mirror §4 topological re-sort into §5 (codex BLOCKING residual) codex BLOCKING (vs ed8b3b9, pre-resort) demanded T-18-after-T12/13, T-16-after-T-11, AND 'mirror that gating in §5'. §4 was already fixed by 9cd9831; the residual was §5 not mirroring it — the Compiler- Pipeline 'Gated' cell was a flat 'post-T-4' bag obscuring the wave sequence. Now §5 Compiler-Pipeline + Test/Bootstrap-Infra gated columns explicitly mirror §4 topology (W2 T-9 → … → W5 T-16 → W6 T-15). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: fold L0/L1 asymmetry — Layer-0 hygiene CI gate early (max-utility-early) sunny-wolf-435 (#3313 author), verified vs #3313 §4/§9/§10: Layer-0 (L0.1-L0.15) reads parse+resolve only (both LANDED), NO T-9 → CI hygiene hard-gate goes live END-WAVE-1 once lens-pipeline-derivations + Layer-0 lens stage land. Layer-1 (L1.1-L1.12) needs post-T-9 + concept registries → Wave-3. §4 W1 now carries the early Layer-0 gate; W3 the L1.x fan-out; batch-d hold unchanged for L1.x. Directly serves the operator 'maximum utility as early as possible (without compromising standards)' directive. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: restore T-29 as TASKS.md-declared T-4-cpp keystone feeder (codex RC) codex REQUEST_CHANGES, VERIFIED vs origin/main: TASKS.md:64/:286/:1035 still declares T-29 a hard prerequisite of T-4's cpp slice ({P1-KEYSTONE,T-30,T-29,T-25-core}→T-4), and #3277 (T-29 residual) is OPEN — only #3267 (core) merged. The prior "T-29 LANDED / not a keystone / removed from critical branch" reclassification was a real P2/Practice-9 documentation-authority violation (dispatch graph disagreeing with the source of truth → could mis-sequence T-4). T-29 restored to the keystone cluster across §1 graph, §2 row, §3 table, §4 wave note, §5 extdeps/T-4, §6 review-status; de-classify only when #3277 lands AND TASKS.md updates (authority = TASKS.md, not this plan). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: §7 #3b — T-25-core is authorize-to-build (ratified Category-6 shape), not an open design fork * docs: reconcile T-25-core framing class to §7 #3b ratified authorize-to-build shape Blocking operator review on #3339 (r4-program-dispatch-plan.md): T-25-core was still framed as an open design-direction / operator-review fork in §2, §3, and the §6/§7 prose, contradicting §7 #3b (commit 363bb76) and the canonical authority (TASKS.md:940-943 operator-ratified; :962-982 + coercion-design.md Category 6 = shape already designed: base type + fail-closed validation at a named constructor boundary). Fixed the whole class (lines 108, 151, 201-202, 206, 345, 392-393, 396) to "authorize-to- build stamp, shape ratified, NOT a design fork". Legit keystone-cluster feeder references (TASKS.md:64 exact set) left intact — canonically correct. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: May 18 * docs: fix dual-authority — §5 lane active-status + §6 row carried "HELD on keystone" shorthand vs the full feeder set (openai-pro RC #3339) openai-pro REQUEST_CHANGES (review 14421, head b2f0fa5): §5 Fresh extdeps/T-4 lane active-status cell (:317) and §6 vivid-carp-207 row (:341) still said "HELD on keystone", contradicting §2 :81 "all four gate T-4" + the same row's gated cell. A worker scanning the lane table could read keystone-closure as sufficient. Both now state the full TASKS.md:286 feeder set {P1-KEYSTONE,T-30,T-29,T-25-core} — one gate everywhere. Same class as the prior 3-site normalization; this closes the active-status shorthand the earlier pass missed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: add TASKS.md anchor convention note (cursor #3339 exploratory obs — APPROVE) cursor/composer-2 (review 14425) APPROVE, no findings; one actionable exploratory observation: the brief cites `TASKS.md:NNN` without a path and there is no root-level `TASKS.md` (only src/v4/TASKS.md), so a reader could hunt for a missing file. Added one proportionate anchor-convention note to the Purpose block (not churning every citation) stating all `TASKS.md:NNN` anchors refer to src/v4/TASKS.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: Wave 1 over-gated T-4.5/T-4.6 on the full ×4 — split unblock conditions (openai-pro RC #3339, review 14429) Valid finding (a regression from the prior Wave 1 normalization): grouping "T-4 ×5 languages, T-4.5, T-4.6 unblock" under "the keystone-cluster ×4 land" implied T-4.5/T-4.6 are gated on the full {P1-KEYSTONE,T-30,T-29, T-25-core}. But §2 :85/:86 declare T-4.5 deps {T-3,T-25-core} and T-4.6 deps {T-25-core,T-26} — neither needs P1-KEYSTONE/T-30/T-29. Wave 1 text now gates only T-4 ×5 on the full ×4; T-4.5/T-4.6 unblock on T-25-core (their sole cluster feeder) + own §2 deps, potentially earlier. §2 table reaffirmed as the dependency authority. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: whole-doc §1/§4/§5-vs-§2 consistency sweep — harden §5 gated cell (T-4.5–4.8 not full-×4); pre-empt the recurring class Following the openai-pro 14429 Wave-1 over-gating fix (f223fb7), did a full consistency audit of every gate/unblock restatement vs the §2 dependency authority. §4 Waves 2-6, §1 ASCII, §6 verified consistent. One latent ambiguity remained: §5 extdeps/T-4 gated cell listed "T-4.5–4.8" right after "T-4 (post the full feeder set)", readable as T-4.5–4.8 being full-×4-gated. Hardened it to state T-4.5–4.8 follow their own §2 deps (not the full ×4) + §2 is the sole dependency authority — closing the class that successive reviews kept finding one instance of, rather than waiting for the next gap-by-gap flag. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: drop brittle internal :NN self-anchors → name-only refs (openai-pro RC #3339, review 14436) Valid finding: §5 lane row self-referenced "§2 T-4 row :81" but the doc grew from prior edits so :81 is now T-6 (T-4 is :84). Root cause is hardcoded internal line anchors that re-stale on every edit. Per openai-pro's own "remove the numeric suffix" option, converted ALL internal self-anchors to name-based refs: §5 ":81" dropped; Wave 1 "§2 :85/:86" → "per the §2 T-4.5/T-4.6 row". External src/v4/TASKS.md:NN anchors untouched (different stable file). Permanently closes the brittle-self-anchor sub-class rather than chasing the number each pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…cile docs/audit/dissolution-inventory.md counts to post-#3338 ground truth (bool/scalar x6); stale across #3325/#3337/#3306/#3299 — land consistent inventory; merge-gate surface verified-ready only; Rust-to-0 gate binding. (#3348) * WIP: [Mode-1 MAX-PAR] dissolution-inventory post-#3338 count-retcon: reconcil * docs: dissolution-inventory — drop archived session id Replace stale jolly-ibex-599 reference with generic burn-down queue wording. Co-authored-by: Cursor <cursoragent@cursor.com> * docs: fix llvm_instruction_cost match-arm count in dissolution-inventory cost.dag uses 25 match arms (24 LlvmInstruction constructors; Conversion split for BitCast). Align §1.1 P9, §2.4 llvm_ir, and §2.6 with live code. Co-authored-by: Cursor <cursoragent@cursor.com> * docs: dissolution-inventory §2.8 — full test/claim roll-call (11 files) Enumerate manual/ (4), boundary/, impossible_bug/; classify resolve_compile_anchor.dag harness fn vs Practice-10 findings; tie 73-file scope to §2.8 count. Fixes merge-gate mismatch vs live tree. Co-authored-by: Cursor <cursoragent@cursor.com> * docs: dissolution-inventory §2.5 — workflow filled cores (22 fn) At e5bde49 bootstrap.dag has 5 fns and ci.dag has 17; replace obsolete #3213-held-empty scaffold narrative. Record DECISIONS LB-P10/LB-P4/LB-T22 in-file tags; align scope paragraph with §2.5. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve dissolution-inventory §1.1 P1–P4: take main’s P1/P3/P4 substrate rows and retain P2 workflow (#3213) rollup pointer. Co-authored-by: Cursor <cursoragent@cursor.com>
…alignment (#3379) * WIP: [Mode-1 MAX-PAR] dissolution-inventory post-#3338 count-retcon: reconcil * docs: dissolution-inventory — drop archived session id Replace stale jolly-ibex-599 reference with generic burn-down queue wording. Co-authored-by: Cursor <cursoragent@cursor.com> * docs: fix llvm_instruction_cost match-arm count in dissolution-inventory cost.dag uses 25 match arms (24 LlvmInstruction constructors; Conversion split for BitCast). Align §1.1 P9, §2.4 llvm_ir, and §2.6 with live code. Co-authored-by: Cursor <cursoragent@cursor.com> * docs: dissolution-inventory §2.8 — full test/claim roll-call (11 files) Enumerate manual/ (4), boundary/, impossible_bug/; classify resolve_compile_anchor.dag harness fn vs Practice-10 findings; tie 73-file scope to §2.8 count. Fixes merge-gate mismatch vs live tree. Co-authored-by: Cursor <cursoragent@cursor.com> * docs: dissolution-inventory §2.5 — workflow filled cores (22 fn) At e5bde49 bootstrap.dag has 5 fns and ci.dag has 17; replace obsolete #3213-held-empty scaffold narrative. Record DECISIONS LB-P10/LB-P4/LB-T22 in-file tags; align scope paragraph with §2.5. Co-authored-by: Cursor <cursoragent@cursor.com> * docs: roll §2.5 workflow LB-P10-3213 surface into §1.1 ranked plan Enumerate DECISIONS Part 7 list-op sub-rows (MEMBER…FIND) + Kahn terminal and tie them to P2/P4/T-22; remove defer-to-burn-down wording so merge-gate inventory stays checkable (addresses blocking review on #3379). Co-authored-by: Cursor <cursoragent@cursor.com> * docs: dual-bind ci_all_commands_authority_ok under P2 ALL + T-22 Inventory rollup omitted the jobs-sweep wrapper’s ALL-shaped list-op dissolution; align §1.1/§2.5 with DECISIONS LB-P10-3213-ALL combinator class and add burn-down caveat so merge-gate accounting stays single-count. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: [Mode-1 MAX-PAR] dissolution-inventory post-#3338 count-retcon: reconcil * docs: add ci_all_commands_authority_ok to LB-P10-3213-ALL in DECISIONS Part 7 ledger must match dissolution-inventory §1.1 ALL roll-call so the P2 list-op receipt is checkable; note dual LB-T22-3213 on inner predicate. Co-authored-by: Cursor <cursoragent@cursor.com> * docs: scope P2 count vs workflow LB-P10-3213 merge-gate bucket Reconcile §1.1 P2 🟡-count (5+29 = §2.2 only) with workflow rollup under the same P2 arrival; align §1.2 burn-down row and add caveat 4 (codex 14873). Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
workflow/bootstrap.dag:Stage/BootstrapStep/BootstrapPlanas inert data; canonicalseed → self0 → self1 → fixptplan that v2'sruninterpreter walks. No orchestration body (build.rs/shell = the v3 regression door).workflow/ci.dag:CiJob/CiGate/CiPipelinedata;Symbol-edge job DAG; canonical concrete instance modeling the structural v2-compile gate (the existing day-1 CI gate).Discipline
Owns/Consumes/Scope/Anchorimmutable-header lines unchanged (frozen-scaffold-header ratification respected).Hashpin is not a stored literal (K-1 opaque; produced bycontent_hashB1 at interpret time, asserted by T-15). Job/gate edges areSymbolname-references, never producer-inlining (cyclic-graph discipline).yaml_emit -> Outcome<String>seam . #3 (INVARIANTS P3).Test plan
v2-compiler compile --source-root src/v4→ indexed 64 modules, 0 diagnostics (the existing CI bootstrap-viability gate).🤖 Generated with Claude Code