What's Changed
- docs(goal): archive evidence repair 0.8 goal by @EffortlessSteven in #306
- docs(proposal): add review-ready packet quality proposal by @EffortlessSteven in #307
- docs(spec): define packet quality contract by @EffortlessSteven in #308
- docs(adr): define claim candidate boundary by @EffortlessSteven in #309
- feat(report): classify packet evidence strength by @EffortlessSteven in #311
- feat(packet): render packet readiness section by @EffortlessSteven in #312
- feat(report): add receipt-backed claim candidates by @EffortlessSteven in #313
- feat(packet): render claim candidates by @EffortlessSteven in #314
- feat(share): explain share posture by @EffortlessSteven in #315
- feat(runs): show packet quality diff by @EffortlessSteven in #316
- test(product): prove repaired packet becomes review-ready by @EffortlessSteven in #317
- docs(guides): add review-ready packet guide by @EffortlessSteven in #318
- release: prepare review-ready packet release by @EffortlessSteven in #319
- chore(release): hold 0.9 release prep after 0.8 by @EffortlessSteven in #320
- test(product): add review-ready packet golden fixture by @EffortlessSteven in #321
- test(cli): pin quality command no-write guarantees by @EffortlessSteven in #322
- fix(report): validate relative intake report paths by @EffortlessSteven in #323
- fix(cli): preserve out path in review next steps by @EffortlessSteven in #324
- docs(guides): tighten review-ready soak workflow by @EffortlessSteven in #325
- test(report): prove legacy packet quality diff by @EffortlessSteven in #326
- fix(test): harden GitHub fixture readiness probe by @EffortlessSteven in #327
- fix(intake): align skipped source summary by @EffortlessSteven in #328
- fix(intake): reconcile runtime source decisions by @EffortlessSteven in #329
- fix(journal): target repair entries to configured manual file by @EffortlessSteven in #330
- fix(open): print normal Windows paths by @EffortlessSteven in #331
- fix(intake): preserve manual events path in journal suggestions by @EffortlessSteven in #332
- docs(guides): clarify configured manual evidence paths by @EffortlessSteven in #333
- fix(packet): omit empty readiness groups by @EffortlessSteven in #334
- fix(intake): preserve repo path in created git config by @EffortlessSteven in #335
- fix(repair): carry journal workstream into rerun guidance by @EffortlessSteven in #336
- chore(release): guard held 0.9 tag by @EffortlessSteven in #337
- fix(intake): route repairable packets to repair plan by @EffortlessSteven in #338
- docs(guides): clarify review-ready dogfood path by @EffortlessSteven in #339
- test(cli): pin open packet no-write behavior by @EffortlessSteven in #340
- fix(report): dedupe journal suggestions by @EffortlessSteven in #341
- docs(release): record post-0.8 soak receipts by @EffortlessSteven in #342
- test(product): add review-ready packet golden fixture by @EffortlessSteven in #343
- fix(repair): include manual source in journal reruns by @EffortlessSteven in #344
- fix(intake): reduce duplicate next blocks by @EffortlessSteven in #345
- test(cli): pin repair diff no-write behavior by @EffortlessSteven in #346
- fix(intake): prefer safe manager share explanation by @EffortlessSteven in #347
- fix(repair): dedupe journal repair items by @EffortlessSteven in #348
- docs(release): refresh post-0.8 soak receipts by @EffortlessSteven in #349
- fix(share): print Windows redaction key guidance by @EffortlessSteven in #350
- fix(repair): add diff next actions by @EffortlessSteven in #351
- docs(guides): clarify review-ready handoffs by @EffortlessSteven in #352
- docs(ci): keep ripr advisory posture current by @EffortlessSteven in #357
- docs(release): refresh post-0.8 soak receipts by @EffortlessSteven in #358
- fix(intake): separate intake and packet readiness by @EffortlessSteven in #364
- fix(report): label intake and packet readiness by @EffortlessSteven in #365
- docs(release): record readiness display soak fixes by @EffortlessSteven in #366
- fix(report): prefer share explain in summary by @EffortlessSteven in #367
- docs(release): record summary share handoff soak fix by @EffortlessSteven in #368
- fix(report): hide share render actions in summary by @EffortlessSteven in #369
- fix(report): avoid duplicate intake report window by @EffortlessSteven in #370
- fix(report): explain share posture before render commands by @EffortlessSteven in #371
- fix(report): dedupe repeated top fixups by @EffortlessSteven in #372
- docs(schema): describe share explain report handoff by @EffortlessSteven in #373
- docs(readme): align crate readme with review-ready flow by @EffortlessSteven in #374
- fix(intake): keep default out handoffs compact by @EffortlessSteven in #375
- fix(intake): normalize review-ready path display by @EffortlessSteven in #376
- fix(intake): block unsafe journal repair handoffs by @EffortlessSteven in #377
- fix(share): surface evidence debt in share explain by @EffortlessSteven in #378
- fix(report): dedupe outcome-context evidence debt by @EffortlessSteven in #379
- fix(intake): keep zero-event sources out of good by @EffortlessSteven in #380
- fix(intake): keep repair handoff on repair plan by @EffortlessSteven in #381
- fix(intake): keep repair next handoff read-first by @EffortlessSteven in #382
- docs(guides): explain read-first repair handoff by @EffortlessSteven in #383
- docs(guides): route rapid intake repair through plan by @EffortlessSteven in #384
- docs(readme): align repair and share handoff by @EffortlessSteven in #385
- fix(intake): surface autodetected skips in packets by @EffortlessSteven in #386
- fix(diff): require source evidence before clearing repairs by @EffortlessSteven in #387
- fix(intake): hand repaired reruns to repair diff by @EffortlessSteven in #388
- fix(share): label render handoff from explain by @EffortlessSteven in #389
- docs(release): summarize post-0.8 soak findings by @EffortlessSteven in #390
- docs(test): add review-ready dogfood matrix by @EffortlessSteven in #391
- test(product): pin review-ready dogfood matrix by @EffortlessSteven in #392
- fix(cli): tighten review-ready wording by @EffortlessSteven in #393
- test(report): prove packet quality alignment by @EffortlessSteven in #394
- test(report): harden old report compatibility by @EffortlessSteven in #395
- chore(release): guard paused 0.9 release execution by @EffortlessSteven in #396
- docs(dogfood): record review-ready loop transcript by @EffortlessSteven in #397
- docs(release): keep 0.9 hold after soak review by @EffortlessSteven in #398
- docs(proposal): add guided setup and doctor proposal by @EffortlessSteven in #399
- docs(spec): define setup readiness contract by @EffortlessSteven in #400
- docs(adr): doctor is setup readiness not intake by @EffortlessSteven in #401
- feat(doctor): add setup readiness model by @EffortlessSteven in #402
- feat(doctor): print setup readiness by @EffortlessSteven in #403
- feat(sources): print setup status by @EffortlessSteven in #404
- feat(init): add guided setup defaults by @EffortlessSteven in #405
- feat(repair): route setup-blocked repairs to doctor by @EffortlessSteven in #406
- feat(doctor): include share profile readiness by @EffortlessSteven in #407
- test(product): prove guided setup avoids dead-end repair by @EffortlessSteven in #408
- docs(guides): add guided setup and doctor guide by @EffortlessSteven in #409
- docs(release): update 0.9 hold after guided setup decision by @EffortlessSteven in #410
- docs(doctor): add setup-readiness dogfood matrix by @EffortlessSteven in #411
- feat(doctor): add setup readiness json output by @EffortlessSteven in #412
- docs(schema): define setup readiness json contract by @EffortlessSteven in #413
- test(doctor): prove doctor and sources status agree by @EffortlessSteven in #414
- test(doctor): prove json supports safe agent decisions by @EffortlessSteven in #415
- feat(intake): prefer doctor when setup is blocked by @EffortlessSteven in #416
- test(doctor): align share readiness blockers by @EffortlessSteven in #417
- docs(dogfood): record guided setup transcript by @EffortlessSteven in #418
- fix(git): derive local repo identity from workdir by @EffortlessSteven in #419
- test(config): harden setup readiness compatibility by @EffortlessSteven in #420
- docs(readme): make doctor the setup front door by @EffortlessSteven in #421
- docs(release): decide post-setup 0.9 posture by @EffortlessSteven in #422
- fix(security): Security scan report - 2026-05-18 (0 findings) by @factory-droid[bot] in #423
- docs(proposal): add review-loop status proposal by @EffortlessSteven in #424
- docs(spec): define review-loop status contract by @EffortlessSteven in #425
- docs(adr): status reads receipts not packet prose by @EffortlessSteven in #426
- feat(status): add review loop status model by @EffortlessSteven in #427
- feat(status): resolve latest review loop receipts by @EffortlessSteven in #428
- feat(status): print latest review-loop status by @EffortlessSteven in #429
- feat(status): add review-loop status json by @EffortlessSteven in #430
- docs(schema): define review-loop status json contract by @EffortlessSteven in #431
- test(status): prove status agrees with receipts by @EffortlessSteven in #432
- test(status): prove safe next actions by @EffortlessSteven in #433
- docs(dogfood): record review-loop status transcript by @EffortlessSteven in #434
- docs(guides): add recurring review-loop guide by @EffortlessSteven in #435
- docs(readme): teach status as the review-loop cockpit by @EffortlessSteven in #436
- docs(changelog): curate 0.9 release story by @EffortlessSteven in #437
- docs(readme): make 0.9 review loop the front door by @EffortlessSteven in #438
- docs(crate): tighten crates.io README for first-loop use by @EffortlessSteven in #439
- docs(release): update 0.9 readiness for review-loop status by @EffortlessSteven in #440
- docs(guides): align 0.9 guide map around status-first workflow by @EffortlessSteven in #441
- docs(readme): align badge layout with proof-first style by @EffortlessSteven in #443
- docs(proposal): add GitHub activity harvest proposal by @EffortlessSteven in #444
- docs(spec): define GitHub activity harvest contracts by @EffortlessSteven in #445
- docs(adr): make GitHub harvest actor-first by @EffortlessSteven in #446
- feat(github): add activity plan-only mode by @EffortlessSteven in #447
- feat(cache): cache GitHub search responses by @EffortlessSteven in #448
- feat(github): add API budget guardrails by @EffortlessSteven in #449
- feat(github): add owner-scope receipts by @EffortlessSteven in #450
- feat(github): add activity profile runs by @EffortlessSteven in #451
- feat(report): add GitHub activity API ledger by @EffortlessSteven in #452
- docs(guides): add GitHub activity harvest guide by @EffortlessSteven in #453
- test(product): prove GitHub activity resume skips refetch by @EffortlessSteven in #454
- fix(redact): use real HMAC-SHA256 for alias generation by @EffortlessSteven in #310
- feat(github): add activity status report and merge by @EffortlessSteven in #455
- docs(proposal): add shiplog swarm landing zone by @EffortlessSteven in #458
- docs(spec): define shiplog swarm cutover contract by @EffortlessSteven in #459
- docs(github): record activity harvest completion audit by @EffortlessSteven in #460
- docs(release): include GitHub harvest in 0.9 posture by @EffortlessSteven in #461
- docs: normalize 0.9 loop lifecycle summaries by @EffortlessSteven in #462
- docs: define source-of-truth stack scaffolding by @EffortlessSteven in #457
- docs(proposal): add GitHub auth provider fallback proposal by @EffortlessSteven in #456
- release: resume v0.9.0 by @EffortlessSteven in #463
Full Changelog: v0.8.0...v0.9.0