Repository navigation
v4 de-prose: bind typescript.dag into strict_deprose_dag.py allowlist (#3290 redo on post-#3338 main) - #3350
Conversation
…#3290 redo on post-#3338 main) Refreshed against post-#3338 main rather than the stale proud-bat-880 branch: #3338 rewrote the comment surface and already landed ts_bool_grounding canonical-B decl-ref. This PR is the merge-gate binding step — adds typescript.dag to the strict de-prose allowlist (scripts/strict_deprose_dag.py specs / CI ci.yml:104 --check), normalizing the header to the script's required form (path / Scope / Owns / Consumes / Status / Anchor / Ledger), and moving the per-coproduct 🟢 tag from between-`type`-and-`=` to the script-canonical position above the `type` line so `inject_coproduct_tags` is an idempotent fixed point under --check. Carrier surface byte-identical (comment-only diff): same imports, same two N≥2 sum coproducts (TsEcma262NumericPrimitiveKind, TsEcma262PrimitiveOperationSemantics, both 🟢 CP-3229-GREEN-TERMINAL per merge-base 92cb264), same `data ts_bool_grounding: BooleanAlgebra<Bool> = bool_boolean_algebra` row. Rust-to-0 binding: no per-language Rust smoke test added; the pre-existing v4_extdeps_typescript_dag_smoke_test.rs was removed by #3338 and stays removed. Test plan: - `python3 scripts/strict_deprose_dag.py --check` → OK (allowlist incl. typescript). - `diff <(grep -vE '^\s*//|^\s*$' pre) <(grep -vE '^\s*//|^\s*$' post)` empty → carriers unchanged. - v2-compiler `compile --source-root src/v4` diagnostic count preserved (no carrier mutation; CI v4 job re-verifies). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7782e1e to
e6a256e
Compare
…codex #3350 review) Codex review flagged the Status line "bool canonical-B decl-ref grounding landed (#3338)" as overstating closure — DECISIONS.md:916-920 explicitly classifies `ts_bool_grounding` as 🟡 P2/E-6 STAGING (not landed authority; no same-PR consumer; canonical fold specified-not-realized). Restore the 🟡 STAGING wording with the DECISIONS.md anchor so the header matches the live ledger (INVARIANTS.md P2 / Practice 9 "documentation describes live state"). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
b33d8de9· Trigger:schedule - Thinking:
238s wall
BLOCKING (1)
Root Cause
scripts/strict_deprose_dag.pyallowlisting typescript through the generic green→CP-3229-GREEN-TERMINAL path → add a TypeScript Part-6 slug or Part-6 coverage row, or preserve/map the TS-D2 authority when generating TypeScript tags.
|
|
||
|
|
||
|
|
||
| // 🟢 coproduct dissolution — DECISIONS.md Part 6 · CP-3229-GREEN-TERMINAL. |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
…MINAL recovery table (#3350 BLOCKING) briansrls inline review @ typescript.dag:14 — the live `// 🟢 coproduct dissolution — DECISIONS.md Part 6 · CP-3229-GREEN-TERMINAL.` tags weren't mechanically traceable because the Part 6 bulk-recovery table did not list typescript.dag. Add the row (`typescript.dag | 2` matches `git show 92cb264:typescript.dag | grep -c "GREEN (terminal)"`) and the recovery `git show` line. No code/script change needed — the strict-deprose tag map already classifies both TS coproducts as 🟢 GREEN from the merge-base authority block; this is the missing inventory anchor. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Addressed by fbb4342 (pushed after this review's b33d8de SHA): added |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
fbb43429· Trigger:schedule - Thinking:
284s wall
Non-blocking — Strengths
src/v4/extdeps/languages/typescript.dagMixed PR: the .dag tags, DECISIONS recovery table, and strict_deprose allowlist now point at the same TypeScript ledger surface.
✅ No blocking thesis, modeling-discipline, or invariant concerns found in the changed lines.
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
c443f732· Trigger:schedule - Thinking:
207s wall
Non-blocking — Strengths
src/v4/extdeps/languages/typescript.dagThe TypeScript header, in-file coproduct tags, DECISIONS Part 6 inventory, and strict_deprose_dag.py allowlist now describe the same ledger surface.
✅ No blocking concerns found in the changed lines.
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
365f93ad· Trigger:schedule - Thinking:
190s wall
Non-blocking — Strengths
src/v4/extdeps/languages/typescript.dagThe TypeScript header, coproduct tags, DECISIONS Part 6 row, and strict_deprose_dag.py allowlist now agree on the same ledger surface.
✅ No blocking concerns found in the changed lines.
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
24593a7a· Trigger:schedule - Thinking:
174s wall
✅ The changed allowlist entry, TypeScript header/tags, and Part 6 ledger recovery surface are consistent; no blocking concerns found.
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
09bbb37f· Trigger:schedule - Thinking:
128s wall
Non-blocking — Strengths
scripts/strict_deprose_dag.pyThe allowlist entry, generated TypeScript header shape, and Part 6 ledger binding are consistent with the de-prose contract.
✅ No blocking concerns found.
# Conflicts: # src/v4/DECISIONS.md
# Conflicts: # src/v4/extdeps/languages/typescript.dag
…G-1 slice marker) Post-merge fix on top of 22b1854: main rewrote the strict_deprose_dag.py spec tuple to 6-fields (added RULING-1 per-slice groundedness emoji) and updated the canonical separators (`// Ledger: <slug>.` drops "dissolution slugs (PR #3229):"; coproduct tag uses `·` not `—`). Updated the typescript.dag spec to add the extdeps `// 🟡` slice marker and re-materialized the file to match canonical output. `python3 scripts/strict_deprose_dag.py --check` → OK. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Refresh of #3290 against post-#3338 main (fresh, not a stale rebase). #3338 rewrote the typescript.dag comment surface and already landed the
ts_bool_groundingcanonical-B decl-ref. This PR is the merge-gate binding step: addsrc/v4/extdeps/languages/typescript.dagto the strict-de-prose allowlist inscripts/strict_deprose_dag.py, so the file is now covered bypython3 scripts/strict_deprose_dag.py --check(CI.github/workflows/ci.yml:104).// 🟢 coproduct dissolution — DECISIONS.md Part 6 · CP-3229-GREEN-TERMINAL.tag from between-type-and-=to the script-canonical position above thetypeline, soinject_coproduct_tagsis an idempotent fixed point under--check.TsEcma262NumericPrimitiveKind,TsEcma262PrimitiveOperationSemantics, both 🟢CP-3229-GREEN-TERMINALper merge-base92cb26402), samedata ts_bool_grounding: BooleanAlgebra<Bool> = bool_boolean_algebrarow.Rust-to-0 gate binding: no per-language Rust smoke test added or restored — the pre-existing
src/v3/compiler/tests/integration/v4_extdeps_typescript_dag_smoke_test.rswas removed by #3338 and stays removed (no v3-anchored interim ratchet, per the Rust-to-0 standing directive).Test plan
python3 scripts/strict_deprose_dag.py --check→OK: strict_deprose_dag --check (all allowlisted files match).(typescript now in allowlist).diff <(grep -vE '^\s*//|^\s*$' pre) <(grep -vE '^\s*//|^\s*$' post)empty → carrier model unchanged.v4 strict-deprose allowlist (--check; merge-base + Part 6 inventory)job green.v4bootstrap-viability job: v2-compilercompile --source-root src/v4diagnostic count preserved (no carrier mutation).🤖 Generated with Claude Code