Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .trinity/seals/t27b_T27bLedgerSteward.json
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
{
"built_by": "t27c-bootstrap@0.5.2+063da049b",
"built_by": "t27c-bootstrap@0.5.2+9448ab4be",
"closure": [
{
"spec": "specs/tri/t27b/steward.t27",
"spec_hash": "sha256:70867c8cd8a8155d82f352b6833168f04c846a736413d6b2420d54774994123e"
}
],
"config": "gen=c,rust,verilog,zig;tests=zig",
"gen_hash_c": "sha256:7f6f95d85401dbb6dbaa7786ebc835a79450218b97ee0e9fa35a066805841e04",
"gen_hash_rust": "sha256:b002afd8a8e09a735fc529b7fde408eec6234131409a67812facd05a45670a31",
"gen_hash_verilog": "sha256:6c380f5e56877102b97dd5e81447238ef664b32598cafba68c3ee45fcafcb798",
"gen_hash_zig": "sha256:07cdd78d6c7a7380a47e7ebbb1047ad8645cf6670349f77af069ad317ef73621",
"gen_hash_c": "sha256:becd7f62aa56e34cf683608403563d674874423cddf741e2b9932749d71bf33c",
"gen_hash_rust": "sha256:d079237a1a807dceb37d6cf0154eac7551345bf65ead4f441b3deba0b4999b6e",
"gen_hash_verilog": "sha256:217a0e713f35c255769e0834f9f09fa31dd92bef12fc847a344cabcd8c8bc10b",
"gen_hash_zig": "sha256:5654e6fc2055335e4e44042f819337dd922f8b4dccd1150df693acdbe6f4aae8",
"module": "T27bLedgerSteward",
"ring": 12,
"seal_schema": 2,
"sealed_at": "2026-10-18T03:55:24Z",
"sealed_at": "2026-10-19T11:37:03Z",
"sealed_by": "t27c-bootstrap@0.5.2",
"spec_hash": "sha256:731eca094910d21ec239964b4df2f4e9890babd1d53395d000440df283b3c8b3",
"spec_hash": "sha256:901c576c4cb4fa673d47180b8f3dee27c6a09f9f9d4d6356d0d95a13178e30c5",
"spec_path": "specs/tri/t27b/ledger_steward.t27",
"tests": {
"failed": 0,
"failing": [],
"forced": false,
"passed": 11,
"total": 11,
"passed": 12,
"total": 12,
"vacuous": 0
},
"toolchain": {
"test_runner": "sha256:1982ae948e24d00c5d221ccec12dfce1eb01204b53e37b0f857f93b16d64629d",
"test_runner": "sha256:8512b80da533b79289110fca4a65f3336abd7a059ca4b72ea595d5e33ff8ad10",
"zig": "0.16.0"
}
}
29 changes: 29 additions & 0 deletions specs/tri/t27b/ledger_steward.t27
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@
; two or three rows (rust_convert, trios-mesh-node crypto, emit_kit) while about 250 safe rows waited
; and sessions wrote them into the ledger by hand 17 times in a day. A run with nothing to apply but a
; refused finding is still refused, and a stale flood or a cap rise still refuses the whole run.
; A run states the specs of ITS commit, and nothing newer (#11017). The lab takes about 25 minutes per
; run and the PR it earns is cut from master's tip when the job opens it, so a spec that lands in
; between has no finding in the run, and the PR's ratchet names it UNLISTED although the steward
; judged its commit rightly: run 2520ee1a5 (tree of 2323 specs, zig 0.16.0 as on CI) gave #10752 five
; findings and none for specs/fpga/analog_cell_ax7203.t27, which master took in b94c869d2 (#10578),
; 37 minutes after 2520ee1a5 and 1 minute before the PR branch was cut. That row is the NEXT run's.
; The steward does not chase the tip: skipping a run because master moved would starve it, since
; master moves faster than a run. Closing that gap is a gate on spec PRs (a row with the spec), not a
; rule here.
; Codes are steward.t27's; the invariant at the end checks the numbering against its entry_code.
; ASCII only (L3).
; phi^2 + 1/phi^2 = 3 | TRINITY
Expand Down Expand Up @@ -285,6 +294,26 @@ test batch_8646_nine_rows_one_codegen {
assert effect_wanted(RV_APPLY, EF_REFUSAL_ISSUE) == false;
}

test run_2520ee1a5_applies_four_rows_and_refuses_one_timeout {
// #10752, lab verdict APPLY {"refused":1,"applied":4,"new_not_pass":2}: UNEXPECTED FAILURE 1
// (suggest_feed, ledger pass, now timeout), UNLISTED 4 (two pass, deps_card and why_card blocked).
// No finding names analog_cell_ax7203: master took it after this run's commit (#11017).
var refused : u32 = tally_refused(0, RC_UNEXPECTED_FAILURE, T_TIMEOUT, 1);
refused = tally_refused(refused, RC_UNLISTED, T_PASS, 2);
refused = tally_refused(refused, RC_UNLISTED, T_BLOCKED, 2);
var applied : u32 = tally_applied(0, RC_UNEXPECTED_FAILURE, T_TIMEOUT, 1);
applied = tally_applied(applied, RC_UNLISTED, T_PASS, 2);
applied = tally_applied(applied, RC_UNLISTED, T_BLOCKED, 2);
var fresh : u32 = tally_new_not_pass(0, RC_UNLISTED, T_PASS, 2);
fresh = tally_new_not_pass(fresh, RC_UNLISTED, T_BLOCKED, 2);
assert refused == 1;
assert applied == 4;
assert fresh == 2;
assert refusal_reason(RC_UNEXPECTED_FAILURE, T_TIMEOUT) == RR_REGRESSION;
assert run_verdict(run_stewardable(true, true, true), refused, applied, 0, true) == RV_APPLY;
assert effect_wanted(RV_APPLY, EF_REFUSAL_ISSUE) == false;
}

test batch_8548_is_refused_for_its_two_failures {
// #8548, run c9d36f314: UNLISTED 8 (6 pass, claude_md and trinity_tokenizer blocked), UNEXPECTED
// PASS 44 (pass_vacuous -> pass), STALE 4, UNEXPECTED FAILURE 2 (ternary_gates and
Expand Down
Loading