Skip to content

Architecture Changelog (last 90 days)

Commits touching docs/arch/, docs/adr/, docs/wiki/, src/arch/, or mkdocs.yml. Grouped by ISO week.

2026-W36

  • 5dd44fe — docs(memory): mark the auto-merge-not-enabled memory wontfix — premise is stale (#12053) (#12065) (2026-09-02)
  • f421f55 — fix(memory): a row citing promoted_in must be promoted (#12069) (#12077) (2026-09-02)
  • 1a0728a — feat(ul): entry-evidence — 4 new entry links across 4 terms (#12060) (2026-09-02)
  • 384f912 — feat: remove the WhatsApp bridge — Slack is the integration we are doing (#12046) (2026-09-02)
  • a7b1ca2 — chore(make): rename 'env' to 'deps-heal'; keep 'env' as deprecated alias (#12041) (#12044) (2026-09-02)
  • ca599be — feat(sre): ship the SRE runbook with the kernel, and an e2e that runs the loop (#12035) (2026-09-02)
  • 9e637a7 — feat(routing): make the dial migration reversible, and prove it (#11991 AC2) (#12031) (2026-09-02)
  • e542c4f — feat(routing): generate the baseline policies a dial implies (#11991 AC1) (#12029) (2026-09-02)
  • 0e3b571 — feat(sre): stand Bugsink up, build the inbound half, and bound the exposure (#12020) (2026-09-01)
  • 2b51f27 — feat(config): a governed repo may not configure a face around the gateway (#11992) (#12019) (2026-09-01)
  • fd0a616 — feat(hooks): a substantial PR merges only on a stated convergence (#11948) (#12017) (2026-09-01)
  • d4bdcf0 — feat(sre): SRE v1 — the exception sensor (ADR-0146) (#12013) (2026-09-01)
  • 1f52f35 — feat(hooks): refuse a Write that would replace tracked source (#11947) (#12016) (2026-09-01)
  • b73c415 — feat(hooks): refuse a generic filename in the shared scratchpad (#11949) (#12015) (2026-09-01)
  • ae0de4d — feat(charter): sign the purpose mandate, and make an unanchored goal reachable (#12007) (2026-09-01)
  • 4cfe238 — fix(unsticker): a lane grant is evidence about the lane, not about the PR (#12003) (2026-09-01)
  • 4c68455 — fix(memory): unpin 20 mirrors from issues that were never theirs (#12002) (2026-09-01)
  • 4f02b32 — feat(workspace): collect worktrees living in a sibling clone (#11996) (2026-09-01)
  • d73e6a1 — feat(charter): CharterLoopWorkerLoop — the runner becomes a real loop (#11971) (2026-09-01)
  • 139b53d — feat(arch): render every standards verdict as a page (#11966) (2026-09-01)
  • b3496b6 — chore(memory-backlog): land the write-back that never left the factory checkout (#11964) (2026-09-01)
  • 3f28fa7 — fix(docs): blocking is not a fifth verdict, in the term file too (#11960) (2026-09-01)
  • b9d24e1 — fix(arch): a Fake's NAME is a hint, not proof it satisfies the Port (#11958) (2026-09-01)
  • ccbc56b — feat(ul): entry-evidence — 27 new entry links across 18 terms (#11954) (2026-09-01)
  • f2b3fa7 — feat(charter): rule what checking Purpose means, then check the half that is (#11945) (2026-09-01)
  • 30c7e79 — feat(charter): schema_version 2 — the loops block and its five guards (#11946) (2026-09-01)
  • fc5c9aa — fix(workspace): prune dead worktree registrations behind WorkspacePort (#11908) (#11917) (2026-09-01)
  • d43c5eb — docs(wiki): five entries from the retro session's expensive mistakes (#11912) (2026-09-01)
  • 714540f — feat(erosion): a suite-time sensor, so slowness gets a roster like god classes (#11922) (2026-08-31)
  • 4da317c — perf: the two tests that could not finish were quadratic, not merely slow (#11919) (2026-08-31)
  • 6f661da — docs(adr): ADR-0145 — charter-declared loops, the contract and five guards (#11916) (2026-08-31)
  • 302e41f — feat(audit): P10.8 — the test pyramid is a gate, judged by the policy engine (#11897) (2026-08-31)
  • 45f7238 — feat(retro): wire the evidence pipeline, retire the prose patterns (ADR-0144) (#11896) (2026-08-31)
  • 36d147c — feat(retro): trace-grounded retrospective engine (unwired) (#11894) (2026-08-31)
  • a0245e6 — fix(traces): record tool errors — tool_errors was empty in every trace ever written (#11887) (2026-08-31)
  • 94815e6 — refactor(wiki-compiler): decompose WikiCompiler into a mixin package (batch 8) (#11883) (2026-08-31)
  • bedb9ec — fix(orphan): an open escape-ledger surfacing is not an interrupted attempt (#11877) (2026-08-31)
  • eb639c6 — docs(adr-0143): reconcile Ruling 4's verdict set with the shipped code (#11873) (2026-08-31)
  • 94291fc — feat(ul): edge-proposer — 1 new edges across 1 terms (#11848) (2026-08-31)

2026-W35

  • 970744e — feat(ul): edge-proposer — 1 new edges across 1 terms (#11794) (2026-08-30)
  • e5cb55c — docs(wiki): mirror three feedback memories into the wiki (#11838) (2026-08-30)
  • 23f019e — chore(arch): regenerate — implement_phase now imports flows.flow_stopped (#11831) (2026-08-30)
  • 45c3acf — refactor(charter,policy): one Charter class, and a guard so a name cannot mean two things (#11783) (2026-08-29)
  • f1381ad — fix(gating): three guards that stopped observing their subjects — anti-skip scan, alias spellings, and NA-as-green (#11777) (2026-08-29)
  • b19d536 — refactor(arch): one import-edge collector and three declarations replace three divergent guards (#11775) (2026-08-29)
  • 0975fba — feat(review): wire the Review canary — an inert dial becomes a fresh brokered reviewer (#11543) (#11772) (2026-08-29)
  • f4cde07 — fix(gc): let the worktree collector see where worktrees are actually created (#11769) (2026-08-29)
  • 89236ce — chore(adr): cite the third nominated check now that #11751 has landed (#11770) (2026-08-29)
  • 1fa145a — feat(standards): bind prose to artifact for the four standards with no drift gate (#11751) (#11758) (2026-08-29)
  • d3013fe — fix(terms,docs): see dotted citations, and finish two sweeps that stopped early (#11767) (2026-08-29)
  • feb5aca — chore(adr): ratify ADR-0143 — Accepted with real enforcement (path 1) (#11766) (2026-08-29)
  • f063c7f — docs(policy,terms): correct the fact-ledger path and the Purpose surface claim (#11765) (2026-08-29)
  • 5f86b9b — spike(policy): OPA pilot #11750 — measured to parity, NOT ADOPTED, verdict recorded (#11764) (2026-08-29)
  • 3e9d897 — fix(terms): retire the last "Council" prose for the ADR review panel (ADR-0053) (#11762) (2026-08-29)
  • 2f0a233 — feat(policy): normalized Fact + typed StandardDecision + DecisionEngine seam (#11749) (#11757) (2026-08-29)
  • 7746cdb — feat(charter): charter.yaml as the repo's governing declaration (#11748) (#11759) (2026-08-29)
  • 71662f4 — refactor(plan): rename the adversarial planning ensemble off "Council" (ADR-0053) (#11760) (2026-08-29)
  • 171af81 — refactor(adr): rename the ADR review ensemble off "Council" to a review panel (#11756) (2026-08-28)
  • 1645c27 — docs(adr): ADR-0143 — PAAA governance model and the declare/decide/act seam (#11747) (#11755) (2026-08-28)
  • 567d767 — fix(ci): make a whole-tree gate's trigger as wide as its subject (#11730) (#11739) (2026-08-25)
  • 313d0a1 — refactor(pr-unsticker,epic): decompose two god classes into mixin packages (batch 7) (#11702) (2026-08-24)
  • 9ca619f — fix(workspace,tests): five vacuous guards from batch 6, and the mechanical check that makes the class loud (#11701) (2026-08-24)
  • 6f1d66b — fix(review): make the P5 review seams actually guard what they claim (#11543) (#11699) (2026-08-24)
  • d1b1419 — refactor(workspace): decompose WorkspaceManager into a mixin package (batch 6) (#11696) (2026-08-24)

2026-W34

  • 1cb58d9 — feat(review): the REVIEW canary dial and its admission rules (#11543) (#11692) (2026-08-23)
  • b9ec3f0 — refactor(reviewer): decompose ReviewRunner into a mixin package (batch 5) (#11685) (2026-08-23)
  • 7cc9829 — chore(arch): untrack the changelog — it is a view of git history (#11676) (2026-08-23)
  • b85f9a2 — fix(arch): stop .meta.json tracking the branch's commit graph (#11674) (2026-08-23)
  • d4f9f6d — feat(director): Fable P4 — fenced implementation and correction workers (#11542) (#11661) (2026-08-23)
  • e865bb4 — fix(director): the Plan canary's worker tree contradicted its own receipts (#11541) (#11662) (2026-08-23)
  • 0dec4e5 — fix(path-membership): make module-path gates follow a module into a package, and close the class (#11669) (#11672) (2026-08-23)
  • b184aea — fix(credit-guard): land the missing #6855 guard, make the credit audit package-aware, and sweep the class (#11670) (2026-08-23)
  • ed1d8f4 — refactor(health-monitor,agent): decompose two god classes into mixin packages (#11665) (2026-08-22)
  • 73b0565 — fix(director): Fable P3 review findings — live arming, seam-reported outcomes, honest lane boundary (#11541) (#11657) (2026-08-22)
  • befb5a6 — refactor(mockworld,arch): close two latent gate holes and finish the cluster pass (#11659) (2026-08-22)
  • 1dfa921 — refactor(implement,mockworld): decompose ImplementPhase and FakeGitHub into mixin packages (#11658) (2026-08-22)
  • 822a2eb — feat(gateway): P4 — multi-account pools and bounded fallback (ADR-0142) (#11656) (2026-08-22)
  • d412796 — feat(director): Fable P3 — brokered Sonnet and Opus Plan canary (#11541) (#11655) (2026-08-22)
  • f714ecf — feat(gateway): P3 — bounded, reversible routing enforcement canary (ADR-0141) (#11653) (2026-08-22)
  • 1363268 — fix(erosion): stop mass.yaml's numbers rotting — targeted --only regen, method-axis growth, and drop the field nobody read (#11652) (2026-08-22)
  • 94b544e — fix(implement): anchor the test-adequacy demand and pin it across retries (#11644) (#11649) (2026-08-22)
  • 8c392d0 — feat(gateway): P2 — revision-safe project policy workspace (ADR-0140) (#11648) (2026-08-22)
  • 8eb762f — fix(instruments): the calibration accept arm scored fresh merges as clean — #11643's last commit never landed (#11647) (2026-08-22)
  • 2f440e8 — refactor(orchestrator,plan-phase): decompose two god classes below the mass threshold (#11645) (2026-08-22)
  • 6523893 — feat(instruments): calibrate the test-adequacy gate — the reject arm is outcome-censored (#11593 seam 2) (#11643) (2026-08-22)
  • dfd0e25 — fix(director): the shadow observer spun the allocator and fsync'd per tick (#11641) (2026-08-22)
  • d227fab — feat(director): Fable P2 — isolated director and broker in shadow mode (#11537) (#11638) (2026-08-22)
  • 36468f8 — feat(gateway): P1 — policy resolver, explanation, and shadow decisions (ADR-0139) (#11639) (2026-08-22)
  • 9b52c13 — fix(secret-scrub): redact gateway virtual keys and control tokens (#11635) (#11637) (2026-08-22)
  • 81e811e — feat(scheduling): Fable P1 — deterministic IssueDriver behind an explicit scheduling_model dial (#11535) (#11634) (2026-08-22)
  • f16dcc5 — feat(gateway): read-only account and active-route visibility (ADR-0138) (#11633) (2026-08-22)
  • 798cdd2 — fix(driver): correct the B1 reconciliation rule and harden the P0 contracts (#11533) (#11632) (2026-08-21)
  • ab3e5d1 — refactor(pr-manager,review-phase): decompose two god classes below the mass threshold (#11628) (2026-08-21)
  • e24b730 — fix(mixins): TYPE_CHECKING-only seam declarations + guard against MRO shadowing (#11631) (2026-08-21)
  • 5128551 — feat(driver): ADR-0137 narrows ADR-0094, fixes driver contracts, proves the runtime boundary (#11533) (#11627) (2026-08-21)
  • 980253f — fix(pools): derive the worker-pool fatal set from one source of truth (#11626) (2026-08-21)
  • 8fcd6a0 — fix(control): Start clears the pipeline-worker disable set on both branches (#11611) (#11623) (2026-08-21)
  • 5c33050 — fix(packaging): resolve repo-root resources through a package-aware helper (#11589) (#11617) (2026-08-21)
  • 72faffb — feat(ci): cache the agent image and add a dispatchable sandbox-scenario run (#11601) (#11621) (2026-08-21)
  • faaaa9e — fix(liveness): event-loop stall — attribute starvation vs block before hard restart (#11604) (#11622) (2026-08-21)
  • ca6f42c — chore(loops): remove the retired activity-based ADR-drift loops (#11600) (#11620) (2026-08-21)
  • 2a2fb8c — feat(triage): honor 'Blocked by: #N' so phase-ordered children flow in order (#11614) (#11616) (2026-08-21)
  • c298996 — fix(sandbox): air-gap the composition-root AutoAgentRunner constructions (#11602) (#11615) (2026-08-21)
  • 41b468b — feat(config): light lane on by default — issues at complexity ≤3 take one spawn to PR (refs #11568) (#11590) (2026-08-21)
  • c104554 — chore(config): remove retired feature flags and their machinery (flag-rot audit) (#11599) (2026-08-21)
  • 7af74dd — feat(implement): test-adequacy gate repairs in-run before rejecting (#11593) (#11603) (2026-08-21)
  • 9cf6452 — feat(factory): auto-rebase own dirty PRs when staging moves (#11595) (#11598) (2026-08-21)
  • 98d9393 — feat(factory): run as a launchd service; liveness kernel honours operator Stop (#11594) (2026-08-21)
  • e3e5665 — fix(packaging): wheel ships the flat src/ modules + assets so the hydraflow console script imports (Fixes #11580) (#11591) (2026-08-21)
  • 35f8b29 — docs(adr): ADR-0011 — release primitive is decoupled from epic close since #2689; document the manual cut (Fixes #11569) (#11583) (2026-08-21)
  • 83b0f29 — fix(implement): take make quality off the host lock on the implement path (#11568 seam 3) (#11592) (2026-08-21)
  • b3ff35a — fix(implement): tier build timeout by complexity, route zero-commit attempts to diagnose (#11568) (#11585) (2026-08-21)
  • e25d020 — fix(workspace-gc): prune tracked entries whose dir is gone; phase-3 branch deletes require the landed proof (Fixes #11570, Fixes #11571) (#11582) (2026-08-21)
  • 1b9e118 — fix(token-drift): load telemetry by window, not by row count (Fixes #11581) (#11586) (2026-08-21)
  • 2e6e13d — chore(release): bump to 1.0.0, CHANGELOG, pinned-install docs (refs #11520) (#11584) (2026-08-21)
  • 28338b9 — feat(erosion): token-drift filing actuator on ErosionMetricsLoop — one issue per source per ISO week (Fixes #11442) (#11578) (2026-08-21)
  • 112ec85 — fix(release): tag the promoted main SHA, never the factory checkout HEAD (Fixes #11517) (#11576) (2026-08-21)
  • 91c83ee — fix(telemetry): one-shot claude spawns report usage — issue_refinement / sampled_audit / sampled_audit_adjudicate (Fixes #11514, Fixes #11515, Fixes #11516) (#11579) (2026-08-21)
  • eac96f2 — Fixes #11480: never re-slice an issue whose fix already landed (#11566) (2026-08-21)
  • e1aa0d8 — test(workspace-gc): real-git pins for the closed-issue landed guard on phases 1-2 and 5 (refs #11503, #11507; fix shipped in #11530) (#11572) (2026-08-21)
  • 0cce8a7 — Fixes #11481: fold sixth site, and widen the class-closure guard to find it (2026-08-21)
  • 53b4905 — fix(workspace-gc): prove exact HEAD landed before cleanup (#11530) (2026-08-21)
  • b91594d — Fix factory task graphs to per-worktree JSONL (#11527) (2026-08-21)
  • 54795e2 — fix: inherit maintenance routing for shared caretakers (#11525) (2026-08-21)
  • 4474b1a — fix: fail closed on wrong-branch worktree reuse (#11523) (2026-08-21)
  • 3c6d708 — fix(pipeline): gate /api/pipeline snapshot on IssueStore's first refresh (#11349) (2026-08-21)
  • 2f73247 — feat(ul): entry-evidence — 1 new entry links across 1 terms (#11545) (2026-08-20)
  • cd84a92 — feat(erosion): mass + suite-hygiene sensors — repeatable god-class breakup and test-suite pruning (#11522) (2026-08-20)
  • 9e85063 — Fixes #11441: token-drift engine + API drift block (read-only salvage) (#11495) (2026-08-20)
  • 1ae1c2e — Fixes #11425: land the true remainder of the fake-fidelity hardening pass (#11488) (2026-08-20)
  • d729b3b — fix(planner): guard epic replans against stale ownership (#11482) (#11484) (2026-08-20)
  • 6013271 — feat: add LLM gateway session tap (#11477) (2026-08-20)
  • daa3c82 — Fixes #11418: promote StaleIssueLoop/ReportIssueLoop/service_registry reach-throughs to PRPort methods (2026-08-18)
  • cfa3338 — Fixes #11420: FakeLLM's nested runner stand-ins have drifted from t... (#11445) (2026-08-17)
  • 7cba8c3 — Fixes #11416: MockWorld repo_wiki loop registration never wires a w... (#11428) (2026-08-17)
  • b0aa945 — feat(quality): host-wide advisory lock so concurrent suites queue, not race (#11219) (#11400) (2026-08-17)

2026-W33

  • 9bbae16 — feat(supervisor): fleet-vitals shadow alarms — bands, mechanical diagnosis, closed-menu proposals (#11391) (#11392) (2026-08-16)
  • 49df312 — feat(light-lane): route simple issues to the single-session auto-agent — one spawn, issue to PR (#11298) (#11389) (2026-08-16)
  • 4610eb2 — fix(diagnostic): opt DiagnosticLoop into the LLM watchdog bound (#11262) (#11369) (2026-08-16)
  • a08bf72 — feat(find-filing): class-key fold layer for pattern-shaped find-issues (#11292) (#11324) (2026-08-16)
  • 9d7bf33 — feat(providers): ZAI_CODING_PLAN_KEY — plan vs API billing lane split (#11267) (2026-08-15)
  • 66b3cff — Fixes #11208: make factory should auto-start the orchestrator (#11257) (2026-08-15)
  • 0434348 — Fixes #11211: Per-project model/harness selection: run claude and g... (#11233) (2026-08-15)
  • 6c8b9ba — feat(ul): edge-proposer — 2 new edges across 2 terms (#11226) (2026-08-15)
  • 8783d2c — Fixes #11176: Escape ledger: regression-pin escape 055267e7b2b7 —... (#11191) (2026-08-14)
  • 55f225f — review: fix ADR-0115 stale flag-default claim + add dual-reason dedup tests (PR #11173) (#11174) (2026-08-14)
  • 344ff01 — Fixes #11161: Escape ledger: bug-issue escape 9196f7403620 — unen... (#11173) (2026-08-14)
  • 9cb0191 — test(harness): exercise script_plan_credit_exhaustion + promote foreground-verification rule (#11158) (2026-08-14)
  • 85c104b — fix(quality): UI vitest lane — conditional fail-loud skip + nvm node discovery (#11155) (2026-08-14)
  • e7c0cbc — feat(audit): P8.7 — code review after every PR (memory-backlog promotion) (#11153) (2026-08-14)
  • d34ceac — feat(ul): term-proposer batch — 1 drafts (#11131) (2026-08-14)
  • c31f2ee — feat(ul): edge-proposer — 39 new edges across 16 terms (#11097) (2026-08-14)
  • a1d1d53 — feat(control): setpoint register + first regulator conversion — GateHealthLoop (#11071) (2026-08-13)
  • f4ab7e7 — fix(audit): host-hermetic prompt renders — call-time cache root + frozen plugin-skill set (#11069) (2026-08-13)
  • 2187acb — feat(process): encode session lessons — supervisor classify rules, self-check, gotchas (#11065) (2026-08-12)
  • a6ecc95 — feat(quality): time-travel guard — detonate fixture time-bombs before real time does (#11054) (2026-08-11)

2026-W32

  • 5e66727 — feat(arch): vitals-methodology surface — wire ADR-0133 live (#10838 follow-up) (#11048) (2026-08-09)
  • 7946975 — feat(vitals): multiplicity/MDE/time-between-events methodology (ADR-0133, #10838) (#11046) (2026-08-09)
  • da25b20 — docs(adr): ADR-0132 cognitive-process constitution — reviewed + refined (#11040) (#11042) (2026-08-07)
  • fb574bb — feat(stillness): quiet-week experiment runner — wire the decay engine live (#10822) (#11034) (2026-08-06)
  • 397a8e8 — feat(arch): ADR falsifiability baseline — wire the spec-intake metric live (#10830/#10821) (#11033) (2026-08-06)
  • 3cac31a — feat(stillness): settling-window sensing — don't read your own actuation (#10825) (#11032) (2026-08-06)
  • d54d190 — feat(stillness): quiet-week decay curve — the acceptance instrument (#10822) (#11031) (2026-08-06)
  • d56e3ba — feat(quality): spec intake gate — falsifiability core + verdict schema (#10830) (#11030) (2026-08-06)
  • 7dd6799 — feat(quality): prompt outcome pairing — make the form rubric ungameable (#10855) (#11026) (2026-08-04)
  • c4cbd45 — feat(arch): checkable-assertion density as an ADR setpoint-erosion series (#10917) (#11025) (2026-08-04)
  • 08b8fad — feat(security): external Claude review Action as an out-of-band assurance anchor (#10986) (#11024) (2026-08-04)
  • b7c5961 — feat(quality): judge calibration — proper-scoring instrument, first slice (#10836) (#11019) (2026-08-04)

2026-W31

  • 912a9a0 — feat(stillness): golden-baseline finder calibration — noise-floor engine, first slice (#10821) (#11009) (2026-08-02)
  • 388e58a — feat(quality): mutation gauntlet — gate-sensitivity instrument, first slice (#10835) (#11007) (2026-08-02)
  • 829f486 — feat(supervisor): Fable goal-supervisor loop — Tier-2 liveness (#10733) (#11000) (2026-08-02)
  • 14a2577 — fix(adr): close two ratchet-integrity gaps — deadline receipts + REAL relatedness (#10861) (#10999) (2026-08-02)
  • 1c0d194 — feat: bidirectional enforcement — Binds: axis + broadened self-mod class (#10849, #10851) (#10997) (2026-08-02)
  • ac8db5e — docs(ul): UL scoping ADR (0122) + 7 assurance term entries (#10834) (#10995) (2026-08-02)
  • 1b76da9 — feat(rails): rails.yaml manifest + drift-caretaker loop (#10936) (#10992) (2026-08-01)
  • 005d775 — feat(timeline): emit PR diff stats in pr_created/merge_update payloads (#10788) (#10993) (2026-08-01)
  • 160bfbd — chore(config): remove dead memory_auto_approve knob (#10789) (#10987) (2026-08-01)
  • 9a0b704 — fix(adr): exclude recorded exemptions from ADR-enforcement debt headline (#10868) (#10989) (2026-08-01)
  • 1be7dbf — refactor: god-file decomposition sweep — pr_manager, review_phase, plan_phase (#10840) (#10982) (2026-08-01)
  • 0f0a672 — refactor: extract WebSocket streaming from dashboard _routes god-file (#10978) (2026-08-01)
  • d90fd04 — Fixes #10843: damper-0a — align slow-signal loop cadence to measurement window (#10969) (2026-08-01)
  • 2ed1bd1 — docs(adr): ADR-0120 stillness control architecture (Proposed) — #10824/#10827/#10825 (#10968) (2026-08-01)
  • 630613c — Fixes #10840 (part): concentration (god-file) sensor — counter-metric to erosion.spread (#10966) (2026-08-01)
  • 7553e49 — Fixes #10820: oscillation fingerprint — read-only flux-carrier diagnostic (#10965) (2026-08-01)
  • 40087d1 — Fixes #10844: credit failover — reroute work to GLM instead of pausing (ADR-0119) (#10964) (2026-08-01)
  • 0de9226 — Remove Sentry from the factory; observability owned by the SRE agent (ADR-0118) (#10954) (2026-08-01)
  • 26cbece — Fixes #10939: backfill Date: frontmatter on the undated Accepted ADRs (#10953) (2026-07-31)
  • 46ad47f — Remove Honeycomb/OTel telemetry from the factory (ADR-0118 supersedes ADR-0055) (#10950) (2026-07-31)
  • 32bedda — Fixes #10859: Prompt baselines are environment-dependent: HydraFlow... (#10938) (2026-07-31)
  • ce75b4f — Fixes #10883: Gate health: Coverage (trailing) suspected CI hang, n... (#10929) (2026-07-31)
  • dba3064 — Fixes #10867: ADR-0027 is the only Accepted ADR classifying MISSING... (#10901) (2026-07-31)
  • b322479 — Observed prompt coverage: measure the denominator at the gate (ADR-0117) (#10927) (2026-07-31)
  • c472943 — feat(ul): term-proposer batch — 1 drafts (#10919) (2026-07-31)
  • f5d6727 — feat(prompts): prompts as a measured contract — registry ratchet + fitness function (ADR-0116) (#10856) (2026-07-30)
  • 819e0a4 — feat(ul): edge-proposer — 12 new edges across 12 terms (#10815) (2026-07-30)
  • 9e01094 — fix(arch): deterministic regen so unchanged architecture produces no diff/PR (#10811) (2026-07-28)
  • 3de3e09 — feat(ul): term-proposer batch — 1 drafts (#10796) (2026-07-28)
  • d496213 — fix(health): opt flake_tracker into tight stall-sweep remediation (#10795) (#10800) (2026-07-28)
  • e97750d — feat(autonomy): auto-diagnose audit + escape surfaces before human (ADR-0115) (#10780) (2026-07-27)
  • 40615e9 — fix(sandbox): renumber s50_disturbance_dampener_idle_poll to s90 (scenario-number collision) (#10774) (2026-07-27)
  • 211694f — feat(orchestration): formal give-up window → auto-decompose on plan-retry exhaustion (#10735) (#10745) (2026-07-27)
  • 37e0845 — feat(ops): honest launchd liveness kernel — boot-SHA/branch guard + orphan reap (#10734) (#10743) (2026-07-27)
  • 308a6df — fix(operator): registry-seeded stable loop-health count, not a window/tick artifact (#10556) (#10739) (2026-07-27)
  • 98c8462 — feat(ul): entry-evidence — 5 new entry links across 5 terms (#10729) (2026-07-27)
  • 30e34cb — feat(events): optional per-type EventBus subscription (ADR-0114, #10660) (#10723) (2026-07-27)
  • b244257 — feat(adr): lineage seed pass + escalate audit to STRUCTURAL + wiki term (#10674) (#10722) (2026-07-27)

2026-W30

  • c32990f — feat(adr): lineage pass — Precedent/Divergence fields + audit CULTURAL check (ADR-0113, #10674) (#10720) (2026-07-26)
  • 880c542 — feat(adr): supersede ADR-0003 (clone-local isolation, ADR-0112) + mark ADR-0091 superseded by ADR-0105; enforcement debt 2→0 (#10623 Task 3) (#10719) (2026-07-26)
  • 7720a90 — feat(adr): resolve remaining debt ADRs via enforcement+exemptions (#10623 Task 3 batch 2) (#10718) (2026-07-26)
  • 0fdaf04 — feat(adr): REAL enforcement for 3 debt ADRs, ratchet 12→9 (#10623 Task 3 batch 1) (#10717) (2026-07-26)
  • 3ca2193 — refactor(flows): retire bespoke per-phase control code + document flow pattern (P4 of #10682) (#10703) (2026-07-26)
  • e1c0336 — refactor(triage): run triage as a flow (DAG) on the primitive (P3c of #10682) (#10702) (2026-07-26)
  • 3f57972 — fix(adr): make ADR-0094/0095 enforcement checks genuinely assert (#10623 Task 2) (#10701) (2026-07-26)
  • 48e918a — refactor(review): run review as a flow (DAG) on the primitive (P3b of #10682) (#10700) (2026-07-26)
  • 5ff5005 — refactor(plan): run plan as a flow (DAG) on the primitive (P3a of #10682) (#10696) (2026-07-26)
  • c5fecf3 — refactor(implement): run implement as a flow (DAG) + no-progress abort (P2 of #10682) (#10694) (2026-07-26)
  • 58476f5 — Fixes #10652: staging_bisect stall remediation no longer lags the sanity alert (#10686) (2026-07-26)
  • 56795f5 — refactor(wiki-compiler): run compile as a flow (DAG) on the P0 primitive (P1 of #10682) (#10687) (2026-07-26)
  • ca6fd9a — feat(arch): integrity gate — fail on degenerate generated artifacts (#10685) (2026-07-26)
  • c74283c — feat(flows): in-framework flow (DAG) primitive + ADR (P0 of #10682) (#10684) (2026-07-26)
  • 108a348 — feat: provider/harness backend split — z.ai as a Claude-harness backend (#10550) (2026-07-26)
  • 81a7a66 — feat(ul): edge-proposer — 42 new edges across 23 terms (#10650) (2026-07-26)
  • 958d9a5 — fix(arch): canonical label transition table + real ADR-0002 drift gate (#10642) (2026-07-26)
  • d3a4ced — fix(escape-ledger): close the HITL issue when an escape is resolved (#10633) (2026-07-26)
  • 7dcc422 — Fixes #10555: opt-in /code-review ultra review-phase option (#10620) (2026-07-26)
  • 1c76ec6 — fix(arch): event-bus extractor recognizes fan-out subscribe(); stop false 'dead' flags (#10629) (2026-07-26)
  • e2625f4 — Fixes #10567: PRPort has no get_pr_labels — PR-level label routing ... (#10584) (2026-07-25)
  • 7d284d6 — Fixes #10565: Sampled re-audit disagreement: PR #10479 (structural)... (#10576) (2026-07-25)
  • 1ac9d57 — docs(arch): align functional_areas.yml loop grouping with the UI (#10554) (2026-07-25)
  • 58b5cdc — Fixes #10540, #10533: violation-based ADR citation conformance gate; retire activity-drift (#10547) (2026-07-25)
  • 306cc57 — Fixes #10515: FakeIssueStore stamps HITL and merged snapshot entrie... (#10528) (2026-07-25)
  • 585f69e — Fixes #10509: Work Stream stage timeline: merged issues show HITL f... (#10529) (2026-07-25)
  • 204d2e1 — feat(ul): term-proposer batch — 1 drafts (#10514) (2026-07-25)
  • b9f7109 — chore: remove dead crate subsystem (#10520) (2026-07-25)
  • d6bad2e — feat(signal-control): pure control-theory substrate (Stage 1) (#10502) (2026-07-24)
  • 055267e — fix(adr): single-colon ADR-0049 citations so drift coverage parses (#10481) (2026-07-24)
  • 6c3cb69 — feat(adr): nudge bare shared-infra citations toward :Symbol granularity (#10479) (2026-07-24)
  • ee56677 — fix(gc): guard active auto-agent worktrees from stale-worktree GC (#10476) (2026-07-24)
  • 7150d37 — Fixes #10457: Fleet-batch ADR-drift triage auto-close (#10474) (2026-07-24)
  • 23a02b7 — feat(ul): term-proposer batch — 2 drafts (#10465) (2026-07-24)
  • 25b0df2 — fix(ul): drop over-broad prose aliases from CreditExhaustedError term (#10466) (2026-07-24)
  • c0821c9 — Fixes #10403: Erosion: symbol append scattered across 4 modules (#10446) (2026-07-24)
  • af958b0 — feat(ul): term-proposer batch — 3 drafts (#10439) (2026-07-24)
  • 2d39c89 — Fixes #10400: ADR-0012 bare-cites src/epic.py — same drift false-po... (#10430) (2026-07-24)
  • 9c01d59 — Fixes #10402: Erosion: symbol _GIT_TIMEOUT_S scattered across 3 m... (#10422) (2026-07-24)
  • f66b0a0 — feat(adr): surface unenforced-decision debt + flag weak enforcements (#10421) (2026-07-24)
  • b482e52 — fix(labels): strip stage labels on close + OPEN-filter dispatch + drift-watcher check (#10394) (#10417) (2026-07-24)
  • 5ee1477 — feat(ul): entry-evidence — 13 new entry links across 11 terms (#10412) (2026-07-23)
  • 856435d — feat(ul): entry-evidence — 6 new entry links across 6 terms (#10407) (2026-07-23)
  • dce4307 — feat(ul): entry-evidence — 4 new entry links across 4 terms (#10389) (2026-07-23)
  • 33e7f43 — feat(instruments): second-order vitals — detect green-while-dying (#10373) (#10379) (2026-07-23)
  • 679fb22 — feat(instruments): sampled adversarial re-audit — silent-escape estimator (#10370) (#10378) (2026-07-23)
  • 95d9c04 — feat(instruments): intervention tally — attention-side telemetry (#10369) (#10377) (2026-07-23)
  • 3428cd6 — feat(evidence): judge-independence budget + fail-visible dispatch (#10371) (#10376) (2026-07-23)
  • f166e7f — feat(instruments): escape ledger + erosion trend surfaces (#10367) (#10375) (2026-07-23)
  • db16faf — feat(hygiene): close-verification controller — reopen+retriage false auto-close, default-off (#10358) (#10364) (2026-07-23)
  • e612920 — docs(adr): evaluate deterministic-simulation fault injection on sandbox compose (#10361) (#10362) (2026-07-23)
  • 0b341ec — feat(audit): close-verification — flag issues closed without a fix delta (#10354) (#10356) (2026-07-23)
  • df6f0a6 — docs(adr): reconcile 5 ADR citations drifted by #10238 (#10247) (#10347) (2026-07-23)
  • 8e68c92 — test(arch): grandfather ratchet for new-loop-vs-workstream + correct #10027 doc (#10318) (#10346) (2026-07-23)
  • d775531 — docs(memory-feedback): promote 4 documented-convention entries (#10328) (2026-07-22)
  • 111e858 — docs(memory-feedback): promote feedback_make_audit_separate_from_quality (#10173) (#10324) (2026-07-22)
  • 379b576 — feat(sandbox): post-merge full-machine smoke — s82 exercises both merge lanes (#10309) (#10321) (2026-07-22)
  • b28837f — feat(ul): entry-evidence — 2 new entry links across 2 terms (#10305) (2026-07-22)
  • bb77fb1 — fix(triage): parse code-quoting verdicts + raise turn budget (#10291); infra-park != clarification-park (#10290) (#10300) (2026-07-22)
  • b1cde30 — feat(ul): entry-evidence — 5 new entry links across 5 terms (#10295) (2026-07-22)
  • bfc5d9d — docs(memory-feedback): mirror 3 pending feedback entries + refresh coverage_matrix (#10288) (2026-07-22)
  • 1cc250d — feat(ul): entry-evidence — 4 new entry links across 3 terms (#10284) (2026-07-22)
  • 48aa743 — feat(ul): edge-proposer — 49 new edges across 24 terms (#10283) (2026-07-22)
  • f66ad04 — fix(adr-conformance): pre-flight skip when pytest runner env is broken (#10243) (#10277) (2026-07-22)
  • fec83cb — Fixes #10260: Fix label/dispatch reconciliation so resolved issues ... (#10268) (2026-07-22)
  • 1bd34db — feat(ul): term-proposer batch — 4 drafts (#10266) (2026-07-22)
  • e11c542 — feat(ul): entry-evidence — 1 new entry links across 1 terms (#10248) (2026-07-22)
  • fc4e755 — feat(ul): entry-evidence — 1 new entry links across 1 terms (#10235) (2026-07-22)
  • 9516955 — feat(pipeline): hydraflow-in-progress claim label — ready→in-progress→review, durable cross-actor build claim (#10168) (#10172) (2026-07-22)
  • 21f2343 — docs(build): add pre-push self-check checklist for six recurring CI-red patterns (#10169) (#10171) (2026-07-22)
  • 6b45686 — feat(merge-heal): pin docs/arch/.meta.json to base in arch-stale heal to stop re-DIRTY churn (#10167) (#10170) (2026-07-22)
  • c9b9ab6 — feat(ul): edge-proposer — 1 new edges across 1 terms (#10222) (2026-07-21)
  • 36ac0f4 — feat(ul): edge-proposer — 1 new edges across 1 terms (#10218) (2026-07-21)
  • 637fbbb — feat(ul): entry-evidence — 2 new entry links across 2 terms (#10210) (2026-07-21)
  • d071fbd — refactor(pipeline): collapse Discover+Shape into Plan — full removal (#9773) (#10166) (2026-07-21)
  • 3f833ff — fix(codeql): model scrub_secrets() as py/clear-text-storage sanitizer (#9143) (#10164) (2026-07-21)
  • dc6060b — test(fake-coverage): cover final FakeGitHub adapter-surface slice — gap→0 (#9768) (#10165) (2026-07-21)
  • 37dcabe — feat(health): loop self-repair actuator — persistent error-heartbeat → auto-repair or file (#10140) (#10155) (2026-07-21)
  • 94be7b3 — fix(fake-fidelity): FakeGitHub PR-title format matches real PRManager (#10153) (#10160) (2026-07-21)
  • 31e4cbd — test(fake-coverage): cover next FakeGitHub adapter-surface slice (#9768) (#10161) (2026-07-21)
  • e9115b0 — feat(pr-red): Phase 2 — dispatch auto-agent to fix real (non-infra) settled CI reds on their branch (#10027) (#10157) (2026-07-21)
  • 90d56c9 — test(trust): cassette FakeGitHub PR-review/label cluster — 11 methods (#9768 slice 3) (#10152) (2026-07-21)
  • f76c267 — feat(adr): AdrDriftResolverLoop — triage-before-escalate so drift rollups self-resolve (#9976) (#10146) (2026-07-21)
  • 0d66c52 — feat(pipeline): ADR-0107 + flag-gated Triage→Plan routing — keystone for collapsing Discover/Shape (#9773) (#10145) (2026-07-21)
  • d4d4ecc — fix(factory): perf/ auto-merge + worktree arch-meta merge driver (#10143) (2026-07-21)
  • e556096 — feat(erosion): ErosionMetricsLoop v1 — Pattern-B caretaker files change-spread/concept-scatter drift to triage (#10107) (#10138) (2026-07-21)
  • 769843e — feat(sandbox): seed repo-wiki broken-cite fixture + wiki_rot_detector active-trigger scenario (#10133) (#10137) (2026-07-21)
  • 2c34150 — feat(erosion): v1 concept-scatter sensor — newly-added symbol across K>=3 modules (#10106) (#10136) (2026-07-21)
  • 76bc56b — feat(sandbox): seed worker-status event-history + trust_fleet_sanity active-trigger scenario (#10133) (#10135) (2026-07-21)
  • 9af3aa2 — feat(sandbox): per-issue updated_at seed field + stale_issue_gc fresh-skip active-trigger scenario (#9544) (#10132) (2026-07-21)
  • 281548c — feat(sandbox): seed BGWorkerManager registered_workers set + dead-man-switch stall-escalation e2e scenario (#10086) (#10131) (2026-07-21)
  • 896486d — feat(sandbox): seed materializer for EpicState + health trend/heartbeat history; s71/s72 active-trigger scenarios (#9643) (#10084) (2026-07-21)
  • 0c629f3 — feat(erosion): pure change-spread sensor — modules-crossed + files-touched per change, baselined (#10105) (#10116) (2026-07-21)
  • 97d7436 — feat(pr-red): Phase 1 infra-flake retrier caretaker loop — settled-red detect + bounded rerun (#10027) (#10124) (2026-07-21)
  • 95a6402 — feat(retrospective): re-arm HITL stale-insight window only on human close via is_bot_close (#8996) (#10110) (2026-07-21)
  • 6f0e235 — fix(state-gc): sweep route_back_counts + review-orphan counters on issue close; structural issue-keyed-field guard (#10083) (#10114) (2026-07-21)
  • 77a163a — test(trust): cassette the staging/RC promotion cluster — 13 FakeGitHub methods (#9768 slice 1) (#10092) (2026-07-21)
  • 0668416 — feat(config): heavy make-invoking loop subprocess timeouts become operator knobs (#9555) (#10091) (2026-07-21)
  • 33ff371 — feat(preflight): widen AutoAgentPreflightLoop intake to attempt-cap/quality-gate HITL issues (#9721) (#10080) (2026-07-21)
  • 2ff96bb — fix(adr-drift): batch cross-cutting fleet-PR drift into one rollup (#9662) (#10093) (2026-07-21)
  • 52b6752 — fix(subprocess): cooperative kill-switch in the shared helper — migrate staging_bisect._run_git (#9577) (#10077) (2026-07-21)
  • b0c7d5e — test(guard): spawn-side reap guard — raw-spawn containment + reap-pairing ratchets (#9623) (#10088) (2026-07-21)
  • ddfdb66 — build(arch): auto-resolve docs/arch/.meta.json + changelog.md merge conflicts (#10099) (2026-07-20)
  • 9f99bcf — fix(escalation): TTL re-drive so stale auto-agent escalations self-heal (#9719) (#10079) (2026-07-20)
  • 982cec5 — fix(workspace,state): automate HITL reset runbook residuals — main-repo core.worktree heal + attempt-counter close-to-clear (#9723) (#10082) (2026-07-20)
  • ee15f26 — feat(test-adequacy): independent second-opinion verifier gated on explicit OK (#9546) (#10076) (2026-07-20)
  • fa5e02e — feat(gh-load): cached CI-run + issue-list reads and first-tick stagger — cut direct-gh load (#9814) (#10075) (2026-07-20)
  • aee928c — feat(sandbox): active-trigger scenarios for six governance loops (s65-s70) (#9543) (#10074) (2026-07-20)
  • 64fc05d — feat(watchdog): thread-level event-loop freeze detector (#9552) (#10070) (2026-07-20)
  • 14f4a2e — fix(refinement): v1 follow-ups — not-planned closes, priority budget, fail-closed fake, inefficiency re-file (#10025) (#10066) (2026-07-20)
  • 1306712 — fix(fitness): cadence-derived min_samples — scorecards can finally score (#9841) (#10056) (2026-07-20)
  • 8509ee0 — feat(orchestration): v2 IssueDriver runtime phase spec + accept ADR-0099 (#10038) (#10055) (2026-07-20)
  • d94945e — fix(ul): one file per term — delete stale forks, hard-fail uniqueness lint, store-level dedupe (#9938) (#10051) (2026-07-20)
  • f4c0d38 — fix(stale-issue): branch-GC reconciler + unpushed-work boot check (#10011) (#10052) (2026-07-20)
  • 9d6184d — feat(liveness): external factory watchdog + boot-time down-detection (#10044) (2026-07-20)
  • 9fa2966 — fix(health-monitor): stale-code dead-man-switch — host in HealthMonitorLoop (#9596) (#10035) (2026-07-20)
  • 6206f38 — fix(stale-issue): detect regression-test rot — false-close + orphaned-RED (#9597) (#10039) (2026-07-20)
  • 45ef36f — fix(wiki): worktree-isolate runtime wiki writes — boot store read-only + queue-routed ingest (#9836) (#10033) (2026-07-20)
  • 67cc3ce — fix(file-util): bounded file_lock with FIFO gate + FileLockTimeout (#9661) (#10032) (2026-07-20)
  • ccebee6 — feat(refinement): IssueRefinementLoop — tiered backlog dedup, priority scoring, operator digest (#9957) (#10024) (2026-07-20)

2026-W29

  • 33f8b6f — feat(refine): prompt self-refinement — honeypot-gated auto-merge prompt-fix PRs + telemetry consumption (#9724) (#10006) (2026-07-19)
  • f7c15a9 — fix(audit): split P10.3 enforcement from measurement — per-PR gate + telemetry scan (#9902) (#10008) (2026-07-19)
  • 79d683c — feat(gate-health): GateHealthLoop — CI reds as distributions, not events (#9974) (#10003) (2026-07-19)
  • 5bb06db — docs(dark-factory): the new-loop checklist is seven checkpoints, not five (#10004) (2026-07-19)
  • 6312563 — fix(gc): bound events.jsonl growth + prune stranded per-issue state (#9905) (#9999) (2026-07-19)
  • 3cb90cf — fix(workspace-gc): route open-issue GitHub reads through PRPort (#9575) (#9988) (2026-07-19)
  • c63f057 — fix(ul): slugify context-map Mermaid node ids (stable + unique) (#9980) (2026-07-19)
  • d58fd13 — docs(adr): sync README status cells to ADR files + add consistency guard (#9456) (#9967) (2026-07-18)
  • 8cda10a — fix(adr): repoint rotted src citations + add citation-existence ratchet (#9963) (2026-07-18)
  • 25ba8da — fix(adr-xref): merge cited modules per ADR number + warn on duplicates (#9505, #9465) (#9960) (2026-07-18)
  • 90be6dc — docs(adr): resolve 5 ADR-drift rollups (#9950 #9779 #9781 #9775 #9418) (#9953) (2026-07-18)
  • 0c27386 — fix(ul): single-flight guard — at most one open UL-graph bot PR across the family (#9893, #9890) (#9939) (2026-07-18)
  • 4d20d74 — feat(ul): entry-evidence — 3 new entry links across 3 terms (#9926) (2026-07-18)
  • cb09ea0 — feat(ul): edge-proposer — 3 new edges across 3 terms (#9912) (2026-07-18)
  • 15bbcac — feat(ul): edge-proposer — 81 new edges across 40 terms (#9896) (2026-07-18)
  • 90114b5 — feat(ul): entry-evidence — 21 new entry links across 14 terms (#9897) (2026-07-18)
  • f07fa2f — feat(ul): entry-evidence — 20 new entry links across 14 terms (#9886) (2026-07-18)
  • c540840 — feat(ul): term-proposer batch — 1 drafts (#9864) (2026-07-18)
  • c91e35f — feat(ul): entry-evidence — 15 new entry links across 12 terms (#9880) (2026-07-18)
  • 5ed366d — feat(ul): entry-evidence — 13 new entry links across 10 terms (#9868) (2026-07-18)
  • dfa0ca8 — feat(ul): entry-evidence — 13 new entry links across 10 terms (#9790) (2026-07-18)
  • 120e2eb — feat: epic-to-epic lineage — nested decompose-to-converge (depth 2) (#9757) (#9761) (2026-07-17)
  • d721487 — feat: decompose-to-converge P1 — narrow HITL to genuine dead-ends (ADR-0105) (#9756) (2026-07-15)

2026-W28

  • 79acd3a — feat(llm): make the term-proposer / entry-evidence drafters dial-able (#9752) (2026-07-11)
  • c34e61a — feat(triage): prompt-injection honeypot — validate the request before handling (#9747) (2026-07-11)
  • be0b5d5 — feat(prompt-gate): lightweight-seam label enforcement + traceability marker verification (convergence findings 5,9,10) (#9745) (2026-07-09)
  • 753658f — feat(staging-promotion): close promotion-evidence gaps from convergence review (#9743) (2026-07-09)
  • b732f28 — feat(evidence-pack): per-RC release evidence-pack compiler — the binder (CH-4, #9732) (#9742) (2026-07-09)
  • a16597c — feat(merge-policy): policy-as-code merge gates from the factory-autonomy table (CH-3, #9731) (#9741) (2026-07-09)
  • f009569 — feat(prompt-gate): LLM data-governance gates at every spawn seam (CH-6, #9734) (#9739) (2026-07-09)
  • 1d2d8db — feat(manifest): per-PR reproducibility manifest + AI system inventory (CH-7, #9735) (#9738) (2026-07-09)
  • 9f62794 — feat(traceability): requirement-ID threading + traceability matrix ratchet (CH-5, #9733) (#9737) (2026-07-09)
  • cee31ec — feat(approval-records): named-human approval evidence + role separation on the CH-1 chain (CH-2, #9730) (#9740) (2026-07-08)
  • 9c63956 — feat(audit-chain): tamper-evident audit streams — hash-chained JSONL + retention (CH-1) (#9736) (2026-07-08)
  • 2009f17 — feat(loops): DetectorCalibrationLoop — the factory watches its own sensors (Fix F) (#9728) (2026-07-08)
  • 0fd20bf — feat(scaffold): bring scaffold_loop up to the current ratchets (13 wiring sites) (#9726) (2026-07-08)
  • b269794 — feat(cost): soft-throttle band before the hard-cap kill (Fix I) (#9725) (2026-07-08)
  • 4768add — feat(auto-tighten): auto-tightening ratchet loop (coverage floor, ADR-0104) (#9713) (2026-07-07)

2026-W27

  • a963f8f — feat(steering): enable human-steering by default (#9710 enable-readiness, all 6 phases + allowlist) (#9711) (2026-07-05)
  • 83cf489 — feat(steering): continuous human-on-the-loop steering channel (ADR-0103, control surface #4) (#9709) (2026-07-04)
  • ef22341 — Convergence hardening: real lap signatures, ledger lifecycle, caretaker guards (#9693) (#9706) (2026-07-04)
  • ed627b8 — docs(adr): backfill Enforcement for all 59 grandfathered ADRs (drain grandfather set to ∅) (#9696) (2026-07-02)
  • a482385 — docs(adr): correct ADR-0102 Rule 3 (gate fails OPEN on advisor degradation by design) (#9695) (2026-07-02)
  • f170b89 — fix(adr-0101): drop line-number citation to satisfy P1.16 (#9692) (2026-07-02)
  • aae9526 — feat(disturbance): Phase B — burn-down loop (ADR-0095) (#9686) (2026-07-02)
  • 8f35ebb — Convergence gate GA: remove convergence_gate_enabled (gate is the sole review path) (#9688) (2026-07-01)
  • 8358094 — feat(disturbance): Phase A — feedforward disturbance dampener (gate + 2 detectors) (#9682) (2026-07-01)
  • 54a0365 — docs(adr): ADR-0094 — orchestration as a control system + control-role vocabulary (#9679) (2026-07-01)
  • 9914531 — ADR conformance as a measured contract (ADR-0098) (#9684) (2026-07-01)
  • 7eb71e4 — Two-level convergence Phase 2d: oscillation caretaker loop (#9683) (2026-07-01)
  • 7503e7e — Two-level convergence Phase 2c: migrate attempt counters into the ledger (#9681) (2026-07-01)
  • 62cd012 — Two-level convergence Phase 2b: boundary verdict recording (Triage/Shape/Plan) (#9677) (2026-06-30)
  • e396bad — Merge origin/staging into Phase1+2a; resolve ADR-0093 collision (convergence ADRs -> 0094/0095), union config + README (2026-06-30)
  • 1877391 — feat: loop-fitness scorecard (read-only measurement substrate) (#9672) (2026-06-30)
  • a642ac1 — docs(adr-0094): soften escalate-parity wording (reject adds oscillation cause) (2026-06-30)
  • 5a5a105 — docs(adr): ADR-0094 approve-path gating + live convergence (Phase 2a) (2026-06-30)
  • 4c9e6dc — docs(adr): ADR-0093 two-level convergence (Gate + ConvergenceLedger) (2026-06-30)

2026-W26

  • 5e72016 — Fixes #9080: Provision isolated GitHub contracts sandbox (sandbox session + teardown) (#9512) (2026-06-22)
  • 0117ea0 — feat(test-adequacy): add deterministic coverage-delta cross-check (#9567) (#9646) (2026-06-22)
  • 8e3a40d — feat(ul): term-proposer batch — 1 drafts (#9655) (2026-06-22)
  • efdb1cb — feat(ul): term-proposer batch — 1 drafts (#9654) (2026-06-22)
  • 6f1dc99 — feat(ul): entry-evidence — 3 new entry links across 1 terms (#9653) (2026-06-22)
  • e4d1ef8 — feat(ul): entry-evidence — 27 new entry links across 12 terms (#9638) (2026-06-22)
  • 1b9ef5b — feat(ul): edge-proposer — 5 new edges across 5 terms (#9637) (2026-06-22)
  • e81d29d — feat(ul): entry-evidence — 10 new entry links across 5 terms (#9620) (2026-06-22)

2026-W25

  • ef30b34 — feat(ul): edge-proposer — 5 new edges across 5 terms (#9619) (2026-06-21)
  • 2865085 — feat(ul): term-proposer batch — 1 drafts (#9612) (2026-06-21)
  • 376ea77 — feat(ul): entry-evidence — 3 new entry links across 2 terms (#9611) (2026-06-21)
  • dada382 — feat(ul): entry-evidence — 14 new entry links across 5 terms (#9573) (2026-06-21)
  • 4dc2b15 — feat(ul): entry-evidence — 3 new entry links across 3 terms (#9571) (2026-06-21)
  • 74c6d83 — feat(ul): entry-evidence — 3 new entry links across 3 terms (#9560) (2026-06-21)
  • 79f2109 — feat(ul): entry-evidence — 20 new entry links across 11 terms (#9549) (2026-06-21)
  • 27a4fe5 — feat(ul): entry-evidence — 3 new entry links across 3 terms (#9534) (2026-06-21)
  • 9f3ae72 — feat(ul): entry-evidence — 7 new entry links across 4 terms (#9533) (2026-06-21)
  • 5f5fb99 — feat(ul): entry-evidence — 5 new entry links across 4 terms (#9495) (2026-06-21)
  • bfc5425 — feat(ul): entry-evidence — 21 new entry links across 11 terms (#9610) (2026-06-21)
  • 1e288b0 — feat(ul): entry-evidence — 8 new entry links across 5 terms (#9492) (2026-06-21)
  • 5e24e54 — Accept ADR-0027: duplicate class merge artifact pattern (#9493) (2026-06-21)
  • d1d7e11 — Fixes #9507: ADR-0007/0013/0019 carry the same dashboard drift FP +... (#9518) (2026-06-20)
  • 69fea6a — feat(factory): generate-in-worktree foundation + DiagramLoop migration (#9539 pt1) (#9614) (2026-06-19)
  • e920762 — feat(loops): per-loop work-cycle watchdog (closes #9556) (#9594) (2026-06-19)
  • 1d8a175 — fix: close regression-test backlog from the 2026-06-13 session (10 issues) (#9592) (2026-06-19)
  • 9ce3101 — Fixes #9442: wiki_rot_detector _gh_closed_escalations bypasses PRPo... (#9509) (2026-06-15)

2026-W24

  • e79114c — chore(wiki): untrack RepoWikiLoop runtime caches to stop perpetual tree-dirt (#9537) (2026-06-14)
  • 5a715ac — fix(adr-drift): stop recurring false-positive ADR-drift HITL escalations (#9530) (2026-06-13)
  • 4e65ff6 — Fixes #9499: PricingRefreshLoop bare-tier alias may lag the newest ... (#9517) (2026-06-13)
  • f0974e5 — fix(wiki): resolve committed conflict markers in 11 term files (#9482) (#9484) (2026-06-12)
  • 79662e5 — fix(observability): suppress Sentry noise — bugs-only filter + test init guard (#9481) (2026-06-12)
  • cadb008 — Fixes #9354: Shadow-drift: exclude non-deterministic corpus samples... (#9445) (2026-06-12)
  • e654a48 — feat(dependabot-merge): auto-heal bot PRs stuck on stale arch artifacts (#9475) (2026-06-12)
  • 8572c35 — fix(pr-unsticker): rebase PRs that went DIRTY after escalation (live merge state) (#9476) (2026-06-12)
  • 124b2e8 — feat(ul): entry-evidence — 20 new entry links across 11 terms (#9423) (2026-06-12)
  • 076ee8f — feat(ul): edge-proposer — 107 new edges across 30 terms (#9422) (2026-06-12)
  • a293ffc — feat(ul): term-proposer batch — 1 drafts (#9424) (2026-06-12)
  • e201308 — feat(ul): entry-evidence — 2 new entry links across 2 terms (#9428) (2026-06-12)
  • d296730 — feat(ul): edge-proposer — 3 new edges across 2 terms (#9427) (2026-06-12)
  • 39b48b2 — feat(ul): entry-evidence — 3 new entry links across 3 terms (#9425) (2026-06-12)
  • 9ed1b39 — feat(auto-agent): rescue stuck pipeline PRs — diagnose-route + credit-transient (ADR-0084) (#9473) (2026-06-12)
  • 44d1957 — Fixes #8693: "Recorder-side gh issue close support for cassette r... (#9446) (2026-06-12)
  • 1a7071a — fix(trust): min-sample guard + repaired semantics + trust-loop scoping for repair_ratio (#9458) (#9470) (2026-06-12)
  • db883f4 — fix(review-insights): word-boundary category match + matched verification window (#9426, #9444) (#9469) (2026-06-12)
  • 030bd7a — fix(adr): right-size bare citations for 5 stuck-HITL drift ADRs (#9417/#9419/#9420/#9421/#9447) (#9472) (2026-06-12)
  • aaa7a02 — fix(adr): resolve 6 duplicate ADR-number collisions (#9406) — unblocks the drift auditor (#9471) (2026-06-12)
  • 2d8bd40 — feat(auto-agent): converge via retry instead of one-shot needs_human (ADR-0084 PR-2) (#9467) (2026-06-12)
  • 725f5a8 — fix(pipeline): break the human-required escalation cycle (ADR-0084 PR-1) (#9439) (2026-06-12)
  • 5ae5f3b — Fixes #9100: entry_evidence_loop swallows CreditExhaustedError and ... (#9451) (2026-06-12)
  • d0f190f — docs(adr): ADR-0084 — Auto-Agent as a universal root-cause HITL gate (Proposed) (#9435) (2026-06-12)
  • 0c3c314 — fix(retrospective): route stale review-insights to the factory, not HITL (#9227) (#9431) (2026-06-11)
  • 3f90a67 — fix(adr-drift): symbol-qualify owned citations + pr_manager shared-infra (#9405) (2026-06-11)
  • bc00ebe — fix(mockworld): re-export FakeRouteBackCounter so its marker is actually verified (#8809) (#9408) (2026-06-11)
  • 9685284 — docs(wiki): correct EpicMonitorLoop entry — it writes, not read-only (#8764) (#9407) (2026-06-11)
  • dc7e09b — fix(trust): right-size FakeCoverageAuditorLoop to cassette-capable adapters (#9403) (2026-06-11)
  • d0ad6db — fix(dashboard): aggregate /api/timeline under all, repo-tag each item (#9402) (2026-06-11)*
  • 0f9b7fa — fix(dashboard): aggregate /api/metrics/github under all; tag single-repo workers with canonical slug (#9399) (2026-06-10)
  • 58bf543 — fix(dashboard): route intent + request-changes to the selected/row repo; clear repo-scoped state on switch (#9398) (2026-06-10)
  • a0d630c — test(dashboard): MockWorld scenarios for Phase 2/3 aggregate endpoints (#9392) (2026-06-09)
  • 56bb8a8 — test(dashboard): multi-repo aggregation e2e + MockWorld scenarios (Phase 4-c) (#9391) (2026-06-09)
  • bc3049c — feat(dashboard): repo-qualify live worker/PR cards for repo=all (Phase 4-b2) (#9390) (2026-06-09)
  • 2f1c343 — feat(dashboard): merged WebSocket + /api/events backfill for repo=all (Phase 4-a) (#9387) (2026-06-09)
  • b05bc76 — fix(dashboard): scope bare /api/sessions + pipeline-active to default repo (Phase 6) (#9386) (2026-06-09)
  • 9a46933 — feat(atlas): ArticlesView + wiki entries scope by operated repo (Phase 5c-2) (#9385) (2026-06-09)
  • 6aeec86 — feat(atlas): thread operated repo into the graph cluster + namespaced node ids (Phase 5c-1) (#9383) (2026-06-09)
  • e6e3269 — fix(loops): auto-close SecurityPatch issues when the alert resolves (#9359) (#9382) (2026-06-09)
  • 99f1f27 — feat(wiki): /api/wiki/ maintenance surface scopes by repo (Phase 5b) (#9379) (2026-06-09)*
  • af05e0c — feat(atlas): /api/atlas/ endpoints scope by repo (Phase 5a) (#9377) (2026-06-08)*
  • 1f68711 — feat(system): aggregate-mode worker affordances + force-clear-credit button (Phase 3b-fe polish) (#9374) (2026-06-08)
  • 91b6227 — feat(diagnostics): auto-agent stats scope by repo (Phase 3c-4) (#9371) (2026-06-08)
  • 0be9dbc — feat(diagnostics): factory-health summary aggregates across repos (Phase 3c-3) (#9369) (2026-06-08)
  • 98b2773 — feat(loops): RollupIssueManager + migrate StagingPromotionLoop to auto-close (#9359) (#9368) (2026-06-08)
  • ec58ffb — feat(diagnostics): Factory Cost rollup endpoints aggregate across repos (Phase 3c-2) (#9367) (2026-06-08)
  • b5c9aa6 — feat(diagnostics): factory-metrics endpoints aggregate across repos (Phase 3c-1) (#9366) (2026-06-08)
  • b207b54 — feat(system): target the selected repo for bg-worker controls (Phase 3b-fe) (#9363) (2026-06-08)
  • 5d58cdb — feat(system): aggregate control status/workers + fan-out credit + config guards (Phase 3b backend) (#9360) (2026-06-08)
  • d8df0e1 — feat(hitl): aggregate HITL across repos + row-scoped mutations (Phase 3a) (#9358) (2026-06-08)
  • 4069df7 — feat(persistence): repo-scope per-repo operational stores under shared data_root (ADR-0021 D2) (#9355) (2026-06-08)

2026-W23

  • 4187035 — fix(ul): route bot/caretaker PRs to config.base_branch(), not hardcoded main (#9346) (2026-06-05)
  • 15589dc — fix(beads): create the bead task graph in the implement worktree (fix claim/close) (#9345) (2026-06-05)
  • f624cbd — fix(beads): per-worktree embedded store + JSONL export (drop shared --server) (#9337) (2026-06-05)
  • 9b97208 — fix(merge): auto-merge Auto-Agent PRs (agent/auto-agent-N) to end the contract-fix runaway (#9332) (2026-06-05)
  • ec00913 — fix(contracts): stop gh_shape_validator false-positives on projection-only pr/issue calls (closes #9314) (#9316) (2026-06-05)