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 escape055267e7b2b7—... (#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 escape9196f7403620— 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: symbolappendscattered 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_Sscattered 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-sidegh issue closesupport 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)