Skip to content

feat(tri): tri catalog health -- the SPECS catalog split in t27 (Closes #6436) - #6439

Merged
gHashTag merged 3 commits into
masterfrom
tri-catalog-health-20261005T144610Z
Oct 5, 2026
Merged

gHashTag merged 3 commits into
masterfrom
tri-catalog-health-20261005T144610Z

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Closes #6436
Refs #6434 (epic #6063)

What

  • specs/tri/catalog/health.t27: negative-fixture markers (bootstrap/tests/fixtures/, neg_, damage_, eof_ as str consts), bucket rules (fixture or real; parse-fail when nodes == 0, else backend-only) and the change of one spec between two builds (FIXED, BROKE, WORSE, BETTER, ADDED-, REMOVED-), with 6 tests and an invariant.
  • gen/c/tri/catalog/health.c: t27c gen-c on the t27c lab, binary built from master 682564f (L2; nothing hand-edited).
  • scripts/tri_loop/catalog.py (tri catalog health): I/O only, every decision goes through the generated C via ctypes, the priority.py pattern. Flags --manifest FILE|URL, --repo X, --list, --json, --diff OLD.
  • loop-tools-gate: scripts/ci/test_the_catalog_health_is_decided_in_t27.py builds the spec tests from the C, checks every counting rule on a fixture manifest, and has two mutation controls (swapped bucket, a break called a fix).

tri t27b gaps is not added: tri t27b next already prints the sole/first blocker counts among specs where the reference passes and t27b is blocked.

Output on the live catalog

catalog https://t27.ai/t27/manifest.json: 1778 specs
  ok 1370  warn 232  fail 176  (broken 408, real work 384)
  built from gHashTag/t27 bf7d8eea9: 503 commits behind origin/master 682564f48 (as last fetched)

broken by bucket (health.t27 bucket)
  real backend-only        238
  real parse-fail          146
  fixture backend-only       1  negative fixture: failing is expected
  fixture parse-fail        23  negative fixture: failing is expected

broken by repo                    warn  fail  real-parse real-backend  fixture
  t27                              177    59          29          183       24
  trinity-fpga                       2    55          55            2        0
  tt-trinity-gamma                   1    32          32            1        0
  dmitrii-f-t27/trinity-memory      25     0           0           25        0
  tt-trinity-euler                  20     3           3           20        0
  turbobaby-user-bot                 0    22          22            0        0
  trios                              2     2           2            2        0
  trinity                            1     2           2            1        0
  tri-net                            2     0           0            2        0
  agent-mail-mcp                     1     0           0            1        0
  tt-trinity-corona                  1     0           0            1        0
  tt-trinity-phi                     0     1           1            0        0

Verification

  • cc -DT27_TEST_MAIN gen/c/tri/catalog/health.c: All 6 tests passed.
  • python3 scripts/ci/test_the_catalog_health_is_decided_in_t27.py: 4 ok lines, both mutants caught.
  • bash scripts/ci/loop-tools-tracked.sh: PASS. NOW entry shape: OK.

🤖 Generated with Claude Code

#6436)

Refs #6434, epic #6063.

specs/tri/catalog/health.t27 holds the negative-fixture markers, the bucket
rules (fixture or real, parse-fail or backend-only) and the change of one spec
between two catalog builds, with tests. gen/c/tri/catalog/health.c is t27c
gen-c output from the t27c lab at master 682564f (L2).

scripts/tri_loop/catalog.py (tri catalog health) reads the live manifest and
decides only through that C via ctypes: totals, the catalog's compiler commit
and its distance from origin/master, broken by bucket and by repo, --repo,
--list, --json, --diff OLD.

The loop-tools gate runs the spec's tests from the generated C, the counting
rules on a fixture manifest, and two mutation controls.

tri t27b gaps is not added: tri t27b next already prints the sole/first
blocker counts among reference-pass, t27b-blocked specs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-05 14:56:05 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 39
PRs with All Checks Green 11
READY 9
FAILING 39
PENDING 0
NO CHECKS YET 0

These columns do not partition: 9 + 39 + 0 + 0 = 48, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=9f2c8a4829f6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

…lth gate step (Closes #6436)

The loop-tools gate gains one run: step (python3
scripts/ci/test_the_catalog_health_is_decided_in_t27.py), so the shell census
moves from 288 to 289 run: steps. No other census number moves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-05 15:00:34 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 39
PRs with All Checks Green 11
READY 10
FAILING 39
PENDING 0
NO CHECKS YET 0

These columns do not partition: 10 + 39 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=9f2c8a4829f6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

…log-health step (Closes #6436)

The same new loop-tools-gate run: step runs with no container, so bash
-eo pipefail: that line moves 267 -> 268 with run: steps 288 -> 289.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-05 15:06:37 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 39
PRs with All Checks Green 11
READY 10
FAILING 39
PENDING 0
NO CHECKS YET 0

These columns do not partition: 10 + 39 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=9f2c8a4829f6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 11f5e6a into master Oct 5, 2026
23 of 27 checks passed
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.

tri catalog health: catalog Broken/Warn split by fixture and parse class, decided in t27

1 participant