Repository navigation
R3 gate #64 reflection closure substrate-plumbing receipt (canonical witness deferred to PB-Runtime + T-LP retirement) #2694
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
d61ea38
R3 gate 64 reflection closure executable receipt
briansrls 2d65cfc
WIP: substrate_gap_reflection_closure_closed
briansrls d23844a
Clarify gate 64 receipt is non-canonical plumbing
briansrls 02f51bc
WIP: substrate_gap_reflection_closure_closed
briansrls 6f37c4c
Add gate 64 test harness to SG-0 census
briansrls 5d004c8
Add PR 2694 SG-0 body receipt
briansrls 18f01b5
WIP: substrate_gap_reflection_closure_closed
briansrls c24794f
Tighten gate 64 residual receipt
briansrls 8f7d12f
WIP: substrate_gap_reflection_closure_closed
briansrls 2066e43
WIP: substrate_gap_reflection_closure_closed
briansrls 00aa7c3
Merge remote-tracking branch 'origin/main' into session/sharp-stag-109
briansrls 0b69cb2
WIP: substrate_gap_reflection_closure_closed
briansrls 01caa1d
WIP: substrate_gap_reflection_closure_closed
briansrls 2a1a5ad
Merge remote-tracking branch 'origin/main' into session/sharp-stag-109
briansrls 8dc382b
Merge remote-tracking branch 'origin/main' into session/sharp-stag-109
briansrls fc4ae56
Keep v3 full-suite CI alive during long runs
briansrls 6065c03
WIP: substrate_gap_reflection_closure_closed
briansrls 222ef2f
Merge origin/main into gate 64 receipt branch
briansrls e01ef0f
WIP: substrate_gap_reflection_closure_closed
briansrls 399071d
Accept passing gate 64 residual census receipt
briansrls 0deb47b
Merge remote-tracking branch 'origin/main' into session/sharp-stag-109
briansrls a00be38
Merge remote-tracking branch 'origin/main' into session/sharp-stag-109
briansrls c1273cd
Merge remote-tracking branch 'origin/main' into session/sharp-stag-109
briansrls bf45644
Stabilize v3 Zig setup in CI
briansrls 717f7e0
Merge remote-tracking branch 'origin/main' into session/sharp-stag-109
briansrls 56bdcbb
Tighten gate 64 residual pass receipt
briansrls 90b5ac0
Add v3 prebuild CI heartbeat
briansrls 8fc3b00
Merge remote-tracking branch 'origin/main' into session/sharp-stag-109
briansrls 218b861
Merge remote-tracking branch 'origin/main' into session/sharp-stag-109
briansrls File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| SG-0 hand-path delta: +1 | ||
| SG-0 pairing: (c) follow-up dispatch for host-test residual under docs/briefs/t-pb-b-1.md; tracked by ROADMAP.md T-PB-B / pb_rust_tests_outside_residual_zero until the generic TestClaim runner executes this receipt without a Rust harness. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
38 changes: 38 additions & 0 deletions
38
src/v3/compiler/tests/fixtures/r3_substrate_gap_reflection_closure.dag
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| // std.r3_substrate_gap_reflection_closure - R3 gate #64 substrate-plumbing receipt. | ||
| // | ||
| // This is NOT the canonical `substrate_gap_reflection_closure_closed` gate | ||
| // predicate. The class-level gate remains conjunctive per r3-structure.md: | ||
| // representative reflection execution via PB-Runtime plus zero residual | ||
| // class bridges. This fixture covers only the second half's current | ||
| // lens-producer residual census. | ||
|
|
||
| module std.r3_substrate_gap_reflection_closure | ||
|
|
||
| import std.verification { | ||
| CensusSubsetCount, | ||
| TestClaim, | ||
| TestSuite, | ||
| expected_hand_authored_non_test, | ||
| lens_producer_files_subset_predicate | ||
| } | ||
|
|
||
| type Sg0CensusAuthority {} | ||
|
|
||
| data sg0_census_test_authority: Sg0CensusAuthority = {} | ||
|
|
||
| data substrate_gap_reflection_residual_census_receipt: TestClaim = { | ||
| name: "substrate_gap_reflection_residual_census_receipt", | ||
| source: "// Reflection residual-census receipts read external census state, not this source.\nlet _: Int = 0\n", | ||
| file_name: "r3_substrate_gap_reflection_residual_census_receipt.v3", | ||
| predicate: CensusSubsetCount { | ||
| authority: sg0_census_test_authority, | ||
| list_constant: expected_hand_authored_non_test, | ||
| subset_predicate: lens_producer_files_subset_predicate | ||
| }, | ||
| requires: [] | ||
| } | ||
|
|
||
| data r3_substrate_gap_reflection_closure_suite: TestSuite = { | ||
| name: "r3_substrate_gap_reflection_closure_suite", | ||
| claims: [substrate_gap_reflection_residual_census_receipt] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
60 changes: 60 additions & 0 deletions
60
src/v3/compiler/tests/integration/r3_substrate_gap_reflection_closure_test.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| //! **Layer:** integration | ||
| //! | ||
| //! R3 gate #64 — reflection-closure substrate-plumbing receipt. | ||
| //! | ||
| //! This is not the canonical `substrate_gap_reflection_closure_closed` consumer. | ||
| //! It proves the live T-LensProducer-Retirement residual census is executable | ||
| //! as plumbing for the bridge-count half of the class-level closure condition. | ||
|
|
||
| use v3_compiler::compile_to_dag; | ||
| use v3_compiler::test_runner::{ClaimResult, TestRunner}; | ||
| use v3_compiler::CompileError; | ||
|
|
||
| const FIXTURE_SOURCE: &str = include_str!("../fixtures/r3_substrate_gap_reflection_closure.dag"); | ||
| const FIXTURE_PATH: &str = "src/v3/compiler/tests/fixtures/r3_substrate_gap_reflection_closure.dag"; | ||
| const SUITE_NAME: &str = "r3_substrate_gap_reflection_closure_suite"; | ||
| const CLAIM_NAME: &str = "substrate_gap_reflection_residual_census_receipt"; | ||
| const CURRENT_REFLECTION_RESIDUAL_COUNT: i64 = 3; | ||
|
|
||
| #[test] | ||
| fn r3_gate_64_reflection_residual_census_receipt_executes() { | ||
| let dag = match compile_to_dag(FIXTURE_SOURCE, FIXTURE_PATH) { | ||
| Ok(dag) => { | ||
| assert!( | ||
| dag.diagnostics().is_empty(), | ||
| "{FIXTURE_PATH}: expected empty module diagnostics, got {:?}", | ||
| dag.diagnostics().iter().collect::<Vec<_>>() | ||
| ); | ||
| dag | ||
| } | ||
| Err(CompileError::Semantic(dag)) => panic!( | ||
| "{FIXTURE_PATH} should lower without module diagnostics. Got `Err(Semantic)`: {:?}", | ||
| dag.diagnostics().iter().collect::<Vec<_>>() | ||
| ), | ||
| Err(other) => panic!("unexpected compile error for {FIXTURE_PATH}: {other:?}"), | ||
| }; | ||
|
|
||
| let results = TestRunner::new(&dag).run_suite(SUITE_NAME); | ||
| let result = results | ||
| .iter() | ||
| .find(|result| result.claim_name == CLAIM_NAME) | ||
| .unwrap_or_else(|| panic!("missing `{CLAIM_NAME}` in `{SUITE_NAME}` results: {results:?}")); | ||
|
|
||
| match &result.result { | ||
| ClaimResult::Pass => assert_eq!( | ||
| CURRENT_REFLECTION_RESIDUAL_COUNT, 0, | ||
| "`{CLAIM_NAME}` passed before the frozen live reflection residual count reached zero" | ||
| ), | ||
| ClaimResult::Fail(reason) => { | ||
| assert!( | ||
| reason.contains(&format!( | ||
| "lens-producer subset observed {CURRENT_REFLECTION_RESIDUAL_COUNT}" | ||
| )), | ||
| "`{CLAIM_NAME}` should report the live reflection residual count; got {reason:?}" | ||
| ); | ||
| } | ||
| ClaimResult::NotYetImplemented(reason) => { | ||
| panic!("`{CLAIM_NAME}` receipt must be executable for R3 gate #64 plumbing, got NYI: {reason}") | ||
| } | ||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This comment was marked as resolved.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.