Repository navigation
R3 gate #53: workflow substrate carrier ratchet receipt - #3104
Conversation
Adds `workflow_substrate_carriers_test.rs` locking the Slice 1
β-ratified carriers (`WorkflowSecret { name: SecretName, scope:
SecretScope }`, `SecretScope = StepScope | JobScope | WorkflowScope`,
`CronSchedule` 5-field record, `CronField` 5-variant sum) against
the full bootstrap Dag.
Sibling-carrier shape with gate #62
`file_attachment_substrate_carrier_test.rs`; STOP+PING discipline on
field-count drift per
`docs/briefs/r3-substrate-t-workflow-as-data-slice-1-worker.md`.
Updates §1.8 row #53 to cite the structural ratchet receipt.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Addresses cursor/composer-2 BLOCKING review on #3104: every new hand-authored test path must be listed in EXPECTED_HAND_AUTHORED_TEST per INVARIANTS.md §P5 Mechanism (b). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds the `SG-0 hand-path delta: +1` + `SG-0 pairing: (c)` lines to the PR body (citing the worker brief as the dispatch evidence) so the `check-pr-sg0-net-shrink-discipline.sh` step picks up the discipline receipt on the next pull_request event. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
@cursor BLOCKING addressed in 3661eda: |
|
I validated the exact blocking note you highlighted and took proactive follow-up action.
I then re-ran the targeted verification:
I committed and pushed this as:
|
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
84e4f5cc· Trigger:schedule - Thinking:
297s wall
Non-blocking — Improvements (fix in-PR if easy, else defer to roadmap)
docs/r3-program-plan.mdLine 280 still carries the superseded CronExpression/std.workflow naming even though the live carrier is CronSchedule under dsl/extdeps; align this in T-Workflow-As-Data.src/v3/compiler/tests/integration/workflow_substrate_carriers_test.rsThe CronField ratchet checks variant labels but not variant payload field types, so Exact/Listed/Ranged/Step could drift while gate #53 still passes; defer under T-Workflow-As-Data if not expanded here.
✅ No blocking concerns; the SG-0 census entry, integration wiring, and dissolution receipt are paired cleanly.


Summary
Adds a structural ratchet receipt for §1.8 gate #53
workflow_substrate_carriers_landed(T-Workflow-As-Data Slice 1), modeled on the gate-#62file_attachment_substrate_carrier_test.rsprecedent.src/v3/compiler/tests/integration/workflow_substrate_carriers_test.rslocks the Slice 1 β-ratified carriers against the full bootstrap Dag:WorkflowSecret { name: SecretName, scope: SecretScope }SecretScope = StepScope | JobScope | WorkflowScopeCronSchedule— 5 typed fields (minute / hour / day_of_month / month / day_of_week), eachCronFieldCronField— 5 variants (Wildcard / Exact / Listed / Ranged / Step)EXPECTED_HAND_AUTHORED_TEST(sg0_census_test.rs) per INVARIANTS.md §P5 Mechanism (b).Authority: Director β-ratification at gunbc#828 #issuecomment-4395945465 + worker brief
docs/briefs/r3-substrate-t-workflow-as-data-slice-1-worker.md. PR #2160 landed the carriers; this PR pins them.Sibling-carrier ratchet to gate #62
file_attachment_substrate_carrier_test.rs. STOP+PING discipline onCronSchedulefield-count drift (>5 fields requires Director ratification per brief).SG-0 hand-path delta: +1
SG-0 pairing: (c) follow-up dispatch tracked at docs/briefs/r3-substrate-t-workflow-as-data-slice-1-worker.md — the ratchet test itself is the named Slice 1 receipt; full T-WAD slice queue (#54/#62/#98–#103) dispatch in flight under T-WAD lane, and this hand-Rust path dissolves into
.dagTestClaim form when testgen covers structural-shape assertions over substrate carriers.Test plan
cargo test -p v3-compiler --test integration -- workflow_substrate_carriers— 4 tests passcargo test -p v3-compiler --test integration sg0_census— 16 tests passcargo clippy -p v3-compiler --tests -- -D warningsclean🤖 Generated with Claude Code