Skip to content

docs(audit): name tracked-debt dissolution trigger for rationale-cell rewrite (openai-pro finding on #775) - #779

Merged
briansrls merged 1 commit into
mainfrom
fix/audit-rationale-rewrite-trigger
Apr 25, 2026
Merged

briansrls merged 1 commit into
mainfrom
fix/audit-rationale-rewrite-trigger

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Summary

Post-merge follow-up to #775. openai-pro auto-review on `089fd835` flagged the closing "future audit-discipline pass" wording as an open-ended TODO without a named dissolution trigger — INVARIANTS.md scaffold/debt rule violation (NON-BLOCKING).

Trigger now named: rationale-column rewrite lands as part of PB-Substrate proper execution, on the first PR that retires a substrate-shape row's hand-authored kernel content (e.g., the operator-types pilot in #778). The debt closes when every PB-Substrate row's rationale cell reflects post-pilot reality.

Test plan

  • Doc-only diff. No code surface.

🤖 Generated with Claude Code

… rewrite (openai-pro finding on #775)

openai-pro auto-review NON-BLOCKING finding: the closing "future
audit-discipline pass" wording at the end of the substrate-already-
generated reframe lacked a named dissolution trigger, violating
INVARIANTS.md scaffold/debt rule (every scaffold names its closing
condition).

Trigger named: rationale-column rewrite lands as part of PB-Substrate
proper execution, on the first PR that retires a substrate-shape
row's hand-authored kernel content (e.g., the operator-types pilot
in #778). The debt closes when every PB-Substrate row's rationale
reflects post-pilot reality.

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

Copy link
Copy Markdown
Contributor Author

Director review — APPROVE. Tracked-debt dissolution trigger named cleanly.

Surgical fix (+11/-2): replaces "future audit-discipline pass should rewrite those rationale cells" (open-ended TODO) with a named tracked-debt dissolution trigger:

Same hygiene as #775's pre-promotion deliverables, #771's drift-discipline, #777's count disambiguation. Audit doc continues tightening — no untracked open-ended TODOs survive.

Naming the dissolution trigger transforms the "audit-discipline TODO" from a scaffold (untracked → P5 violation) into a tracked-debt entry (specific PR scope, specific worker action, specific closure condition). Per INVARIANTS.md scaffold/debt rule, this restores discipline.

Verdict

Land when CI clears. Audit doc is now drift-resistant + tracked-debt-disciplined. Cascade evidence base + tracking discipline fully solid.

Standing by — D4(a) pilot dispatch + cascade promotion PR are the next forward motions.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: claude / claude-opus-4-7
  • Commit: 12a4f005 · Trigger: schedule
  • Thinking: 13s wall

Verdict: APPROVE — docs-only change adds the three required properties (documented, bounded, named trigger) for tracked debt at docs/design-pure-bootstrap-zero-audit.md:105-115. Trigger is concrete (first PR retiring a substrate-shape row's hand-authored kernel content, e.g. #778), and the close condition is bounded (every PB-Substrate row's rationale cell reflects post-pilot reality). Cleanly resolves the openai-pro finding from #775.

@briansrls
briansrls merged commit ad950fc into main Apr 25, 2026
4 checks passed
briansrls added a commit that referenced this pull request Apr 25, 2026
Per Zero-Floor Manager review on #780 note 2: this PR creates the
trigger #779 names for rewriting the audit doc's PB-Substrate
"why hand-authored" cell for `dag.rs`. Updates that cell to reflect
the hybrid state (multiple `*_generated.rs` modules already
included, including the operator-shim slice landed in #780) and
restates the migration path as "extend renderers until the residual
hand-authored slice is empty."

Note 1 (substrate.dag scaffold annotations) is non-blocking — the
substrate-side `🟡 SCAFFOLD` blocks at substrate.dag:130-160 already
capture the dissolution rationale (algebra.dag richer source, M2+
desugarer trigger), so retiring the dag.rs doc-comment loses no
information.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request Apr 25, 2026
…/OperatorKind via existing regen pattern (Pre-promotion Deliverable 4(a) for #762) (#780)

* feat(v3): PB-Substrate pilot v2 — ArithmeticOp/ComparisonOp/LogicalOp/OperatorKind via existing regen pattern (Pre-promotion Deliverable 4(a) for #762)

Extends `render_dag_scalar_module` in `scripts/regen_runtime_mirrors.py`
with four `render_sum` calls for the operator-shim family declared in
`src/v3/std/substrate.dag:134-164`, regenerates
`src/v3/compiler/src/dag_scalar_generated.rs`, and retires the
hand-authored Rust counterparts at `src/v3/compiler/src/dag.rs:686-724`.

Per `docs/briefs/pb-substrate-pilot-v2-arithmeticop.md`:

- Bundle landed in full (all four types). `OperatorKind`'s tuple-payload
  variants `Arithmetic(ArithmeticOp)` etc. flow through the existing
  `rust_type` fallback (unmapped names pass through unchanged); no new
  type-mapping pattern required.
- Generated declarations match the hand-authored derive set
  `#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]` and variant
  ordering exactly. Consumers in `regen_parse_tables_emit.rs` and the
  rest of `_generated.rs` files compile unchanged.
- Cementing is SG-0 producer-owned-partition (the file was already in
  `REGEN_OUTPUTS`); no new test authored, per brief.
- `cargo test --workspace --exclude v2-compiler-tests` passes.
- `cargo clippy --all-targets -- -D warnings` clean.
- `cargo fmt --all --check` clean.
- `self_host_fixed_point` binary still emits `pipeline_fixed_point_default_source: ok`.
- No SG-0 census array edits (no new file added or retired).

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

* docs(audit): update dag.rs rationale row post-pilot (#779 trigger)

Per Zero-Floor Manager review on #780 note 2: this PR creates the
trigger #779 names for rewriting the audit doc's PB-Substrate
"why hand-authored" cell for `dag.rs`. Updates that cell to reflect
the hybrid state (multiple `*_generated.rs` modules already
included, including the operator-shim slice landed in #780) and
restates the migration path as "extend renderers until the residual
hand-authored slice is empty."

Note 1 (substrate.dag scaffold annotations) is non-blocking — the
substrate-side `🟡 SCAFFOLD` blocks at substrate.dag:130-160 already
capture the dissolution rationale (algebra.dag richer source, M2+
desugarer trigger), so retiring the dag.rs doc-comment loses no
information.

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

* docs(audit): correct source-authority claim on dag.rs row (codex finding on #780)

Codex BLOCKING on f58b2ca flagged the rewritten `dag.rs` rationale row
as conflating the generator script with the source authority: the row
listed "scalar / branch / cluster / lookup / cost" all as substrate.dag
mirrors, but `dag_lookup_generated` is from `src/v3/std/lookup.dag` and
`dag_cost_generated` is from `src/v3/std/algebra.dag` (per
`expected_outputs` in `scripts/regen_runtime_mirrors.py:861-866`).

Splits the parenthetical: substrate.dag mirrors are scalar/branch/
cluster; lookup and cost are sourced separately. Also drops the stray
"scalar-operator-shim" item (it's a sub-piece of scalar, not a
separate file).

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

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request Apr 25, 2026
… gap (post-#780 closure of openai-pro finding) (#781)

Closes the discipline loop on openai-pro REQUEST_CHANGES surfaced
during PB-Substrate pilot v2 (#780). Worker dismissed the finding
inline as non-blocking on the strength of substrate.dag:130-160
already carrying rich per-type 🟡 SCAFFOLD annotations for the
operator-types slice. That dismissal is correct for #780 (no
information loss) but does not address the structural gap:
regen_runtime_mirrors.py propagates no annotations from substrate.dag
to the generated Rust mirror, regardless of whether substrate-side
annotations exist.

Manager call (a) per #780 thread: book the gap as tracked-debt
rather than expand pilot scope retroactively. This entry names the
dissolution trigger (PB-Substrate proper execution, on the first
slice whose rationale lives only in the retired hand-Rust block) and
the closure condition (every substrate type's authoring rationale
reachable from the generated Rust mirror). Either propagate
rationale into substrate.dag first, or extend the generator —
whichever lands first carries the closure.

Same scaffold/debt discipline pattern as #779's rationale-cell
rewrite trigger and #777's count disambiguation.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.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