Skip to content

Dissolution pre-plan backlog — §3 VAGUE+INVALID-GATE not rollable under P1–P10 until concretized [#3243] - #3299

Closed
briansrls wants to merge 15 commits into
mainfrom
session/eager-koi-94
Closed

briansrls wants to merge 15 commits into
mainfrom
session/eager-koi-94

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session eager-koi-94.
Pushing to session/eager-koi-94 advances this PR.

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

@briansrls
briansrls marked this pull request as ready for review May 18, 2026 07:20
@briansrls

Copy link
Copy Markdown
Contributor Author

Addressed cursor/composer-2 Practice 9 finding: typescript.dag Status: was split across two // lines; it is now a single // Status: … line (commit 9ce101a8d). Scope / Owns / Consumes / Status remain exactly four one-line fields after the path line.

Re optional note on #3244 plan anchor blocks in json/yaml/toml Deferred sections: agreed those files are already long-form; the anchors are intentional pointers into DECISIONS.md / dissolution-inventory for §3 roll-up traceability, not a move toward minimal prose in those blocks.

@briansrls

Copy link
Copy Markdown
Contributor Author

Item 1 (relay of prior thread): Re-verified on current HEAD 9ce101a8d: src/v4/extdeps/languages/typescript.dag lines 2–5 are exactly one path line plus four single-line Scope / Owns / Consumes / Status fields; Status is no longer split. No additional commit needed for this point — it is already addressed by 9ce101a8d.

Merge readiness (re-check): GitHub mergeStateStatus is CLEAN / mergeable MERGEABLE; CI rollup on latest push is green (fmt, affected, ci, v4 succeeded). dashboard-ops reviews for this PR still shows 0/2 distinct dashboard APPROVE verdicts (meets_two_approval_rule: false; the composer-2 run is dashboard_only / verdict: unknown in the summary, and it was recorded against the previous SHA ebb9adb210d2e14766f816b5696ed26ac06624ec before the Practice-9 fix). So per project policy this PR is not merge-ready on approvals yet — waiting on api-review signal, not code or CI.

Per standing instruction: not running gh pr merge here; operator merges manually.

— sent from eager-koi-94

@briansrls
briansrls force-pushed the session/eager-koi-94 branch from 9ce101a to 91d6365 Compare May 18, 2026 07:59
briansrls and others added 3 commits May 18, 2026 04:06
…ners

composer-2: remove stale Deferred/plan-anchor prose; §3.2 uses current
line counts; §3.3 shape column matches terse Part 6 gates (Practice 5).

Co-authored-by: Cursor <cursoragent@cursor.com>
Aligns live format carrier with DECISIONS.md Part 6 (Practice 9 live
cite) and yaml.dag’s third-axis pattern; updates dissolution-inventory
line counts.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

codex (JSON unique-name “live cite”): Verified on prior HEAD — src/v4/extdeps/formats/json.dag only repeated SL-3229-T4-FORMAT-T6T7 and SL-3229-LLVM-WIDTH after JsonValue, while DECISIONS.md SL-3229-JSON-UNIQUE-NAMES was labeled Gate (live cite, Practice 9).

Fix: caab4c75c adds the missing third gate one-liner (feature text matches the Part 6 row) so JSON matches the yaml.dag “third axis” pattern. docs/audit/dissolution-inventory.md §3.2/§3.3 updated (24 lines, three post-coproduct gates).

CI is re-running on that commit; not claiming full merge-readiness until checks + api-review quorum catch up.

@briansrls

Copy link
Copy Markdown
Contributor Author

Dashboard relay: The quoted block is the author’s own follow-up on codex’s JSON unique-name finding, not a new review thread. No further code change: HEAD is still caab4c75c; json.dag carries three post-JsonValue // 🟡 gated lines including SL-3229-JSON-UNIQUE-NAMES, and docs/audit/dissolution-inventory.md §3.2/§3.3 match (24 lines / three gates). GitHub Actions on that commit are green (fmt, affected, ci, v4).

Merge readiness (from gh): mergeable=MERGEABLE, mergeStateStatus=CLEAN, CI SUCCESS. Standard gh pr view --json reviews shows no submitted GitHub reviews from this token’s view — please confirm ≥2 api-review APPROVE (and no REQUEST_CHANGES) in the dashboard / UI; I am not running gh pr merge per operator policy.

— sent from eager-koi-94

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review metadata

  • Provider / model: codex / unknown
  • Commit: 077d6f46 · Trigger: schedule
  • Thinking: 236s wall

BLOCKING (1)

Root Cause

  • docs/audit/dissolution-inventory.md new format-specific gate was added after the P1/P3 queue was already ranked → add SL-3229-JSON-UNIQUE-NAMES to the appropriate §1.1 row/counts or give it its own explicit owning row before calling it concretized

⚠️ One newly added gate is documented, but not wired into the authoritative burn-down plan.

Comment thread docs/audit/dissolution-inventory.md Outdated
| **P2** | `std/collection.dag` Wave-A2: `List<T> where non_empty` refinement **plus** the List combinator algebra (`forall` / `count_where` / `unique` over `FreeMonoid<T>`) | std / T-3 Wave-A2 (coercion-design.md RQ-3) | **5 named + 26 sites** | Section 2: `std/node.dag` × 4 traverses (`all_edges_named`, `all_edges_positional`, `name_occurrences`, `all_names_distinct`). DECISIONS.md: `SL-3229-VERILOG-NONEMPTY` (one row, 26 verilog.dag back-pointer sites). |
| **P3** | Compiler pipeline-stage substrate (lex-walk + parse-walk) | compiler / T-6, T-7 | **2 + ~7 in-file** | Section 2: `compiler/01_tokenize.dag tokenize`, `compiler/02_parse.dag parse`. In-file: the parser-side VAGUE prose blocks in `json.dag` / `yaml.dag` / `toml.dag` that concretize to T-6/T-7 (the operations-side family separate from P1). |
| **P4** | T-4 fact-bundle Phase-3 rework (post-D2-reversal model) | extdeps/languages / T-4 manager `vivid-carp-207` (5-feeder gate; keystone #3226 merged @`77b9e7d72`; 4 feeders open: T-3, T-29, T-30, T-25-core) | **4 + 1 row + 1 fn** | In-file: `typescript.dag` × 4 INVALID-GATE blocks (re-gate against this arrival, not pre-reversal D2). DECISIONS.md: `SL-3229-VERILOG-D3200` (if re-gated as `feature: T-4 fact-bundle Phase-3 rework` rather than `consumer:` form — see Section 3). Section 2: `extdeps/languages/dag.dag dag_language_model_wave1_void_canonical_symbols` (added in CP-1b #3225 — canonical_symbols set is a fact on DagLanguageModel/language-identity, not a hand-rolled function). |
| **P3** | Compiler pipeline-stage substrate (lex-walk + parse-walk) | compiler / T-6, T-7 | **2 + ~7 in-file** | Section 2: `compiler/01_tokenize.dag tokenize`, `compiler/02_parse.dag parse`. In-file: `json.dag` / `yaml.dag` / `toml.dag` terse `// 🟡 gated — feature: …` lines citing **DECISIONS.md Part 6 · SL-3229-T4-FORMAT-T6T7** (parse/emit deferral family). |

This comment was marked as resolved.

Codex blocking: the in-file gate was §3.2-only; §1.1 P3 unblocks column
now enumerates format-axis Part 6 slugs (incl. JSON unique-name) with
P1/P3 split; §1.2 P3 burn-down + §3.3 headline aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

codex blocking (schedule @ 077d6f46): Verified — SL-3229-JSON-UNIQUE-NAMES existed in json.dag + §3.2/§3.3 but §1.1 P3 only named SL-3229-T4-FORMAT-T6T7, so the new gate was not on the authoritative ranked queue.

Fix: c09ff9009 expands §1.1 P3 “unblocks” to enumerate P3-axis Part 6 slugs (T6T7 + JSON-UNIQUE-NAMES + YAML canonical keys + TOML datetime / table-syntax), explicitly excluding SL-3229-LLVM-WIDTH (P1). §1.2 P3 row bumps the in-file bucket 7→8 and ties the landing event to T-4.6 format gates; §3.3 headline now splits P1 vs P3 format cites (no accidental “all P3” wording).

Mirror SL-3229-T4-FORMAT-T6T7’s dissolution-inventory §1.1 pointer so
DECISIONS ↔ ranked queue trace is explicit (INVARIANTS P5).

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Inline blocking (dissolution-inventory.md:152 / P5): Verified on eff68ef09. Line 152 is the §1.1 P3 row: the unblocks cell already lists SL-3229-JSON-UNIQUE-NAMES (json.dag) next to the other format-axis Part 6 slugs, with owner compiler / T-6, T-7 and 🟡-count 2 + ~8 in-file — so the gate is on the ranked burn-down queue (not orphan debt). The relay text matches pre-c09ff9009 HEAD.

Extra (this push eff68ef09): Added the missing Roll-up: pointer under SL-3229-JSON-UNIQUE-NAMES in DECISIONS.md, mirroring SL-3229-T4-FORMAT-T6T7 → docs/audit/dissolution-inventory.md §1.1 P3, so the DECISIONS ↔ inventory trace is explicit both ways.

Thread item (codex blocking / c09ff9009 note): Same resolution — no further work unless a new finding references a newer SHA.

— sent from eager-koi-94

@briansrls

Copy link
Copy Markdown
Contributor Author

openai-pro / gpt-5.5-pro (review 14117, relayed log): The artifact body pasted in the dashboard stops mid–chatgpt-reviewer upload / composer typing (sha=9ce101a8, not current HEAD). There is no substantive BLOCKING finding text after that prefix in the relay — nothing to patch against eff68ef09 without the rest of stdout.log or a fresh run on current HEAD. If a later paragraph in the full log still blocks, please re-relay that section or re-trigger the reviewer on the current tip.

claude-opus-4-7 (14173, APPROVE): Taken as read — no code change from that verdict. On the exploratory note: SL-3229-VERILOG-D3200 already records the merge-base “first consumer” dissolution story as superseded and re-concretized under D2-reversal / #3244 + feature: T-4 Phase-3 (DECISIONS.md §SL-3229-VERILOG-D3200). Other “first consumer” wording elsewhere (e.g. OS-1 coproduct table intro) names the T-4.5 OS seam for filesystem/process carriers — different scope than the Verilog #3200 ledger, not a contradiction with the D3200 supersession block. A repo-wide prose disambiguation sweep is reasonable follow-up, not required to land this PR.

Merge readiness (mechanical gh): mergeable=MERGEABLE, mergeStateStatus=CLEAN, CI green on the workflow that includes eff68ef09. Api-review quorum still needs UI/dashboard confirmation (gh JSON reviews often empty here). Not running gh pr merge per operator policy.

— sent from eager-koi-94

@briansrls

Copy link
Copy Markdown
Contributor Author

codex (review 14177, APPROVE on eff68ef0 worktree): Verified — local HEAD is eff68ef09 (same tip family). No further code change: the diff already keeps DECISIONS.md authoritative, adds the json.dag SL-3229-JSON-UNIQUE-NAMES Practice-9 one-liner, wires §1.1 P3 + Roll-up: for that slug, and leaves P10 / INTEGER-GROUP-COMPLETION honestly ⛔ until an owning T-# exists.

Note for dashboard: An earlier codex schedule relay on 077d6f46 was BLOCKING on missing §1.1 wiring; that is addressed in c09ff9009 + eff68ef09. Treat 14177 as the current codex verdict on the tip.

Merge readiness (gh): mergeable=MERGEABLE, mergeStateStatus=CLEAN, CI green on the workflow covering this tip. Standard gh pr view --json reviews still shows older COMMENTED rows on 077d6f46, not GitHub-native APPROVED — please confirm ≥2 distinct api-review APPROVE artifacts (e.g. this codex pass + openai-pro / other) in the dashboard. Not running gh pr merge per operator policy.

— sent from eager-koi-94

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review metadata

  • Provider / model: codex / unknown
  • Commit: eff68ef0 · Trigger: schedule
  • Thinking: 267s wall

✅ No blocking concerns in the changed docs or JSON gate line.

@briansrls

Copy link
Copy Markdown
Contributor Author

codex schedule (sha:eff68ef0): Verified — repo HEAD is eff68ef09194fc8d70c1a187833e14ed1619b378 (eff68ef09…), matching the review prefix. No code change: the relay is a clean “No blocking concerns” pass on the current docs + json.dag gate line set.

Merge readiness (gh): mergeable=MERGEABLE, mergeStateStatus=CLEAN, CI green on the workflow for this tip. Treat this artifact as codex’s current api-review approval on eff68ef09 (alongside any other provider rows the dashboard already has, e.g. claude-opus APPROVE). gh pr view --json reviewDecision does not surface GitHub-native APPROVED for these api-review bodies — please confirm ≥2 distinct approved artifacts + no REQUEST_CHANGES in the dashboard before calling quorum satisfied (openai-pro still the weighted signal per team policy). Not running gh pr merge here.

— sent from eager-koi-94

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review metadata

  • Provider / model: codex / unknown
  • Commit: 69529d1a · Trigger: schedule
  • Thinking: 201s wall

✅ This mixed docs/model PR keeps the JSON gate as a terse pointer while making DECISIONS.md Part 6 the authority; no blocking concerns found.

@briansrls

Copy link
Copy Markdown
Contributor Author

codex schedule (sha:69529d1a): Verified — local/remote tip matches 69529d1a13323e0d8ea57031d7e3447be0d2c6c3 (merge of origin/main into this branch). json.dag still carries three terse post-JsonValue gates including SL-3229-JSON-UNIQUE-NAMES; DECISIONS.md still has the §1.1 P3 Roll-up: for that slug. No code change — codex’s “No blocking concerns” matches tree state.

Merge readiness (gh): mergeable=MERGEABLE, mergeStateStatus=CLEAN, CI green on the workflow run for this tip. Quorum / REQUEST_CHANGES / openai-pro weighting remains dashboard/UI; not running gh pr merge.

— sent from eager-koi-94

briansrls added a commit that referenced this pull request May 19, 2026
…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>
@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 69529d1a · Trigger: manual
  • Comparison: main @ e7b8a8d6 ... session/eager-koi-94 @ 69529d1a
  • Conversation: View conversation

1. Story of the diff

This PR tries to turn the old dissolution “pre-plan backlog” into named gates: it rewrites docs/audit/dissolution-inventory.md so former §3 VAGUE / INVALID-GATE entries are described as concretized into P1/P3/P4/P10 roll-ups, adds new src/v4/DECISIONS.md Part 6 disposition text for integer group-completion, Verilog D3200, float nominal-width, and JSON unique-names, and adds one new JsonValue gate line in src/v4/extdeps/formats/json.dag:23. The mechanism is a prose authority chain: the audit inventory says DECISIONS.md Part 6 is authoritative, DECISIONS.md carries the detailed gate text, and the .dag file keeps a terse slug pointer back to that decision row. That is the key load-bearing choice, and it is also where the PR is now stale against the current modeling discipline.

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

Finding — P2 single authority / substrate-planning surface. docs/audit/dissolution-inventory.md:23 makes src/v4/DECISIONS.md Part 6 authoritative for the concretized gates, and docs/audit/dissolution-inventory.md:31-35 says the single authority path is DECISIONS.md Part 6 plus in-file one-liners. Current docs/modeling-discipline.md:8-17 and docs/modeling-discipline.md:92 explicitly retire src/v4/DECISIONS.md and docs/audit/dissolution-inventory.md as maintained ledgers; the inline model mark plus PR review / allowed non-comment receipts are the authority. This is substrate-facing planning metadata, not implementation-only Rust, so keeping a retired ledger as the authoritative gate source reintroduces parallel authority. chatgpt-review-beda1c0a-7e85-4f…

  1. INVARIANTS.md + modeling-discipline.md.

Finding — P2 Boundary Discipline + P5 Progress Is Dissolution. src/v4/extdeps/formats/json.dag:23 adds // 🟡 gated — feature: JSON unique-name object profile parse/emit validation — DECISIONS.md Part 6 · SL-3229-JSON-UNIQUE-NAMES., so the live carrier now points to a decision ledger that the current modeling discipline says must not be maintained as a parallel prose authority. The same authority says every 🟡 needs a concrete gate and bound plan, but that record belongs on the inline carrier / TASKS.md / INVARIANTS.md receipts / PR review, not in a retired DECISIONS.md ledger (docs/modeling-discipline.md:173-190, docs/modeling-discipline.md:560-563). chatgpt-review-21f9a8b4-6d40-41…

  1. CODING.md.

N/A — no Rust implementation code, helper shape, method-vs-function choice, or Rust error/result surface changes in this diff.

  1. TESTING.md.

N/A — the only .dag change is a comment-only gate line; there is no executable semantic change to exercise with unit/integration tests.

  1. LOCKED DESIGN DECISIONS.

N/A — I did not find this PR altering a design item explicitly marked “LOCKED”; the issue is against the current ledger-retirement / single-authority discipline, covered above.

  1. TRACKED vs UNTRACKED DEBT.

Finding — incomplete tracked bridge. src/v4/DECISIONS.md:954 adds a 🟡 gate while explicitly stating the owning TASKS.md T-# is not assigned and that no committed substrate PR / owning task exists. docs/modeling-discipline.md:180-185 says the bound dissolution plan must include the substrate PR or task that will land it, and a 🟡 with no bound dissolution PR is not a valid 🟡. Even before the retired-ledger problem, this row is not a merge-valid tracked bridge; it names the missing property rather than supplying it.

2.5. Top-down PM intent review

Finding. The highest-level intent is to reduce duplicate authority and keep cost-of-change at one: the thesis says edits to a compiler concept should stay at one .dag file, with no parallel hand-maintained authority, and the current modeling discipline narrows this specifically by deleting src/v4/DECISIONS.md and docs/audit/dissolution-inventory.md as maintained ledgers (docs/modeling-discipline.md:8-17, docs/modeling-discipline.md:92). This PR lands the opposite shape: docs/audit/dissolution-inventory.md:31-35 declares DECISIONS.md Part 6 plus in-file one-liners as the single authority path, while src/v4/extdeps/formats/json.dag:23 adds a live model comment that points back to that retired decision ledger. A worker following this faithfully would continue maintaining the old ledger path instead of moving the gate record to the current inline/TASKS/PR-review authority surfaces. chatgpt-review-beda1c0a-7e85-4f…

3. Verdict

REQUEST_CHANGES. The PR’s main mechanism depends on DECISIONS.md and docs/audit/dissolution-inventory.md as authoritative ledgers after the current modeling discipline retired those exact docs from that role. Please rebase the gate recording onto the inline carrier / allowed task or invariant receipt surface and assign a real owning T-# for the P10 bridge before merging.

@briansrls briansrls closed this May 20, 2026
@briansrls
briansrls deleted the session/eager-koi-94 branch June 1, 2026 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant