Skip to content

R3 gate #53: workflow substrate carrier ratchet receipt - #3104

Merged
briansrls merged 10 commits into
mainfrom
session/sharp-carp-187
May 14, 2026
Merged

briansrls merged 10 commits into
mainfrom
session/sharp-carp-187

Conversation

@briansrls

@briansrls briansrls commented May 14, 2026 •

Copy link
Copy Markdown
Contributor

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-#62 file_attachment_substrate_carrier_test.rs precedent.

  • New src/v3/compiler/tests/integration/workflow_substrate_carriers_test.rs locks the Slice 1 β-ratified carriers against the full bootstrap Dag:
    • WorkflowSecret { name: SecretName, scope: SecretScope }
    • SecretScope = StepScope | JobScope | WorkflowScope
    • CronSchedule — 5 typed fields (minute / hour / day_of_month / month / day_of_week), each CronField
    • CronField — 5 variants (Wildcard / Exact / Listed / Ranged / Step)
  • New path listed in EXPECTED_HAND_AUTHORED_TEST (sg0_census_test.rs) per INVARIANTS.md §P5 Mechanism (b).
  • §1.8 row Cursor/lane b workflow 2281 #53 updated to cite the structural ratchet receipt.

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 on CronSchedule field-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 .dag TestClaim form when testgen covers structural-shape assertions over substrate carriers.

Test plan

  • cargo test -p v3-compiler --test integration -- workflow_substrate_carriers — 4 tests pass
  • cargo test -p v3-compiler --test integration sg0_census — 16 tests pass
  • cargo clippy -p v3-compiler --tests -- -D warnings clean
  • CI green

🤖 Generated with Claude Code

briansrls and others added 9 commits May 14, 2026 17:11
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>
@briansrls

Copy link
Copy Markdown
Contributor Author

@cursor BLOCKING addressed in 3661eda: workflow_substrate_carriers_test.rs added to EXPECTED_HAND_AUTHORED_TEST in src/v3/compiler/tests/integration/sg0_census_test.rs (matching the gate-#62 file_attachment_substrate_carrier_test.rs precedent). cargo test -p v3-compiler --test integration sg0_census passes (16/16). PR body also updated with SG-0 hand-path delta: +1 + SG-0 pairing: (c) citing docs/briefs/r3-substrate-t-workflow-as-data-slice-1-worker.md. — sent from sharp-carp-187

@cursor

cursor Bot commented May 14, 2026 •

Copy link
Copy Markdown

I validated the exact blocking note you highlighted and took proactive follow-up action.

  • I confirmed commit 3661eda5a is present and that workflow_substrate_carriers_test.rs is listed in EXPECTED_HAND_AUTHORED_TEST in src/v3/compiler/tests/integration/sg0_census_test.rs.
  • While checking compliance, I found one remaining bookkeeping gap: there was no matching P5 receipt row for that path in INVARIANTS.md.
  • I added that missing row under the SG-0 hand-authored integration test receipts table for gate Cursor/lane b workflow 2281 #53 (workflow_substrate_carriers_landed), including dissolution and interim-ratchet details aligned to the test names.

I then re-ran the targeted verification:

  • cargo test -p v3-compiler --test integration -- workflow_substrate_carriers ✅ (4/4 passed)
  • cargo test -p v3-compiler --test integration sg0_census ✅ (16/16 passed)

I committed and pushed this as:

  • 30687bcdf — docs(invariants): add gate #53 SG-0 receipt row
Open in Web Open in Cursor 

Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
@briansrls
briansrls merged commit 055b1b6 into main May 14, 2026
4 checks passed

@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: 84e4f5cc · Trigger: schedule
  • Thinking: 297s wall

Non-blocking — Improvements (fix in-PR if easy, else defer to roadmap)

  • docs/r3-program-plan.md Line 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.rs The 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.

@briansrls
briansrls deleted the session/sharp-carp-187 branch June 1, 2026 18:42
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.

2 participants