You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following work can proceed in parallel with the four fixes
above; none of them depend on test-suite green:
Work
Blocking?
PyPI publish (Phase 7 OIDC setup)
Test-green strongly recommended but not strictly required (manual upload of v2.0.0 wheel works today)
pdoc API reference deployment to GitHub Pages
No — pure docstring extraction
Awesome-list submissions
Recommended to wait until tests-green for the badge story
Reddit / HN / X announcement
Recommended to wait until tests-green
Branch protection setup
No — orthogonal
Codecov token + first coverage report
Yes for accurate numbers, but token can be set today
OG banner upload (Settings → Social preview)
No — pure asset upload
Why these tests failed on first public CI
Three lessons emerged from the public-launch CI iteration:
1. CI never ran before public flip
Pre-public, no CI was triggered (private repo, no Actions enabled
or no push events to main). The 273-test suite was authored across
Phases 1.A–3 but never executed end-to-end. The first public push
exposed five accumulated test/code drift points.
Mitigation for the future: enable Actions on private repos, even
if just on a side branch, so the test suite runs at least once
before flipping public.
2. tests/conftest.py was 0 bytes since Phase 1.A
The Poison-Pill harness was written via the Write tool but
somehow never committed (likely a tooling artifact — the file got touched before the Write call). Every test that imported PoisonPillADB was technically broken from day one.
Mitigation: future projects should run pytest --collect-only
locally as part of the Phase 1 acceptance criteria.
3. Filter-repo --replace-text runs across # noqa: comments
The Lesson-redact filter-repo run replaced strings inside # noqa: BLE001 — Lesson 41 graceful degradation with # noqa: BLE001 — internal lesson (adaptive fault tolerance) graceful degradation. Functionally identical for ruff, but a reminder that
text-replacement passes touch comment content too.
Mitigation: when designing replacement strings, ensure they fit
within the same lint-rule context.
Issue lifecycle
This META issue stays open until all four sub-issues close as
fixed. When sub-issues are landed:
META: 5 test failures from first public CI run — tracking dashboard
Status snapshot (2026-05-05)
v2.0.0Tracked sub-issues
freq_to_channel2.4 GHz off-by-one_shellargv-token mismatch (2 tests)Total estimated effort: ~85 minutes to land all four fixes.
Doctrine policy table
[doctrine-exception], reviewer sign-offRecommended sequencing
Hypothesis pattern paying off; lowest blast radius.
commands as module-level constants; sets precedent for bug(controller): _shell joins shell command but tests register split argv tokens #5's
pattern.
change; fast.
exception process. Doing it last lets the project demonstrate
that the gate is real and the exception process exists.
Stable state — what's NOT blocked
The following work can proceed in parallel with the four fixes
above; none of them depend on test-suite green:
pdocAPI reference deployment to GitHub PagesWhy these tests failed on first public CI
Three lessons emerged from the public-launch CI iteration:
1. CI never ran before public flip
Pre-public, no CI was triggered (private repo, no Actions enabled
or no push events to main). The 273-test suite was authored across
Phases 1.A–3 but never executed end-to-end. The first public push
exposed five accumulated test/code drift points.
Mitigation for the future: enable Actions on private repos, even
if just on a side branch, so the test suite runs at least once
before flipping public.
2.
tests/conftest.pywas 0 bytes since Phase 1.AThe Poison-Pill harness was written via the
Writetool butsomehow never committed (likely a tooling artifact — the file got
touched before the Write call). Every test that importedPoisonPillADBwas technically broken from day one.Mitigation: future projects should run
pytest --collect-onlylocally as part of the Phase 1 acceptance criteria.
3. Filter-repo
--replace-textruns across# noqa:commentsThe Lesson-redact filter-repo run replaced strings inside
# noqa: BLE001 — Lesson 41 graceful degradationwith# noqa: BLE001 — internal lesson (adaptive fault tolerance) graceful degradation. Functionally identical for ruff, but a reminder thattext-replacement passes touch comment content too.
Mitigation: when designing replacement strings, ensure they fit
within the same lint-rule context.
Issue lifecycle
This META issue stays open until all four sub-issues close as
fixed. When sub-issues are landed:
When all four close, this META can close with comment:
Resolved by #N1, #N2, #N3, #N4 — test matrix back to 309/309.Related