Skip to content

docs(planning): Go worksheets post-#4149 reconciliation (R2b int64, SG-1 dual-name) - #4164

Merged
briansrls merged 4 commits into
mainfrom
session/zesty-otter-480
Jun 1, 2026
Merged

briansrls merged 4 commits into
mainfrom
session/zesty-otter-480

Conversation

@briansrls

@briansrls briansrls commented Jun 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Corrects three factual mismatches in the Go RCA worksheet bundle ratified on #4149 so L0 implementation workers anchor claims to substrate that already exists on main:

  • R2b int64 anchor: leaf_model_claim_go_r2b_int64_silent_overflow_truncates anchors on go_facts_int64 (typed int64 fixtures), not platform go_facts_int — R2a remains go_facts_int.
  • SG-1 §3.1 dual-name: documents Rust pattern — go_target_atom_realization_symbol (TargetAtomRealization row) + go_atom_realization_symbol (leaf-model fact_id); leaf-model worksheets reference fact_id only.
  • Authority map: amendment log records post-docs: active authority map + Go RCA §8 ratification (#4149) #4149 reconciliation.

Docs-only; §8 APPROVED status preserved with reconciliation notes.

Test plan

  • Docs-only — no code changes
  • Grep: no remaining leaf_model_claim_go_r2b_int_silent / go_facts_int R2b anchor in Go worksheets
  • CI schema / fmt N/A for planning markdown

@briansrls briansrls changed the title Go worksheets post-#4149 reconciliation (R2b int64 anchor, SG-1 §3.1 dual-name, Go RCA lane) docs(planning): Go worksheets post-#4149 reconciliation (R2b int64, SG-1 dual-name) Jun 1, 2026
@briansrls
briansrls marked this pull request as ready for review June 1, 2026 03:06
Resolve authority-map amendment log: keep Go post-#4149 reconciliation
row alongside TS #4169 ratification from main.

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

Copy link
Copy Markdown
Contributor Author

CI investigation (ci_floor + ci failing @ 23defd5)

Finding: Both failures are not caused by this PR's diff (4 planning markdown files only; no src/, no .github/).

Job Failure
ci_floor scripts/v4-m1-rust-emit-probe.sh — cargo check exit 101 on v2-emitted tree (~7775 rustc errors; e.g. TestClaimRun missing generics S, A, FreeMonoid dropck cycle). v2 compile itself succeeds (351 files).
ci Fail-closed aggregator: ci_floor did not succeed.

Cross-check: Same ci_floor failure on main (e.g. run 26732905010). This is Wave-1 M1 infra on HEAD, not worksheet reconciliation content.

Action taken: Merged origin/main (conflict: authority-map amendment log — kept both Go reconciliation + TS #4169 rows) to retrigger CI on latest base. No code fix in scope for a docs-only lane without CI-manager / emit-lane ownership.

Ask: Operator merge per manager seq may proceed if policy treats main-parity ci_floor as non-blocking for docs-only; otherwise needs CI Manager / Rust RCA to restore M1 probe green on main.

— sent from zesty-otter-480

@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: 23defd59 · Trigger: schedule
  • Thinking: 219s wall

Non-blocking — Strengths

  • docs/planning/v4-go-leaf-model-verification-worksheet-2026-06-01.md R2b now anchors the claim to go_facts_int64, matching the int64 fixture and Go integer-overflow semantics at https://go.dev/ref/spec#Integer_overflow.
  • docs/planning/v4-go-target-atom-realization-worksheet-2026-06-01.md The SG-1 dual-name plan preserves TargetAtomRealization as the row authority while keeping the leaf-model fact_id as a claim anchor, matching the Rust pattern.

✅ Design-only reconciliation is consistent with the v4 thesis and P5 planning discipline; no blocking concerns.

@briansrls

Copy link
Copy Markdown
Contributor Author

CI re-check @ a326ed516 (dashboard re-nag)

Same failure as prior investigation (#comment-4589441816):

Job Result
fmt / affected pass
ci_floor fail — v4-m1-rust-emit-probe.sh → cargo check exit 101 (main-parity M1 emit probe; not caused by planning markdown diff)
ci fail-closed on ci_floor

Diff scope: docs/planning/v4-go-*.md + authority-map amendment only (4 files).

No new commit from zesty-otter-480 — probe/emit repair is CI Manager / main-lane scope per Go RCA manager (gentle-lynx-68): docs-only #4164 may merge on 2/2 when operator applies main-parity ci_floor non-blocking policy.

— sent from zesty-otter-480

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

Non-blocking — Strengths

  • docs/planning/v4-go-leaf-model-verification-worksheet-2026-06-01.md R2b now anchors the int64 fixture to go_facts_int64, matching go.dag signed overflow facts and the Go spec's typed signed-integer overflow behavior at https://go.dev/ref/spec#Integer_overflow.
  • docs/planning/v4-go-target-atom-realization-worksheet-2026-06-01.md SG-1 dual-name plan preserves TargetAtomRealization as the row authority while using go_atom_realization_symbol only as the leaf-model fact_id, matching the existing Rust pattern.

✅ Design-docs reconciliation is consistent with THESIS/P5 single-authority intent; no blocking concerns.

@briansrls

Copy link
Copy Markdown
Contributor Author

CI @ b97afa18 — same main-parity failure (no new scope)

Job Result
fmt, affected pass
ci_floor fail — v4-m1-rust-emit-probe.sh → cargo check exit 101
ci fail-closed on ci_floor

PR diff vs main: 4 docs/planning/ files only (+31/−12); reconciliation content unchanged after merge b97afa18 (authority-map sync from main).

Cross-check: main CI also red on M1 probe (113372a68). Not introduced by this branch.

No commit — out of worksheet scope; Go RCA manager policy (2026-06-01): docs-only merge allowed on 2/2 with main-parity ci_floor red. Prior detail: #4164#issuecomment-4589682925.

— sent from zesty-otter-480

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

Non-blocking — Strengths

  • docs/planning/v4-go-leaf-model-verification-worksheet-2026-06-01.md The R2b reconciliation keeps the claim id, int64 fixture, and go_facts_int64 fact bundle aligned instead of conflating fixed-width int64 with platform int.
  • docs/planning/v4-go-target-atom-realization-worksheet-2026-06-01.md The SG-1 dual-name wording preserves TargetAtomRealization as the row authority while using go_atom_realization_symbol only as the leaf-model fact id, matching the existing Rust pattern.

✅ Classified as design/docs; no blocking concerns found.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: d8abdb8b · Trigger: manual
  • Comparison: main @ 63026069 ... session/zesty-otter-480 @ d8abdb8b
  • Conversation: View conversation

1. Story of the diff

This PR is a post-#4149 reconciliation pass over the Go v4 planning worksheets. It records the authority-map event, renames the Go R2b overflow claim from platform-int wording to explicit int64, and aligns the claim, fact anchor, and fixture width on go_facts_int64 while keeping R2a on go_facts_int / platform int (pr-4164.diff.txt:20, pr-4164.diff.txt:29, pr-4164.diff.txt:41, pr-4164.diff.txt:75, pr-4164.diff.txt:80). chatgpt-review-8b0951a1-374f-4a…

chatgpt-review-8b0951a1-374f-4a…

The second thread is SG-1 naming reconciliation for Go TargetAtomRealization: the implementation wave must land both the data row name go_target_atom_realization_symbol and the leaf-model fact id go_atom_realization_symbol, with the R3 claim consuming the fact id and target-model catalog / emit consumers reading the row (pr-4164.diff.txt:47, pr-4164.diff.txt:57, pr-4164.diff.txt:66, pr-4164.diff.txt:109-135). It also moves dispatch wording from the older TR Manager handoff to Go RCA ownership of Go rows and emit consumption while leaving the shared TargetAtomRealization carrier under Arbiter authority (pr-4164.diff.txt:147, pr-4164.diff.txt:156-157). chatgpt-review-8b0951a1-374f-4a…

chatgpt-review-8b0951a1-374f-4a…

chatgpt-review-8b0951a1-374f-4a…

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

Compliant — the diff is planning-doc only, but it does touch substrate-facing work instructions. The substrate-adjacent decisions are constrained: R2b’s fact bundle is go_facts_int64, not a platform-int stand-in (pr-4164.diff.txt:75, pr-4164.diff.txt:80), and SG-1 is expressed as one TargetAtomRealization row plus one fact-id projection rather than a forked carrier (pr-4164.diff.txt:119-133). This matches P2’s “every fact lives in exactly one authoritative place” rule. chatgpt-review-f87a9aec-8c3b-42…

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

Compliant — P1/P2 are handled by making the modeled Go overflow claim match the actual typed fixture width: the table now anchors leaf_model_claim_go_r2b_int64_silent_overflow_truncates on the go_facts_int64 bundle and explicitly forbids conflating it with go_facts_int / platform int (pr-4164.diff.txt:75, pr-4164.diff.txt:80, pr-4164.diff.txt:88). The SG-1 dual-name section is also framed as “P2 single row, two named projections,” with separate consumers for the row and fact id (pr-4164.diff.txt:119-133), so this is a shared resolved fact with two readers, not parallel representation. The modeling-discipline Practice 11 parametric-duplication risk was considered: the diff does not introduce a new target-private carrier; it keeps the shared carrier and names Go-specific call-site symbols. chatgpt-review-21687074-ac1f-48…

  1. CODING.md.

N/A — no Rust implementation code, helper functions, methods, error shapes, or comments in code are changed. For the docs themselves, the added prose is load-bearing planning boundary text: the §3.1 table names symbols, roles, and consumers directly (pr-4164.diff.txt:128-135) rather than relying on explanatory ambiguity. CODING.md’s Rust style rules therefore do not create a merge concern here. chatgpt-review-afe7c954-e509-46…

  1. TESTING.md.

Compliant — no executable code or .dag claims are changed, so no same-PR runtime test is required for this docs-only reconciliation. The planning surface does tighten future test execution by updating the CI runner row to the int64 claim id (pr-4164.diff.txt:29) and by making R2b a runtime-bound go run/go test exercise over the go_facts_int64 fact bundle (pr-4164.diff.txt:75, pr-4164.diff.txt:82). That is consistent with TESTING.md’s direction that boundary/runtime intent ultimately lives as .dag TestClaim data / ExecuteCommand-compatible claims rather than permanent hand-authored test scaffolding. chatgpt-review-f1929f87-39f6-45…

  1. LOCKED DESIGN DECISIONS.

Compliant — no locked design is diluted. Pure Bootstrap / zero-floor direction remains intact because the PR adds no hand-written implementation, no new Rust runner, and no target-private schema; it only clarifies future Go rows and claim facts in planning docs. The live Pure Bootstrap authority applies the 0-floor target to v4 and keeps workflow/CI surfaces modeled as .dag authority (design-pure-bootstrap-zero.md:3-7), while this diff keeps Go target realization in go.dag rows and fact ids (pr-4164.diff.txt:117-120, pr-4164.diff.txt:147). chatgpt-review-bc4d3dab-b884-4a…

  1. TRACKED vs UNTRACKED DEBT.

Compliant — no new unbounded scaffold, TODO, or temporary bridge is introduced. The staged SG-1 dependency is bounded by “both land in same wave” (pr-4164.diff.txt:109-111) and by dispatch after §8 (pr-4164.diff.txt:147, pr-4164.diff.txt:157). The Python “minimal scaffold” mention is context only; the Go plan explicitly chooses the full Rust SG-1 row + fact-id shape (pr-4164.diff.txt:135), so it does not import that scaffold as new Go debt. chatgpt-review-8b0951a1-374f-4a…

2.5. Top-down PM intent review

Compliant — the highest-level intent is preserved. The thesis wants target facts modeled structurally, target primitive grounding to be a structural search over declared inhabitance rather than name-keyed drift, and tests to derive from structural TestClaim declarations; the Pure Bootstrap authority also keeps the v4 direction at zero hand-maintained implementation surface. chatgpt-review-aa36ebdf-78d4-49…

chatgpt-review-aa36ebdf-78d4-49…

This PR should make downstream work more faithful, not less: a worker following it will implement R2b against the int64 fact bundle and fixture width instead of accidentally testing platform int, and will author SG-1 Go with one shared TargetAtomRealization row plus a fact-id projection rather than choosing between ambiguous names (pr-4164.diff.txt:56-57, pr-4164.diff.txt:75, pr-4164.diff.txt:119-135). No must-have target is postponed, no dissolution goal becomes permanent scaffolding, and no new hand-written implementation is added.

3. Verdict

APPROVE. No blocking findings. This is a docs-only reconciliation that tightens single-authority naming and aligns the Go R2b claim, fact anchor, and fixture width before implementation dispatch.

@briansrls
briansrls merged commit 8882cd9 into main Jun 1, 2026
4 of 7 checks passed
@briansrls

Copy link
Copy Markdown
Contributor Author

openai-pro review (d8abdb8b) — post-merge ack

Verdict APPROVE — substance matches what landed on main via squash merge 8882cd948 (operator-authorized, 2026-06-01T12:20:06Z).

No further commits — assignment adhoc-fde6e914-012 complete; royal-seal cleared for #4168 per dep order.

— sent from zesty-otter-480

briansrls added a commit that referenced this pull request Jun 1, 2026
Mirror rust SG-1 pattern: staging target_model, catalog edge on live
go_mvp1_target_model_node, binding_spellings for string/bool/rune.
Int row fail-closed per worksheet §9. Rebased on main after #4164.

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

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

✅ Design/docs-only PR; I found no blocking issues in the changed planning reconciliation.

@briansrls

Copy link
Copy Markdown
Contributor Author

codex review (d8abdb8b) — post-merge ack

APPROVE — no blocking issues; matches reconciliation already on main at 8882cd948 (merged via #4164). No further action.

— sent from zesty-otter-480

briansrls added a commit that referenced this pull request Jun 1, 2026
…cripts

Admin-merge onto main post-#4164/#4168 (orphan #4162 path-b).
Leaf-only diff: scripts, go_r*.dag, lens/std leaf_model_verification carriers.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request Jun 1, 2026
…shells (#4162)

* docs: add v4 modeling DFS ratification log

Adds the §8 ratification audit trail and reconciles planning cross-references for Modeling DFS worksheet approvals.

* Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via SG-RC plus SG-2 residual constraints (#4153)

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* fix SG-RC Outcome claim projection argument

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via SG-RC

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via SG-RC

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* Remove temporary stage0 emitter debug

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* Remove stage0 emitter diagnostic

* Document Outcome smoke P5 receipt

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* WIP: Outcome ownership implementation — Outcome/Rc<Outcome> E0308 route via S

* Wave 3 Phase 1: CiSelectionReceipt extension + fixture shadow receipt (live CI deferred) (#4174)

* fix: rebase #4174 on main — receipt extension only (consume #4178)

Rebase onto origin/main after #4178 merged wave3_shadow_roster.dag and the
runtime selection API. Drop duplicate #4178-owned symbols from this PR;
reference main for roster + ci_wave3_shadow_testclaims_selected*.

Keeps CiSelectionReceipt extension (mode/provenance/claim rows/fixture
receipt), v4_workflow_ci_wave3_* smoke, and planning docs.

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

* WIP: Wave 3: affected-set + testgen shadow integration (coordinate neat-hawk-

* fix: restore M1 ledger honesty + smoke parity after rebase (#4174)

- Revert ci-required-surface-cut gate-3 row to match modeled authority
  (V4_M1_RUST_EMIT_PROBE_STRICT=0 in ci.dag/ci.yml; preconditions fail-closed).
- Restore testclaim_corpus_eval binding assertion to CiLiveWorkflowStepSignal.
- Restore M1 smoke: nested M1CiLiveWorkflowSignal.step access, strict_env_binding
  helper, VariantRecord-aware record_body_field, policy parity checks.

Addresses codex REQUEST_CHANGES on ef0f438.

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

---------

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

* Python L1 pyright/mypy static structural checks implementation (#4158)

* WIP: Python L1 pyright/mypy static structural checks implementation

* WIP: Python L1 pyright/mypy static structural checks implementation

* WIP: Python L1 pyright/mypy static structural checks implementation

* fix: address python static CI failures

* fix: clean up python static smoke test

* WIP: Python L1 pyright/mypy static structural checks implementation

* fix(v4): address review #23594/#23595 on PY-L1 static slice

- mypy.dag: import Bool from v4.std.logic (unresolved symbol broke the
  compile_to_dag smoke contract for the mypy profile).
- v4-leaf-model-python-l1-static-verify.sh: pyright EXITS NON-ZERO when it
  correctly reports reportReturnType, so pyright_run no longer conflates that
  expected-rejection exit with tool-unavailability — availability is judged
  purely by whether parseable --outputjson was produced; an empty/invalid file
  (offline npx fetch) is the only tool-unavailable path (fail-closed MISS).
- Add scripts/ci-merge/sg0-pr-body-append.4158.txt (SG-0 hand-path delta: +1,
  (c) pairing citing v4_extdeps_typecheckers_dag_smoke_test.rs + T-PB-B + #4158).
- Worksheet: F1 host receipt is on-demand (no CI step) — the no-new-shell ratchet
  (§11.7.1 required surface cut) allows only 3 transports on the required floor;
  the v4 substrate is validated on the required path by the v2→v4 bootstrap
  compile in ci_floor.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* WIP: Python L1 pyright/mypy static structural checks implementation

* fix(v4): de-conflate profile/tool identity + make BlockingForRung structural

Addresses codex scheduled review (sha 871b898) — 2 BLOCKING:

1. tool_profile_ref conflated profile identity with tool identity (filled with
   pyright_tool_id), so pyright_profile_l1's version/mode facts never flowed into
   the fixture (Facts-Flow-Forward / single-authority). Add distinct profile-identity
   Symbols pyright_profile_l1_id / mypy_profile_l1_id; the invocation's tool_profile_ref
   now references the PROFILE row, while the verdict's tool_id stays the tool identity.

2. LeafModelPythonStatic{Happy,Falsification}Case stored a free TargetStaticAnalysisInvocation,
   so a blocking fixture could be built with analysis_role: Advisory. Cases now carry only
   artifact + tool_profile_ref (+ tool_id/diagnostic_code for falsification); the invocation
   is CONSTRUCTED with analysis_role: BlockingForRung by accessor fns
   (leaf_model_python_static_{happy,falsification}_invocation). The blocking role and the
   profile/tool distinction are guaranteed by construction, not accepted as free fields.

Lens + claim updated to the new case shape; claim now also asserts tool_profile_ref ==
pyright_profile_l1_id flows. Verify script unchanged (fixture sources identical) — re-ran
PROVEN. NOTE: .dag changes not locally compile-validated (host load ~50, fork EAGAIN);
relying on CI ci_floor bootstrap compile.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(v4): clarify static tool identity comments

* fix(v4): F1 runner consumes the modeled pyright profile (single authority)

Addresses codex REQUEST_CHANGES #23685: the runner used any pyright on PATH
without pinning the modeled version/config, so the F1 receipt could pass under a
different tool profile than pyright_profile_l1_id references.

Now the runner reads pyright_profile_l1 facts from pyright.dag (single authority):
- pyright_version → pins exactly that version (PATH pyright used only if its
  --version matches; otherwise npx pins it; else fail-closed unavailable),
- python_version + type_checking_mode → written to a generated pyrightconfig.json
  that pyright auto-discovers for the fixtures.
The receipt records the consumed version/python_version/mode. Re-ran: PROVEN
(pyright 1.1.410, python 3.11, standard; falsification reportReturnType).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* WIP: Python L1 pyright/mypy static structural checks implementation

* fix(v4): address openai-pro REQUEST_CHANGES (single-authority + no-prose)

1. P2 single-authority: the F1 host receipt no longer hardcodes the pyright rule
   string. It reads the fixture's modeled expected diagnostic_code from the lens and
   resolves the rule_name from the pyright_diagnostic_rules row in pyright.dag, so the
   receipt can't drift from the modeled diagnostic namespace. Re-ran: PROVEN.
2. CODING.md no-prose / Practice 9: reduced the verbose "tried X, rejected Y"
   dissolution analysis embedded in TargetStaticAnalysisRole / TargetStaticAnalysisVerdict
   (leaf_model_verification.dag) and PyrightTypeCheckingMode (pyright.dag) to one-line
   🟢-terminal carrier tags; the full dissolution analysis is recorded in PR #4158 review.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* WIP: Python L1 pyright/mypy static structural checks implementation

* fix(v4): model pyright typeCheckingMode keyword spelling (single authority)

Addresses codex REQUEST_CHANGES #23765: the host receipt's mode_map re-authored
the PyrightTypeCheckingMode → config-keyword mapping (off/basic/standard/strict),
a second authority for a modeled profile fact (P2 / Practices 3,5).

pyright.dag now carries the modeled projection pyright_type_checking_mode_spellings
(variant_name → keyword). The runner resolves the typeCheckingMode keyword from that
row keyed by the profile's variant — no parallel mode map. Combined with the earlier
version/python-version/rule-string sourcing, the script now owns ZERO pyright
semantics; every pyright fact flows from pyright.dag. Re-ran: PROVEN.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(v4): key pyright mode-spelling projection by the enum variant (M4/P2)

Addresses codex REQUEST_CHANGES (sha f0ab617): PyrightTypeCheckingModeSpelling
modeled the enum member as a string proxy (variant_name: String), splitting the
closed PyrightTypeCheckingMode enum from its config spelling into two authorities.

The row is now keyed by a PyrightTypeCheckingMode value
(`PyrightTypeCheckingModeSpelling { mode: PyrightTypeCheckingMode, keyword: String }`,
rows use PyrightModeOff/Basic/Standard/Strict), so the enum and its spelling are one
authority. The host runner consumes that typed row (matches `mode: <variant>`) keyed by
the profile's modeled variant. Re-ran: PROVEN.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(v4): bind pyright to the generated profile config (--project)

Addresses openai-pro REQUEST_CHANGES (sha fad72bd): the F1 runner wrote the
modeled profile into ${scratch}/pyrightconfig.json but invoked pyright from the
repo root without --project, so pyright's config discovery was not structurally
bound to the generated config — the same-profile proof was not mechanically
guaranteed (P2 single authority / facts-flow-forward).

Both pyright command paths now pass `--project "$scratch"`, binding pyright to the
pyrightconfig.json carrying the modeled pythonVersion + typeCheckingMode. The run
provably consumes pyright_profile_l1 rather than ambient/default config. Re-ran:
PROVEN (happy clean, falsification reportReturnType).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* WIP: Python L1 pyright/mypy static structural checks implementation

* fix(v4): drop broken v3 smoke; validate profiles via whole-tree v2 gate

Addresses codex REQUEST_CHANGES (sha 8f5432e): the bespoke v3 hand-Rust smoke
`v4_extdeps_typecheckers_dag_smoke_test.rs` was mechanically failing. Its flat
`compile_to_dag_modules_in_order` chain transitively pulls in src/v4/std/logic.dag,
which the isolated v3 compile path cannot parse (`BoolWidthFact {}` → "expected field
label, got LBrace"). The profiles need text → logic, so a compatible flat chain isn't
available on the v3 path.

Per codex's whole-tree/generated-gate alternative: drop the v3 smoke and rely on the
`v2 → v4 bootstrap compile (fail-closed full)` step in ci_floor, which compiles all of
src/v4 (pyright.dag + mypy.dag + the std static-analysis carriers) — the v2 path parses
logic.dag fine. Removes the failing test plus its SG-0 census entry, INVARIANTS_OPS row,
and sg0-pr-body-append.4158.txt (net hand-Rust census delta is now 0). Worksheet updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(v4): remove unconsumed mypy profile (E-6); track as bounded follow-up

Addresses openai-pro REQUEST_CHANGES (sha 4910860): mypy.dag added a
mypy_profile_l1 + diagnostic namespace with NO same-PR consumer — the fixture,
.dag claim, and host runner are pyright-only. Per INVARIANTS E-6 / Boundary
Discipline a new target-spec extdeps fact is real only when a same-PR consumer
lands; an unconsumed mypy profile is dormant scaffold.

Per the offered remove-or-track option (and since mypy is not installable in the
current env, so a mypy F1 receipt can't be proven here): remove
src/v4/extdeps/typecheckers/mypy.dag from this slice and record mypy as bounded
tracked debt in the worksheet (owner = Python RCA Manager; trigger = land mypy.dag
together with a mypy fixture/claim/fail-closed receipt). The shared
TargetStaticAnalysis* carriers already accept a mypy profile by Symbol, so the
follow-up is additive — no carrier change. pyright remains fully consumed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(merge): resolve conflict markers left in the main merge commit

The auto-committed merge ab3c1fc landed with conflict markers still present in
src/v4/std/leaf_model_verification.dag, src/v4/lens/leaf_model_verification.dag, and
the worksheet. This commit applies the resolved content: keep BOTH the Python
PY-L1 static-analysis carriers/fixtures (this PR) and main's TypeScript
leaf-model carriers/fixtures (additive, distinct types); merge the import lists and
claim-id lists; take main's worksheet status line updated to note Worksheet A is
implemented in #4158.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* TS L0 impl (1/5): algebra inhabitance widening — ts_*_facts_* data lines per v4-ts-algebra-inhabitance-widening-worksheet-2026-06-01.md §10.0 (#4155)

* WIP: TS L0 impl (1/5): algebra inhabitance widening — ts_*_facts_* data lines

* WIP: TS L0 impl (1/5): algebra inhabitance widening — ts_*_facts_* data lines

* Merge origin/main into session/fierce-deer-550

Resolve typescript.dag conflict: main landed the number/bigint
algebra-inhabitance fact rows (+ SG-1 atom-realization block) via a
sibling PR. Dedupe — keep main's number/bigint rows once and the
atom-realization block; this PR's net-new content is the boolean row
(ts_bool_algebra_inhabitance_ts_facts_boolean, with E-6 staging marker)
and the string row (ts_string_algebra_inhabitance_ts_facts_string,
clean-merged).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore: delete internal-only content for public repo visibility flip (#4192)

* WIP: Release Jun1 one-shot public-repo cleanup (operator decision 2026-06-01:

* WIP: Release Jun1 one-shot public-repo cleanup (operator decision 2026-06-01:

* Add TypeScript TargetAtomRealization rows (#4189)

* WIP: TS L0 impl (3/5): TargetAtomRealization rows (Symbol/boolean/string) per

* Add TypeScript target atom realization rows

* Dissolve duplicate TypeScript symbol atom row

* Use structural String carrier for TypeScript atom row

* WIP: TS L0 impl (3/5): TargetAtomRealization rows (Symbol/boolean/string) per

* Fail closed for string value templates

* Use projections for string value templates

* Add FreeMonoid node projection receipt

* Declare SourceAtomValue as coproduct

* Document SourceAtomString raw node bridge

* TS L0 impl (5/5): grammar-inverse TestClaims G1+G2 — mvp1 add-fn + wave2a type_alias per v4-ts-grammar-inverse-testclaims-worksheet (#4156)

* WIP: TS L0 impl (5/5): grammar-inverse TestClaims G1+G2 — mvp1 add-fn + wave2

* WIP: TS L0 impl (5/5): grammar-inverse TestClaims G1+G2 — mvp1 add-fn + wave2

* WIP: TS L0 impl (5/5): grammar-inverse TestClaims G1+G2 — mvp1 add-fn + wave2

* docs: add P5 receipt for TS grammar inverse ratchet

* WIP: TS L0 impl (5/5): grammar-inverse TestClaims G1+G2 — mvp1 add-fn + wave2

* test: assert TS grammar inverse anchor bindings

* style: rustfmt TS grammar inverse test

---------

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

* T-38: restore corpus receipt smoke coverage (#4191)

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* fix(t38): require generated corpus tally conjunction

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* fix(t38): match modeled manual corpus gate

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* Tighten generated corpus eval receipt probes

* Merge origin/main into T-38 receipt follow-up

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* Test inverted corpus tally receipt rejection

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* Tighten T-38 receipt smoke needle

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* Anchor T-38 tally receipt to body tail

* WIP: Runtime/TestClaim Manager — authority over T-22 eval execution, T-38 str

* Pin T-38 inverted tally receipt subject

* Fix shared applied type Rc authority (#4190)

* ci_floor: de-churn cargo cache key (stop-the-bleeding) + model note for the right-way sccache projection (#4197)

* WIP: CI floor

* ci.dag: cite durable in-repo cache authority (worksheets deleted in #4192 public flip)

* ci_floor: route M1 emit-probe through host compute governor (memory-denominated dynamic jobs + jobserver + sccache) (#4210)

* WIP: CI floor

* WIP: CI floor

* WIP: CI floor

* chore: close Jun1 public cleanup gaps (#4200)

* WIP: Release Jun1 public-repo cleanup gap-fix (follow-on to merged PR #4192):

* chore: remove stale public cleanup test anchors

* WIP: Release Jun1 public-repo cleanup gap-fix (follow-on to merged PR #4192):

* docs: remove stale CI carrier regeneration wording

* docs: drop orphaned workflow brief receipt claim

* WIP: Release Jun1 public-repo cleanup gap-fix (follow-on to merged PR #4192):

* docs: align cleanup receipts with static CI carrier

* WIP: Release Jun1 public-repo cleanup gap-fix (follow-on to merged PR #4192):

* WIP: Release Jun1 public-repo cleanup gap-fix (follow-on to merged PR #4192):

* docs: clarify P5 dissolution receipts

* WIP: Release Jun1 public-repo cleanup gap-fix (follow-on to merged PR #4192):

* ci: refresh pinned workflow carrier

* ci_floor: M1 emit-probe fail-closed on host governor (remove static --jobs fallback) (#4212)

* WIP: CI floor

* WIP: CI floor

* WIP: CI floor

* WIP: CI floor

* ci_floor: M1 emit-probe fail-closed (no static fallback) + sync regen artifact SHA/env

* ci_floor: M1 emit-probe couples to host jobserver (MAKEFLAGS on GHA / ctrl-build in session), fail-closed on neither

ctrl-build is not installed on GHA runners — #4210's ctrl-build routing was a silent no-op
(always hit the --jobs 4 fallback). GHA couples to the jobserver via the actions-runner@.service
MAKEFLAGS instead, so raw cargo joins the pool directly (jobserver bounds rustc processes
host-wide: fill when idle, pare under load). Probe now runs jobserver-coupled with no fallback,
capped per-invocation at the ceiling; echoes MAKEFLAGS for verification.

* ci_floor: reframe M1 parallelism comments as jobserver-coupled (not ctrl-build-centric); sync ci.yml Source-SHA256

Addresses cursor review nit on #4212: ci.yml + smoke-test comments framed governance as
ctrl-build, but GHA is MAKEFLAGS-coupled without ctrl-build. Comments now match the authoritative
ci.dag/probe logic. ci.yml comment change → recomputed Source-SHA256 pin in the regen artifact.

* Go leaf-model: R1/R2a/R2b/R3-external claims, lens fixtures, verify scripts

Admin-merge onto main post-#4164/#4168 (orphan #4162 path-b).
Leaf-only diff: scripts, go_r*.dag, lens/std leaf_model_verification carriers.

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

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request Jun 1, 2026
…cripts

Orphan #4162 admin-merge onto main (path-b): leaf-only diff post-#4164/#4168.

Co-authored-by: Cursor <cursoragent@cursor.com>
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