Skip to content

Docs audit: fix stale verification tooling, test ContainerImage helpers, re-measure coverage - #56

Merged
DonsWayo merged 2 commits into
mainfrom
docs/audit-stale-verification
Oct 10, 2026
Merged

DonsWayo merged 2 commits into
mainfrom
docs/audit-stale-verification

Conversation

@DonsWayo

Copy link
Copy Markdown
Owner

Summary

  • CI diagnosis (no code change needed): the failed run 27686665489 — the only failure in the repo's history — never started a single step. Its job annotation reads: "The job was not started because recent account payments have failed or your spending limit needs to be increased." It was a transient GitHub Actions billing failure on the test/appstate-coverage branch; that PR (Extract AppState into testable ConsaiKit + comprehensive unit tests #20) was later merged, and its second commit deliberately deleted .github/workflows/ci.yml (hosted runners can't build the container SDK graph — documented in CHANGELOG's Known limitations). Main's last CI run was green. There is no workflow left to turn green, so this PR is docs-only; verification is local, as the project intends.

Changes

  1. Fix stale verification docs + add tests
    • docs/TESTING.md / CLAUDE.md R7 still described the removed check SwiftPM command plugin; document the real flow (swift test + swift run coverage).
    • Coverage table had drifted from measurement: AppState ~93% → ~86%, CLIContainerCreator ~84% → ~95%, tier-1 blended ~93% → ~90%. Models claimed 90–100% but ContainerImage measured 43% — its pure helpers (shortDigest, formattedSize, formatImageBytes) had no tests, so ContainerImageTests adds 5 tests in the doc's own pure-logic tier (now 91%).
  2. Docs audit: README checked claim-by-claim against the code — no drift (macOS 26, Swift 6.2 tools version, LSUIElement, 2s/15s adaptive polling defaults, all row/detail actions, CONSAI_E2E gate, cask token, screenshots, R1/R11 links; Info.plist 0.1.0 matches CHANGELOG [0.1.0]). Fixed the stale scripts/bundle.sh references in Package.swift comments and recorded everything under [Unreleased] > Fixed.

Verification

  • swift build — clean (269 s cold, 64 s incremental, Command Line Tools / Swift 6.3.3)
  • swift test --enable-code-coverage — 113 tests in 28 suites pass
  • swift run coverage — table figures re-measured from this run

No hosted CI exists for this repo by design (see CHANGELOG 'Known limitations'), so no checks will appear on this PR.

…sure coverage

docs/TESTING.md and CLAUDE.md still described a 'check' SwiftPM command
plugin (swift package --disable-sandbox check) that no longer exists —
PR #20 replaced it with the Tools/coverage executable to avoid the
plugin build-lock deadlock. Document the real flow: swift test +
swift run coverage.

The coverage table had drifted from measurement:
- AppState ~93% -> ~86% (update-check paths landed after the table was
  written)
- CLIContainerCreator ~84% -> ~95%
- Models claimed 90-100% but ContainerImage measured 43%: its pure
  helpers (shortDigest, formattedSize, formatImageBytes) had no tests.

Add ContainerImageTests (5 tests, pure logic tier per the doc's own
two-tier rule) — ContainerImage is now 91%. Measured tier-1 blended
coverage: ~90%. All figures from a fresh local llvm-cov run:
113 tests in 28 suites pass.
README audit found no drift — every claim checked out against the code
(macOS 26 requirement, Swift 6.2 tools version, LSUIElement, 2s/15s
adaptive polling defaults, start/stop/restart/delete/logs/shell actions,
CONSAI_E2E gate, cask token, screenshots, CLAUDE.md R1/R11 links;
Info.plist 0.1.0 matches CHANGELOG [0.1.0]).

Package.swift comments still pointed at the removed scripts/bundle.sh
(twice) — PR #20 replaced it with the native 'swift run bundle' tool.
Record the audit fixes under [Unreleased] > Fixed.
@DonsWayo
DonsWayo merged commit 2f54762 into main Oct 10, 2026
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.

1 participant