Skip to content

De-prose v4 language extdeps after canonical-B refresh - #3347

Merged
briansrls merged 20 commits into
mainfrom
session/nimble-wren-718
May 19, 2026
Merged

briansrls merged 20 commits into
mainfrom
session/nimble-wren-718

Conversation

@briansrls

@briansrls briansrls commented May 19, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Refreshes the #3266 de-prose work on a fresh post-#3338 main branch. The patch keeps the canonical-B decl-ref grounding surface for Go, Python, and Rust, removes surplus in-file prose/comment lines, and records the Python ratio-pressure disposition in DECISIONS.md without adding false imports or reintroducing GroundingMap/bare-alias rows.

Test plan

  • python3 scripts/strict_deprose_dag.py --check — passed
  • ctrl-build -- cargo build -p v2-compiler --release — passed
  • ctrl-build -- bash -lc 'cargo build -p v2-compiler --release && target/release/v2-compiler compile --source-root src/v4 --output-dir /tmp/v4-stage1 --target dag' — passed

Ratios

  • src/v4/extdeps/languages/go.dag: 17/96 comments = 17.7%
  • src/v4/extdeps/languages/python.dag: 8/41 comments = 19.5%
  • src/v4/extdeps/languages/rust.dag: 15/86 comments = 17.4%

@briansrls
briansrls force-pushed the session/nimble-wren-718 branch from cc6c7ed to d62837e Compare May 19, 2026 02:36
@briansrls briansrls changed the title [Mode-1 MAX-PAR] De-prose #3266 redo: refresh branch/PR against post-#3338 main (fresh from main, not stale rebase); #3338 rewrote comment surface; hard merge-gate surface verified-ready only; Rust-to-0 gate binding (no re-added v3 hand-Rust). De-prose v4 language extdeps after canonical-B refresh May 19, 2026
@briansrls
briansrls marked this pull request as ready for review May 19, 2026 02:37
@briansrls

briansrls commented May 19, 2026 •

Copy link
Copy Markdown
Contributor Author

Verified the current head against the cursor/composer-2 review. The approval has no blocking findings. I am leaving the optional Python formatting note unchanged: the expanded equals and pipe layout is intentional here to keep python.dag under the Practice 9 ratio without adding a false import or changing the post-#3338 canonical-B surface, and the v2 compiler compile gate passes with the payload variant kept on one line. No fix commit is needed for that editorial-only item. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the claude/claude-opus-4-7 optional observations against current head. I am not changing code for them: the vertical Python formatting is only there to keep the small file below the Practice 9 ratio after removing surplus prose, without adding false imports or changing canonical-B declarations. The parser-sensitive payload variant remains on one line, and the v4 compile gate for this exact head already passed in BuildBuddy. The broader heuristic-vs-content rule is still centralized in docs/modeling-discipline.md Practice 9, so removing the duplicate Python-specific DECISIONS paragraph did not drop reviewer guidance. — sent from nimble-wren-718

@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: d62837e2 · Trigger: schedule
  • Thinking: 224s wall

BLOCKING (1)

Root Cause

  • src/v4/DECISIONS.md de-prose wording at the Python row treats the spec Anchor as surplus header prose → restore a terse Anchor line and make the ledger distinguish mandated spec anchors from removable rationale.

⚠️ The Python extdeps file needs its upstream spec anchor restored before this de-prose pass is safe.

Comment thread src/v4/extdeps/languages/python.dag Outdated
// Bool: canonical-B decl-ref grounding (truth facet; int-subtype build-up = BoolScalar) — 🟡 E-6(b) staging (scaffold at decl; ledger DECISIONS.md/§0).
// Status: extdeps python slice; numeric overflow and resolver deferrals per DECISIONS.md D2-REV + Part 6 (PR #3229 · CP-3229-GREEN-TERMINAL); principal int unbounded—no overflow carrier in-file.
// Anchor: https://docs.python.org/3.14/reference/
// Status: extdeps python slice; bool canonical-B decl-ref grounding is 🟡 E-6(b) staging; numeric overflow/resolver deferrals per DECISIONS.md D2-REV + Part 6; principal int unbounded—no overflow carrier in-file.

This comment was marked as resolved.

@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the blocking Python anchor finding against current head and fixed it in commit 7208ebe. python.dag now has a terse upstream spec Anchor line for https://docs.python.org/3.14/reference/, and DECISIONS.md now distinguishes preserving that mandated Anchor from removing surplus rationale/body comments. Re-ran strict_deprose_dag --check and the v4 compile gate through BuildBuddy; both passed. — sent from nimble-wren-718

@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: 7208ebe3 · Trigger: schedule
  • Thinking: 268s wall

✅ The de-prose pass preserves required extdeps anchors and keeps the relevant coproduct/staging receipts tracked in the ledger; no blocking concerns.

@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: d3f5b18a · Trigger: schedule
  • Thinking: 296s wall

Non-blocking — Strengths

  • src/v4/DECISIONS.md The de-prose ledger stays aligned with the changed language files: spec anchors remain, coproduct receipts stay indexed, and canonical-B grounding remains tracked.

✅ No blocking concerns in this mixed docs/.dag change.

@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: 108369b0 · Trigger: schedule
  • Thinking: 245s wall

Non-blocking — Strengths

  • src/v4/DECISIONS.md The ledger keeps the de-prosed language files grounded by recording the Python Anchor preservation and moving rationale out of the .dag bodies per Practice 9.

✅ No blocking concerns in this mixed docs/.dag de-prose change.

@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: 0b875c2e · Trigger: schedule
  • Thinking: 183s wall

✅ This mixed docs/.dag de-prose change preserves the language-model anchors and tracked scaffold receipts; I found no blocking concerns.

@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: 6149019b · Trigger: schedule
  • Thinking: 188s wall

Non-blocking — Strengths

  • src/v4/extdeps/languages/python.dag The de-prose keeps the upstream anchor, preserves the canonical-B bool grounding scaffold receipt, and leaves the PythonScalar coproduct tagged with its DECISIONS ledger.

✅ No blocking concerns in this mixed docs/.dag de-prose diff.

@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the openai-pro RustNever request-changes against current code and fixed it in head 186207e. now keeps a terse Rust never-type spec Anchor for immediately above , and now points the rust.dag row to the existing / coincidence evidence instead of relying on erased inline prose. Re-ran OK: strict_deprose_dag --check (all allowlisted files match)., , and the remote BuildBuddy v2-to-v4 bootstrap compile; all passed. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Correction to the previous fix note: shell interpolation stripped the literal paths/terms. Verified the openai-pro RustNever request-changes against current code and fixed it in head 186207e. src/v4/extdeps/languages/rust.dag now keeps a terse Rust never-type spec Anchor for https://doc.rust-lang.org/reference/types/never.html immediately above type RustNever = Never, and src/v4/DECISIONS.md now points the rust.dag row to the existing PR-3252-extdeps-deferrals / grounding-worked-examples.md coincidence evidence instead of relying on erased inline prose. Re-ran python3 scripts/strict_deprose_dag.py --check, git diff --check, and the remote BuildBuddy v2-to-v4 bootstrap compile; all passed. — sent from nimble-wren-718

@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: 186207ea · Trigger: schedule
  • Thinking: 177s wall

Non-blocking — Strengths

  • src/v4/extdeps/languages/python.dag The de-prose preserves the module spec anchor, required coproduct tags, and tracked canonical-B scaffold marker while removing only surplus rationale comments.
  • src/v4/extdeps/languages/rust.dag RustNever keeps its spec anchor and the bool grounding remains a named E-6 scaffold, so removing the prose does not drop modeling authority.

✅ No blocking concerns in this mixed docs/.dag de-prose diff.

@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the cursor Practice 9 request-changes against current code and fixed it in head 5ed8587. The per-carrier English groundedness comments have been removed from src/v4/extdeps/languages/go.dag, python.dag, and rust.dag, so the .dag bodies are back to the allowed terse coproduct/canonical-B/Anchor comment surface. The AXIS-3 groundedness follow-up is now represented as compile-only manual anchors under src/v4/test/claim/manual/*_extdeps_grounding_anchor.dag, split by variant namespace to avoid duplicate variant imports, with STRUCTURE.md updated for the added anchors. Re-ran python3 scripts/strict_deprose_dag.py --check, git diff --check, and the remote BuildBuddy v2-to-v4 bootstrap compile; all passed. GitHub CI is queued on the pushed head. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the cursor finding against current code and fixed it in head 5aac1a8. Removed the stale per-carrier testcase: language_extdeps_grounding_anchor.dag comments from go.dag, python.dag, and rust.dag; no bogus pointer remains. Also corrected STRUCTURE.md's checksum to the actual tracked count: 81 src/v4 .dag files / 91 total listed files, with the note changed to 74→81 because origin/main already had 74 tracked .dag files. Re-ran python3 scripts/strict_deprose_dag.py --check, git diff --check, verified the tracked count, and the remote BuildBuddy v2-to-v4 bootstrap compile; all passed. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Reconciled the operator-direct STRUCTURE.md deletion cascade on this PR in head 480fec2. This PR no longer touches src/v4/STRUCTURE.md; the manifest deletion/reconcile belongs to the separate canonical nuke vessel, so #3347 now carries only the language extdeps / DECISIONS de-prose plus the compile-only manual anchors. Re-ran git diff --check and python3 scripts/strict_deprose_dag.py --check; both passed. GitHub checks are pending/refreshing on the new head. — sent from nimble-wren-718

@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: 5ed85877 · Trigger: schedule
  • Thinking: 451s wall

BLOCKING (1)

Root Cause

  • src/v4/STRUCTURE.md The closed v4 file-tree authority was left stale while adding seven manual anchor files → add the new test/claim/manual entries and checksum/ratification audit trail, or drop the files.

⚠️ The extdeps de-prose itself looks clean, but the new v4 files need the closed-tree receipt before merge.

@@ -0,0 +1,44 @@
// src/v4/test/claim/manual/go_extdeps_grounding_anchor.dag

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.

BLOCKING: This new manual anchor file, along with the sibling anchor files added in the diff, is not enumerated in src/v4/STRUCTURE.md, violating the v4 closed-file-tree invariant.

@briansrls

Copy link
Copy Markdown
Contributor Author

Reconciled the operator-direct parallel-ledger deletion cascade on this PR in head a8e6be3. #3347 no longer touches src/v4/DECISIONS.md; the DECISIONS/STRUCTURE/dissolution-inventory retirement remains in the separate canonical nuke vessel. This PR now carries only the v4 language extdeps de-prose plus compile-only manual grounding anchors. Re-ran python3 scripts/strict_deprose_dag.py --check and git diff --check; both passed. GitHub checks are queued on the new head. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the STRUCTURE closed-tree finding against current head a8e6be3. The finding was valid for older head 5ed8587 before the operator-direct STRUCTURE deletion cascade, but it is no longer actionable on #3347: this PR intentionally no longer touches src/v4/STRUCTURE.md as of 480fec2, and the DECISIONS/STRUCTURE/dissolution-inventory manifest/ledger retirement is assigned to the separate canonical nuke vessel node://adhoc-93a2d8b7-075. Re-adding STRUCTURE entries here would conflict with that later operator directive to retire the manifest obligation. Current #3347 scope is v4 language extdeps plus compile-only manual grounding anchors only; local strict_deprose_dag --check and git diff --check passed on a8e6be3. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the one-claim-per-test feedback against current code and fixed it in head 667d797. The aggregate go/python/rust extdeps grounding anchor files were deleted and replaced with per-carrier compile-only anchor files, each owning a single anchor function. Re-ran python3 scripts/strict_deprose_dag.py --check, git diff --check, and the remote BuildBuddy v2-to-v4 bootstrap compile; all passed with 103 modules indexed/resolved and 0 diagnostics. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Investigated the v4 CI failures on heads a543d70/7f391ee. The v4 job had no source diagnostics: it indexed/resolved the v4 graph and was killed with exit 143 during the full DAG emit step. The added manual anchor modules pushed the gate over its runtime/resource ceiling, so head a129b16 removes the extdeps manual anchor files from this PR and returns #3347 to the language-extdeps de-prose scope only. Current diff is src/v4/extdeps/languages/{go,python,rust}.dag; no DECISIONS/STRUCTURE/inventory/manual-anchor files remain in the PR. Re-ran python3 scripts/strict_deprose_dag.py --check and git diff --check; both passed. GitHub checks are running on a129b16. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: a129b16f · Trigger: manual
  • Comparison: main @ 8c25654e ... session/nimble-wren-718 @ a129b16f
  • Conversation: View conversation

1. Story of the diff

This PR is a de-prose pass over three v4 Shape-A language extdep slices: Go, Python, and Rust. It removes ledger/process comments, compacts Python coproduct declarations onto single lines, and leaves the canonical-B bool grounding mechanism intact as decl-ref rows to bool_boolean_algebra in each language file. The load-bearing behavior is therefore not a new compiler algorithm; it is whether these target-language model files now carry only the allowed inline model marks, anchors, and tags without losing required grounding evidence.

2. Invariant categories

1. LAYER MODEL — Compliant

No core Dag substrate type, cross-pass Rust carrier, or dag.rs shape is changed. The diff touches v4 target-language model data under src/v4/extdeps/languages/*, so model-discipline applies, but there is no substrate extension or implementation-layer mutation to review here.

2. INVARIANTS.md + modeling-discipline.md — Finding

Finding — src/v4/extdeps/languages/python.dag:5:

// Status: extdeps python slice; bool canonical-B decl-ref grounding is 🟡 E-6(b) staging; numeric overflow/resolver deferrals per DECISIONS.md D2-REV + Part 6; principal int unbounded—no overflow carrier in-file.

This violates Practice 9 / P2 Boundary Discipline. The changed status line still routes deferral authority through DECISIONS.md, but the uploaded modeling discipline explicitly says src/v4/DECISIONS.md was deleted and that the inline mark/gate is the system, with non-comment receipts limited to INVARIANTS, src/v4/TASKS.md, or grounding examples (modeling-discipline.md:8-18). Practice 9 also says de-prosed .dag comments may not be see docs/X pointers or process-meta prose (modeling-discipline.md:514-544). chatgpt-review-8af6860d-5957-44…

chatgpt-review-8af6860d-5957-44…

Finding — src/v4/extdeps/languages/rust.dag:87:

type RustNever = Never

This is PR-relevant even though the alias line itself is context: this PR deletes the local explanation that Rust ! coincides with std.cardinality.Never, leaving a bare alias for an external spec primitive with only the spec anchor above it. Practice 8 / P1 Modeling Faithfulness requires an external primitive to be a fact-bundle or a cited coincidence reuse of a std/ carrier; a bare alias with no coincidence evidence is hollow and blocks review (modeling-discipline.md:472-487). Keep this de-prosed by replacing the removed prose with one allowed one-line coincidence tag/cite, or model the Rust ! facts as a bundle. chatgpt-review-8af6860d-5957-44…

3. CODING.md — N/A

N/A — no Rust implementation functions, methods, error/result shapes, or helper placement changed; .dag comment discipline is covered under modeling-discipline above.

4. TESTING.md — Compliant

No new behavior, pass, or model carrier is introduced. The Python declaration reformatting should be covered by the existing v4 whole-tree parse/resolve gate; a separate test for comment deletion would not add value.

5. LOCKED DESIGN DECISIONS — N/A

N/A — no locked design doc or locked substrate decision is changed. The canonical-B bool decl-ref staging shape remains present; the issue is stale/deleted authority references and missing coincidence evidence, not a deliberate design divergence.

6. TRACKED vs UNTRACKED DEBT — Finding

Finding — src/v4/extdeps/languages/python.dag:5:

numeric overflow/resolver deferrals per DECISIONS.md D2-REV + Part 6

This changed header records deferred work without an allowed tracked bridge: no valid inline feature:/consumer: gate, no dissolve-on, and no permitted non-comment receipt. Under the current discipline, a deferral must bind a concrete missing arrival and dissolution path, or move to src/v4/TASKS.md / INVARIANTS as a real receipt; a deleted DECISIONS.md pointer is untracked debt, not a valid bridge (modeling-discipline.md:8-18, modeling-discipline.md:572-579). chatgpt-review-8af6860d-5957-44…

chatgpt-review-8af6860d-5957-44…

2.5. Top-down PM intent review

Finding. The PM-level intent behind this pass is to make v4 model files de-prosed and self-authoring through inline model marks, not through maintained comment ledgers: modeling-discipline.md:8-18 says src/v4/DECISIONS.md is deleted and the inline mark is the system. The changed Python header at src/v4/extdeps/languages/python.dag:5 still tells future workers to follow DECISIONS.md D2-REV + Part 6, which would cause faithful downstream execution to consult a retired authority instead of the current inline/TASKS/INVARIANTS receipt surface. chatgpt-review-8af6860d-5957-44…

3. Verdict

REQUEST_CHANGES. The structural declarations mostly stay on the intended canonical-B path, but the de-prose pass leaves a changed header pointing at a deleted ledger and strips the Rust never-type alias of the coincidence evidence required to avoid a hollow external-primitive alias. Fixing those in this PR is small and keeps the v4 extdeps surface aligned with the active no-prose / fact-bundle discipline.

@briansrls

Copy link
Copy Markdown
Contributor Author

Rechecked the failing v4 gate on head a129b16. The log shows no source diagnostic: v2-compiler indexes 78 modules and resolves 78 sources, then GitHub cancels the operation during the full DAG emit step. #3347 now has no manual anchors and no ledger/manifest files; the diff is comment-only in src/v4/extdeps/languages/{go,python,rust}.dag. Local strict_deprose_dag --check and git diff --check pass. I do not see a further source-side fix in this PR without changing CI/workflow behavior or expanding scope, so this is surfaced for operator/manager call under wind-down. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the openai-pro findings against current code and fixed them in head ddd9561. python.dag no longer routes the header through deleted DECISIONS.md D2-REV/Part 6 authority, and rust.dag now keeps a terse coincidence cite for Rust ! as v4.std.cardinality.Never immediately above RustNever. Re-ran python3 scripts/strict_deprose_dag.py --check and git diff --check; both passed. — sent from nimble-wren-718

@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the v4 CI failure on current head ddd9561. The job restores the cached v2 compiler, runs target/release/v2-compiler compile --source-root src/v4 --output-dir /tmp/v4-stage1 --target dag, indexes 78 modules, and resolves 78 sources. It then fails only with The operation was canceled during the full emit step; there are no source diagnostics in the log. The PR diff remains comment-only in src/v4/extdeps/languages/{go,python,rust}.dag, and local python3 scripts/strict_deprose_dag.py --check plus git diff --check passed on this head. I do not see a source-side fix in #3347 without changing the v4 CI/runtime behavior or expanding scope under wind-down. — sent from nimble-wren-718

# Conflicts:
#	src/v4/extdeps/languages/go.dag
#	src/v4/extdeps/languages/python.dag
#	src/v4/extdeps/languages/rust.dag
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