Session 1 (2026-06-18) — Dogfooding
ah check: fixed malformed-contract bug (added
#[serde(default)] to Contract.tests),
registered 8 beads tickets, improved error messages
Session 2 (2026-06-19) — Wired 15 CLI contracts,
dropped cli findings 20→5, filed espectacular-14e (ah
doctor --json) and espectacular-gqi (ah report), fixed 3
filters from RO5 review
Session 3 (2026-06-18) — Docs site scaffolded
(mdBook + GH Pages), reviewed and polished via RO5 + anti-slop,
espectacular-h9a marked blocked on GitHub Pages
settings
Session 4 (2026-07-08, this session) — Closed all 8 remaining issues:
| Issue | Type | Outcome |
|---|---|---|
espectacular-7v4 |
Wiring | 25 adapters contracts → 0 no-tests-declared |
espectacular-o9x |
Wiring | 21 gate contracts → 0 no-tests-declared |
espectacular-6de |
Wiring | 15 explain contracts → 0 no-tests-declared |
espectacular-14e |
Feature | ah doctor --json with recommendation findings |
espectacular-gqi |
Feature | ah report coverage matrix (table + JSON) |
espectacular-ayi |
Ops | Enabled cargo + pytest adapters |
espectacular-h9a |
Docs | Published docs site to GitHub Pages |
espectacular-3rp |
Audit | Audited all 137 contract filters, fixed 1 zero-match filter |
Metrics: Structural findings 66→0, no-tests-declared 66→0, tests 211→226
Release v0.2.0: Bumped version, updated CHANGELOG, docs, llm.txt, all hardcoded version references; tag pushed (release workflow running → cross-platform binaries)
Arc: The project went from 8 open issues (66
structural findings, half of contracts unwired) to 0 open issues and a
green ah check. Two major features added
(ah doctor --json, ah report), docs published,
release shipped.
Next: No open issues. Next work would be on
add-spec-quality-checks OpenSpec change (ah lint command)
or feature requests from users.
ah doctor --json uses a standalone
DoctorJsonOutput struct rather than extending
CheckOutput, keeping the JSON schemas independent per
commandah report covers all specs in a matrix; exits 0 when
coverage is complete, 1 when gaps exist#match? regex
predicates; engine fix: body-as-branch detection when function body IS a
single branch formbuild_block now checks the
body node itself against capture map before walking children, enabling
correct complexity for lisp languagesdoctor.rs PermissionsExt missing
#[cfg(unix)] guardgit2 0.19 / libgit2-sys 0.17.0 missing
advapi32.lib on MSVC linker — upgraded to
git2 0.21 / libgit2-sys 0.18.5