Repository navigation
t27b checked: test blocks for 5 specs in specs/crons (1 of 1) #8060
Description
t27b checked: test blocks for 5 specs in specs/crons (1 of 1)
Refs #6063 (t27b coverage epic). Filed by the bee feed (lab run 7a07828fc, https://t27b-lab-production.up.railway.app/latest.json).
The Railway t27b lab says the reference path (t27c gen + zig test) passes each spec below, and t27b compiles each one too -- but each is pass_vacuous: it has no test block, so nothing is checked at runtime and it does not count toward t27b coverage. These five cron cards came home from trinity's mirror in #7304, after the earlier specs/crons feed was filed. One test block per spec that asserts what the spec already declares makes it a checked pass the next time the lab runs; specs/crons/999-multibots-telegraf-log-monitor.t27 is a sibling card whose test already passes under both counters.
specs/crons/999-multibots-telegraf-client-telemetry-daily.t27specs/crons/999-multibots-telegraf-club-invoice-abandoned-watch.t27specs/crons/999-multibots-telegraf-crm-proactive-sweep.t27specs/crons/999-multibots-telegraf-robokassa-unclaimed-watch.t27specs/crons/999-multibots-telegraf-ton-pending-watch.t27
Why each new test needs both kinds of assert: the two counters disagree on which assert over a declared constant runs at all. t27c test-report folds a bool or integer constant compared with a literal (assert ENABLED == true;) and counts a str comparison; t27b folds the str comparison and counts the bool/integer one. Measured on specs/crons/999-multibots-telegraf-log-monitor.t27, whose one test holds 4 str asserts and 1 bool assert: the reference counts 4, t27b counts 1. A test with both kinds is a checked pass under both counters, and the criteria below measure both: t27c test-report must show no vacuous test, and a grep must find the bool or integer assert t27b counts.
Out of bounds (do not edit): any other file, seals under .trinity/seals/, docs/reports/, gen/, and the blog progress spec. The steward re-blesses the t27b ledger after the lab sees the change.
Boundary
specs/crons/999-multibots-telegraf-client-telemetry-daily.t27
specs/crons/999-multibots-telegraf-club-invoice-abandoned-watch.t27
specs/crons/999-multibots-telegraf-crm-proactive-sweep.t27
specs/crons/999-multibots-telegraf-robokassa-unclaimed-watch.t27
specs/crons/999-multibots-telegraf-ton-pending-watch.t27
User Scenarios & Testing
- Given each spec above has no
testblock andt27c test-report <spec>printstests 0,
when onetestblock holdingstrandboolasserts is appended to each spec and the commands under Success Criteria are run from the repository root,
then each command prints the value stated beside it, and the next t27b lab run counts these specs as checked passes instead ofpass_vacuous.
Requirements
- FR-001: append exactly one
test <snake_case_name> { ... }block, named as no other test in the file is, to each spec listed above (at the end of the file). Do not change, reorder or remove any existing line; the number ofpub constlines stays the same. - FR-002: each new test MUST hold at least 4
assertlines, each on its own line, comparing a constant the spec declares with the literal value it declares. At least one compares astrconstant or one element of astrarray (assert KIND == "cron";,assert TAGS[0] == "corpus";), and at least one compares aboolor integer constant written exactly asassert NAME == <literal>;(assert ENABLED == true;,assert RETRIES == 0;). Use only==,!=,<,<=,>,>=onstr,booland integer constants. Noassert true, no new functions, no new constants, novar, no imports. - FR-003: every assert MUST hold:
t27c test-report <spec>printsFAIL 0and thevacuous passesline the Success Criteria state. A failing assert means the value was copied or worked out wrong -- fix the assert, never the spec. - FR-004: the files MUST stay ASCII-only (law L3).
- FR-005: the PR contains only
.t27files (the specs above) and nothing hand-written in any other language, no generated file, no scratch file, nodocs/now/entry written by hand. - FR-006: If this work raises the number of specs t27b passes with runtime checks, write
t27b-blog: +N <spec paths>in the PR body, so the daily blog entry can name which bee work moved the number.
Success Criteria
-
t27c test-report specs/crons/999-multibots-telegraf-client-telemetry-daily.t27 2>&1 | grep -cE '^ (FAIL +0|vacuous passes 0 of 1 .*)$'prints2(today it prints1:tests 0, nothing runs)
-
grep -cE '^[[:space:]]+assert[ (]+[A-Z][A-Z_0-9]* == ([0-9]+|true|false)\)?;' specs/crons/999-multibots-telegraf-client-telemetry-daily.t27prints at least1(today0)
-
t27c test-report specs/crons/999-multibots-telegraf-club-invoice-abandoned-watch.t27 2>&1 | grep -cE '^ (FAIL +0|vacuous passes 0 of 1 .*)$'prints2(today it prints1:tests 0, nothing runs)
-
grep -cE '^[[:space:]]+assert[ (]+[A-Z][A-Z_0-9]* == ([0-9]+|true|false)\)?;' specs/crons/999-multibots-telegraf-club-invoice-abandoned-watch.t27prints at least1(today0)
-
t27c test-report specs/crons/999-multibots-telegraf-crm-proactive-sweep.t27 2>&1 | grep -cE '^ (FAIL +0|vacuous passes 0 of 1 .*)$'prints2(today it prints1:tests 0, nothing runs)
-
grep -cE '^[[:space:]]+assert[ (]+[A-Z][A-Z_0-9]* == ([0-9]+|true|false)\)?;' specs/crons/999-multibots-telegraf-crm-proactive-sweep.t27prints at least1(today0)
-
t27c test-report specs/crons/999-multibots-telegraf-robokassa-unclaimed-watch.t27 2>&1 | grep -cE '^ (FAIL +0|vacuous passes 0 of 1 .*)$'prints2(today it prints1:tests 0, nothing runs)
-
grep -cE '^[[:space:]]+assert[ (]+[A-Z][A-Z_0-9]* == ([0-9]+|true|false)\)?;' specs/crons/999-multibots-telegraf-robokassa-unclaimed-watch.t27prints at least1(today0)
-
t27c test-report specs/crons/999-multibots-telegraf-ton-pending-watch.t27 2>&1 | grep -cE '^ (FAIL +0|vacuous passes 0 of 1 .*)$'prints2(today it prints1:tests 0, nothing runs)
-
grep -cE '^[[:space:]]+assert[ (]+[A-Z][A-Z_0-9]* == ([0-9]+|true|false)\)?;' specs/crons/999-multibots-telegraf-ton-pending-watch.t27prints at least1(today0)
Activity
docs: the coordination entry this branch needs to land
gHashTag commentedon Oct 10, 2026
done on master by other batches: every spec the issue names runs checked (t27b pass + reference pass) in the lab run at master 606611c, finished 2026-10-10T02:49:52Z (https://t27b-lab-production.up.railway.app/runs/606611ced01f3970553dced70e1a2547ab8fb383.json). Closing with that evidence; the stale PR that carried it (#6721/#6733/#6890/#6901/#6881/#8107/#8168 respectively) is closed unmerged as superseded.