ci/woodpecker/pr/ci Pipeline was successful
CI reaches shell suites through two hand-enumerated surfaces (package.json
test:framework-shell; direct ci.yml commands), and a hand-enumerated allowlist
re-arms its own gap: a new suite never auto-joins, which is how 17 of 39
suite-shaped files under framework/tools were invisible to every CI run.
check-test-enumeration.sh, now the first link of test:framework-shell:
- parses BOTH surfaces (JSON + chain tokenization; ci.yml token extraction) —
never hand-written line ranges, which three seats independently mis-scoped;
- checks BOTH directions: on-disk-but-unreachable fails, surface-named-but-
absent fails (a rename manufactures a stale entry silently);
- population pattern is basename *test*.sh, deliberately broad and applied
IDENTICALLY to both sides: the strict test-*.sh prefix cannot even name
three real boundary files, one of which three independent censuses handled
three different ways with no recorded judgement;
- the exclusions file gets the same rigor: no reason, stale path, contradictory
entry, or out-of-population entry each FAIL. An exclusion is a recorded
decision someone signed, not an omission nobody made.
The 17 previously-invisible suites enter as signed exclusions with honest
per-entry reasons (the #1007 five cite credential non-hermeticity; the push
guards cite one-run-green local measurements plus an unverified setsid
dependency; the unmeasured say unmeasured) — converting the silent gap into
attributable entries without trading it for a red seam. Burndown = make a
suite CI-reachable, delete its line; the guard enforces the bookkeeping.
Needle suite: 12 passed / 0 failed, both polarities per failure mode, asserted
on the guard's own words. Real-tree run at 826a8b3b: population 44 =
25 enumerated + 19 excluded, zero unsigned, all 38 surface-named paths present.
Written-by: pepper (sb-it-1-dt)
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NsKce8iZuSuRnu3gVMCBKB
46 lines
4.6 KiB
Plaintext
46 lines
4.6 KiB
Plaintext
# test-enumeration-exclusions.txt — signed exclusions for check-test-enumeration.sh (#1017).
|
|
#
|
|
# Every entry is a recorded decision: a suite-shaped file that exists on disk,
|
|
# is NOT reachable from any CI surface, and carries the reason someone signed
|
|
# for that. The guard FAILS on an entry with no reason, a stale path, or a path
|
|
# the surfaces already enumerate. Burning an entry down = making it CI-reachable
|
|
# (package.json test:framework-shell or a ci.yml step) and deleting its line.
|
|
#
|
|
# Format: <repo-relative path> | <reason>
|
|
# All entries below were signed at #1017's filing base (main 826a8b3b, 2026-07-31)
|
|
# by pepper (sb-it-1-dt); measurements cited are one-run assertions from that seat.
|
|
|
|
# --- tools/git: the #1007 five — non-hermetic, resolve real credentials ---
|
|
packages/mosaic/framework/tools/git/test-pr-merge-gitea-empty-uid.sh | resolves real credentials (#1007 census); joins CI after the wrapper-half hermeticity fix (git -C scoping)
|
|
packages/mosaic/framework/tools/git/test-issue-create-interactive-auth.sh | resolves real credentials (#1007 census); joins CI after the wrapper-half hermeticity fix
|
|
packages/mosaic/framework/tools/git/test-gitea-login-resolution.sh | resolves real credentials (#1007 census); joins CI after the wrapper-half hermeticity fix
|
|
packages/mosaic/framework/tools/git/test-pr-metadata-gitea.sh | resolves real credentials (#1007 census, fourth entry via family-grep); joins CI after the wrapper-half hermeticity fix
|
|
packages/mosaic/framework/tools/git/test-issue-comment-readback.sh | resolves real credentials (#1007 census, fifth entry); joins CI after the wrapper-half hermeticity fix
|
|
|
|
# --- tools/git: push guards — measured green locally, CI-image fitness unverified ---
|
|
packages/mosaic/framework/tools/git/test-push-guard.sh | measured green at 826a8b3b (46 passed / 0 failed, one run, 2026-07-31); CI-image fitness unverified; #1017 burndown
|
|
packages/mosaic/framework/tools/git/test-mutate-push-guard.sh | measured green at 826a8b3b (8/0, 13 mutants killed 0 survived, one run, 2026-07-31); requires setsid (util-linux), absent from the alpine base image; #1017 burndown
|
|
packages/mosaic/framework/tools/git/test-issue-create-body-safety.sh | hermeticity unaudited — the unprotected suite in #1007's protected/unprotected split; audit before CI; #1017 burndown
|
|
|
|
# --- tools/git: unmeasured ---
|
|
packages/mosaic/framework/tools/git/test-verify-clean-clone.sh | unmeasured in CI image; asserts git file-mode (100644/755) semantics that need verification on the CI filesystem first; #1017 burndown
|
|
packages/mosaic/framework/tools/git/test-help-exit-code.sh | unmeasured in CI image; stub-based (#701 regression harness), likely CI-fit; #1017 burndown
|
|
packages/mosaic/framework/tools/git/test-lane-brief-pr-linkage.sh | unmeasured in CI image; fixture-based (#546/#547 regression harness), likely CI-fit; #1017 burndown
|
|
|
|
# --- tools/tmux: require a live tmux server ---
|
|
packages/mosaic/framework/tools/tmux/test-send-message-socket.sh | requires a real tmux server on a throwaway socket; CI image ships no tmux; #1017 burndown (needs tmux in image or a signed permanent exclusion)
|
|
packages/mosaic/framework/tools/tmux/test-send-message-verdict.sh | requires real tmux-pane fixtures on a throwaway socket; CI image ships no tmux; #1017 burndown (same condition as its sibling)
|
|
|
|
# --- single-suite directories: unmeasured in CI ---
|
|
packages/mosaic/framework/tools/fleet/test-start-agent-session.sh | unmeasured in CI image; stubs tmux via a fake bin dir, likely CI-fit; #1017 burndown
|
|
packages/mosaic/framework/tools/glpi/test-list-http-status.sh | unmeasured in CI image; stub-based (#807 regression harness), likely CI-fit; #1017 burndown
|
|
packages/mosaic/framework/tools/orchestrator/test-board-roll.sh | unmeasured in CI image; file-fixture based, likely CI-fit; #1017 burndown
|
|
packages/mosaic/framework/tools/woodpecker/test-ci-wait-exit-matrix.sh | unmeasured in CI image; drives ci-wait.sh against a stub pipeline-status.sh, likely CI-fit; #1017 burndown
|
|
|
|
# --- naming-boundary files the strict test-*.sh prefix cannot even name ---
|
|
# (#1017: three independent censuses handled the microtest file three different
|
|
# ways — editorial drop, structural exclusion, accidental inclusion — with no
|
|
# recorded judgement. These lines ARE that judgement, signed.)
|
|
packages/mosaic/framework/tools/orchestrator/smoke-test.sh | behavior smoke checks for coord continue/run workflows, run manually by orchestrator seats; unmeasured in CI; #1017 burndown
|
|
packages/mosaic/framework/tools/wake/validate-973/microtest-wake-assert.sh | #973 instrument self-test, run as a precondition of the validate-973 evidence procedure rather than as a standing CI suite; #1017 burndown candidate
|