Skip to content

TypeScript RCA Manager — per #4137 §11.8 ALPHA/PREVIEW lane (NOT release-minimum per Wave F F3). Currently no worksheets started. Goal by end of next iteration: L0 complete per #4117 pattern. Author worksheets for TS R2a/R2b/R3-external leaf-model widening, TS TargetAtomRealization rows, TS TargetTy - #4206

Closed
briansrls wants to merge 4 commits into
mainfrom
session/fierce-fox-719

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session fierce-fox-719.
Pushing to session/fierce-fox-719 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 and others added 4 commits June 1, 2026 02:02
…sheets

Symbol is callable but not constructable; new Symbol() must be falsification,
not the happy path. Addresses PR #4147 blocking review (P1 / MDN grounding).

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace optional boundary-test wording with mandatory Mechanism (b)
checklist (INVARIANTS row + sg0 census +1 + scripts pairing) mirroring

Co-authored-by: Cursor <cursoragent@cursor.com>
#4117. Worksheet PR #4147 remains docs-only; no hand-Rust here.
@briansrls
briansrls marked this pull request as ready for review June 1, 2026 14:45

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

BLOCKING (2)

Root Cause

  • docs/planning/v4-ts-leaf-model-r2-r3-external-worksheet-2026-06-01.md R2b uses a rounded power-of-two boundary as the number-lane negative witness → replace it with a checkable precision-loss fixture whose number verdict is distinct from the exact bigint model.
  • docs/planning/v4-ts-target-atom-realization-worksheet-2026-06-01.md TS needs a Symbol factory value realization but the plan assumes the existing SG-1 carrier can already express factory calls → ratify the missing std target_model value-template shape before dispatching the TS row worker.

⚠️ Two worksheet entries would send downstream implementation into an unverifiable R2b probe and an unrepresentable TS Symbol realization.

| Claim ID | Subject fact (typescript.dag) | Happy exercise | Falsification |
|----------|------------------------------|----------------|---------------|
| `leaf_model_claim_ts_r2a_number_algebra_operations` | `ts_number_algebra_inhabitance_ts_facts_number` | `function r2a(a: number, b: number): [number, boolean] { return [a + b, a < b]; }` | Call `a.log2_exact()` → TS2339 |
| `leaf_model_claim_ts_r2b_bigint_beyond_safe_integer` | `ts_bigint_algebra_inhabitance_ts_facts_bigint` | Runtime: `(2n ** 63n - 1n) + 1n === 2n ** 63n` via Node | Same expr in `number` lane → diverges from model |

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: The R2b falsification is not falsifying: ((2 ** 63 - 1) + 1) === 2 ** 63 evaluates true under JavaScript number rounding, so the wrong-path probe can pass with the same verdict as bigint, violating the leaf-model falsification contract and INVARIANTS P1.

```text
ts_target_atom_realization_symbol:
type_form: symbol (primitive) or branded alias per Arbiter — NOT a nominal class shadowing global Symbol
value_form: Symbol(<string-literal>) // ECMA factory call; must match R3-external happy fixture

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: value_form: Symbol(<string-literal>) is not representable by the landed TargetAtomRealization/TargetValueTemplate vocabulary, so the worksheet either requires changing the std carrier it says to consume or creates a parallel TS value-template authority, violating INVARIANTS P2.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: e63b8cbd · Trigger: manual
  • Comparison: main @ 92675275 ... session/fierce-fox-719 @ e63b8cbd
  • Conversation: View conversation

1. Story of the diff

This PR adds five planning worksheets for the TypeScript alpha/preview lane, without changing compiler or .dag implementation code. The worksheets carve the L0 path into prerequisite substrate/modeling work: expose stable TypeScript algebra inhabitance fact IDs, add TS TargetTypeExpressionProjection, use that projection from TS TargetAtomRealization rows, and then consume those facts from TS R2a/R2b/R3-external leaf-model claims and host runners. In parallel, it adds a TS grammar-inverse TestClaims worksheet scoped to a small G1/G2 production set and explicitly keeps packaging/module resolution out of L0. The load-bearing shape is mostly single-authority and staged: shared carriers stay in std/, TypeScript rows land in src/v4/extdeps/languages/typescript.dag, claims reference fact IDs rather than new Subject/Expectation coproducts, and implementation workers are blocked on Modeling DFS Arbiter approval.

2. Invariant categories

  1. LAYER MODEL — Compliant. The worksheets are planning-only, but the planned substrate split is correct: shared carriers are consumed from src/v4/std/target_model.dag, TS-specific rows are placed in src/v4/extdeps/languages/typescript.dag, and the algebra worksheet rejects new Phase-1 Subject/Expectation coproducts in favor of LeafModelClaimId plus stable fact Symbols.
  2. INVARIANTS.md + modeling-discipline.md — Finding. docs/planning/v4-ts-leaf-model-r2-r3-external-worksheet-2026-06-01.md:90 says “This worksheet PR (docs(planning): TypeScript L0 §10.0 worksheets (#4137 §11.8 alpha lane) #4147) lands markdown only,” but this review surface is PR TypeScript RCA Manager — per #4137 §11.8 ALPHA/PREVIEW lane (NOT release-minimum per Wave F F3). Currently no worksheets started. Goal by end of next iteration: L0 complete per #4117 pattern. Author worksheets for TS R2a/R2b/R3-external leaf-model widening, TS TargetAtomRealization rows, TS TargetTy #4206. For a normal prose doc that might be a typo; here it is inside the §P5(b) receipt section that downstream workers will use for SG-0/P5 traceability. INVARIANTS P5 says scaffolds/receipts need checkable completion conditions and traceable dissolution; a stale PR number makes the receipt point at the wrong authority and should be corrected before this planning artifact becomes the worker contract.
  3. CODING.md — N/A. The diff adds Markdown planning worksheets only; there is no new Rust implementation surface, helper placement, method shape, or comment-vs-structure issue to review under CODING.md.
  4. TESTING.md — Finding. docs/planning/v4-ts-leaf-model-r2-r3-external-worksheet-2026-06-01.md:67-68 says the R2b falsification “uses number lane for same magnitude and expects IEEE754 precision loss or tsc rejection,” and :83 reduces that to “Same expr in number lane → diverges from model.” The happy expression is (2n ** 63n - 1n) + 1n === 2n ** 63n; the “same expr” in number form does not name a concrete failing predicate and can be implemented as an equality that passes for the wrong reason. For L0, the worksheet must pin an observable negative behavior, for example a number-lane assertion that exact successor is preserved beyond the safe-integer boundary and is expected to fail under JS number, rather than leaving “precision loss or tsc rejection” as an implementation choice. chatgpt-review-02c6d3c0-af72-40…

TESTING.md — Finding. docs/planning/v4-ts-leaf-model-r2-r3-external-worksheet-2026-06-01.md:116 specifies the typecheck authority as tsc --strict or npx tsc with a repo-pinned TS version, while the same worksheet’s fixtures rely on 2n bigint literals and Symbol("x") value availability at :83-84. That is not hermetic enough for a host-runner acceptance contract: the worksheet should pin the full TS compile surface needed by these fixtures, such as the intended --target, --lib, module/no-emit behavior, and whether a local tsconfig is forbidden or supplied. Otherwise a downstream worker can get environment-dependent failures unrelated to the modeled TS facts.

  1. LOCKED DESIGN DECISIONS — Compliant. I do not see a locked-design divergence in the changed lines. The docs repeatedly preserve the canonical shared-carrier home, forbid redefinition of TargetAtomRealization / TargetTypeExpressionProjection, keep Shape-A TS target modeling in extdeps, and explicitly mark the lane as alpha/preview rather than a release-minimum gate.
  2. TRACKED vs UNTRACKED DEBT — Compliant aside from the stale PR-number finding above. The PR introduces several bridges or staged items, but the important ones are bounded: host runners are marked interim, the hand-Rust boundary receipt names the INVARIANTS row, census increment, verify shells, and T-22 dissolution trigger, and the SG-2 ProjectionAbsent shim has a named removal trigger once the TS row is present.

2.5. Top-down PM intent review

Finding. The PM intent is L0 completion per the #4117-style pattern: the worksheet itself states acceptance must be “dual-path verification (happy + falsification) against tsc and Node,” not compile-only wiring. But the R2b row then gives a non-specific “Same expr in number lane → diverges from model” falsification, which can guide a faithful worker to author a negative test that does not actually falsify exact integer behavior. That dilutes the highest-level intent from “L0 complete with real falsification” into “happy path plus a vaguely expected numeric discrepancy.” chatgpt-review-02c6d3c0-af72-40…

3. Verdict

REQUEST_CHANGES. The worksheet structure is directionally strong and mostly respects single-authority modeling, but the R2b falsification and TypeScript toolchain contract are not precise enough to authorize L0 implementation work, and the §P5(b) receipt carries a stale PR number. Fixing those keeps the planning artifact faithful before downstream workers execute it.

@briansrls

Copy link
Copy Markdown
Contributor Author

Closing as SUPERSEDED. Jun-1 TS-RCA planning worksheets (leaf-model/atom-realization/type-expr-projection/grammar-inverse). Superseded by ctrl#1489 (emit-ladder authority); TS type-expr work is folded into the T3 type-tier lane under Mgr-SPINE. Operator-authorized close (via still-raven-546).

@briansrls briansrls closed this Jun 8, 2026
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