What's Changed
- docs(process): retire the dead Python release checklist and refresh the workflow-template summary by @ahhrealmonstr in #692
- refactor(naming): resolve the 12 polish-tier naming findings (#671) by @ahhrealmonstr in #695
- fix(arch): close the false-green paths in the architecture gate (#688, #689, #678) by @ahhrealmonstr in #697
- fix(docs): restore the dead-link signal the drift detector cannot give (#686) by @ahhrealmonstr in #696
- fix(docs): stop the dead-link checker scanning gitignored files by @ahhrealmonstr in #699
- feat(history): promote the dogfood recorder to
canary history record(#538, #390) by @ahhrealmonstr in #702 - docs(adr): accept ADR 0013 — the history store presents one async contract by @ahhrealmonstr in #708
- chore(entropy): pay down 15 dead exports and tighten the ceiling 297 → 291 by @ahhrealmonstr in #709
- feat(core): personas as a first-class engine concept (#462, #341) by @ahhrealmonstr in #712
- feat(skills): execute the documented commands, and check declarations across surfaces (#487) by @ahhrealmonstr in #713
- feat(test-signal): soundness rules, vacuity detection, and promotion gated on structured verdicts (#605, #612, #477, #488) by @ahhrealmonstr in #714
- feat(migrate): report which overlay adoption pieces are present (#459) by @ahhrealmonstr in #715
- fix(dogfood): run vacuity-check on our own suites, and stop an unreadable count reading as zero (#716) by @ahhrealmonstr in #720
- feat(ci): wire the unwired harness checks and remove the last soft-failing gate (#717, #718) by @ahhrealmonstr in #721
- docs(links): decline the archived-plan-doc exclusion, and pin the decline by test (#719) by @ahhrealmonstr in #722
- refactor(ts): one ensureAscii implementation, imported not copied (#710) by @ahhrealmonstr in #726
- fix(history): stamp schema_version so the version guard can fire on our own rows (#701) by @ahhrealmonstr in #724
- fix(entropy): make the ratchet measurable locally, and name the upstream limit by @ahhrealmonstr in #727
- fix(cli): abstain instead of crashing when review-test/flake-check cannot read a path (#704) by @ahhrealmonstr in #723
- docs(roadmap): record harness#1328 as closed, and why #629 stays open by @ahhrealmonstr in #734
- fix(analysis): honour --db-url by making the engine async, and name what a remote backend cannot answer (#711, #390) by @ahhrealmonstr in #731
- fix(cli): list uninstall in canary --help, and answer uninstall --help (#730) by @ahhrealmonstr in #735
- docs(arch): name the floor-vs-ceiling rule the arch ratchet never states (#736) by @ahhrealmonstr in #737
- fix(savant): stop prose exempting SV002, and count try/finally as a restore by @ahhrealmonstr in #739
- docs(harness): name the traceability check's CI abstention, and guard the mechanism (#729) by @ahhrealmonstr in #741
- fix(hooks): resolve markdownlint in a worktree, and de-duplicate the changelog (#725) by @ahhrealmonstr in #740
- docs(adr): record scan-config's real numbers and the upstream fix it waits on (#719) by @ahhrealmonstr in #742
- fix(ci): give the traceability check a real denominator, and refuse to render one without it by @ahhrealmonstr in #743
- chore(entropy): lower the ceiling to 267 and enforce the headroom it documents by @ahhrealmonstr in #745
- fix(ratchet): abstain when the CLI that measured a ceiling is not the one enforcing it by @ahhrealmonstr in #746
- chore(release): cut 7.1.0, and stop two changelog entries contradicting each other by @ahhrealmonstr in #748
Full Changelog: v7.0.0...v7.1.0