Skip to content

t27b coverage: real tests for 13 cron cards in specs/crons (999-multibots-telegraf and railway) #8157

Closed

Description

@gHashTag

Part of #6063 (t27b coverage), which is item C10 of #6488 ("coverage counted without vacuous passes").

What is wrong

On the t27b lab, 26 cron cards of specs/crons pass vacuously (0 runtime asserts) under the reference and t27b: they have no test, invariant or bench block, which also breaks L4 TESTABILITY. This issue covers 13 of them: the 12 cards of 999-multibots-telegraf and railway-jobsearch-cron.

What the tests check

A cron card is data, but specs/crons/README.md states its schema, and the tests hold each card to it:

  1. ID is <host>/<repo>/<slug>: it opens with HOST, then REPO; the slug is one path segment. HOST is one of the five hosts.
  2. ON_FAILURE and CONTROL come from their vocabularies. An empty RUNS (the control link) carries its reason in RUNS_NOTE.
  3. A SCHEDULE is a five-field cron expression.
  4. A timer's SERVICE is <file>:<line>, and the slug ends in -L<line> for that line. The line is the one the card's header says the schedule was read from.
  5. A GitHub Actions card's SERVICE is its workflow file, .github/workflows/<slug>.yml.
  6. A Railway dashboard schedule is "" with a SCHEDULE_NOTE.

railway-jobsearch-cron breaks rule 1 (its ID names 999 while REPO is railway; #7911), so its test checks only the shape of ID.

Earlier attempt

See #6901 and #6721: open PRs of an earlier attempt that add tests to 8 of these 13 cards. Their tests restate each constant (assert NAME == "agent-autopilot-L1118"), which this lane rules out; they are superseded, not built on.

Done when

  • each card has these tests, passing under the reference (t27c test-report, 0 vacuous) and under t27b;
  • each is sealed;
  • the ledger rows that move come from bless of the branch run;
  • the signed lane receipts compare as IMPROVED_ONLY.

Boundary

  • specs/crons/README.md

Activity

  1. added a commit that references this issue on Oct 9, 2026
    0986def
  2. added
    needs-boundaryNo '## Boundary' section, so the Queen can reserve nothing for it and no bee can take it
    and removed
    needs-boundaryNo '## Boundary' section, so the Queen can reserve nothing for it and no bee can take it
    on Oct 9, 2026
  3. added a commit that references this issue on Oct 9, 2026
    66c8097
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions