跳到正文

已发布内容

一本记录变更的账。

平台每一次已发布的版本,最新的在前。

全程可审计原生的 GitHub 工作流你已有的检查依然说了算每个任务的成本都看得见

已发布内容

v4.174.2

v4.174.2

v4.174.2

Bug Fixes

  • the merge question can be answered (#4390)
  • a dead Devin citation, and two quota cells that ignore a free allowance (#4410)
  • the frozen model is compared by identity, through one named table (#4412)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.174.1

v4.174.1

v4.174.1

Bug Fixes

  • qualify five competitor claims stated as universals, and date the notes to a month (#4408)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.174.0

v4.174.0

v4.174.0

Features

  • the run card shows the size class and the harness pairing (#4387)
  • a plan records who started it, and the list can filter on it (#4349)
  • register zh, and gate every locale instead of a hardcoded pair (#4407)

Bug Fixes

  • an arm records the set of models it was served, and one that varied is refused (#4373)
  • /proof says what the public record says, and every refusal it can see has a sentence (#4377)
  • a setup pass parks the box's own dirt at task start, and a tree refusal retries (#4379)
  • the transcript is a field, not a promise keyed on a record existing (#4380)
  • the verdict panel reads the arm, not the pair (#4383)
  • the served model carries its denominator (#4385)
  • a BYOK key comes back by itself, or says why, and a blind review stops blaming the wrong thing (#4388)
  • a locale that quotes CNY renders CNY, and the page says what it bills (#4350)
  • one punctuation convention in zh.json, and a guard that keeps it (#4402)

Docs

  • name both platform credentials, not just the OpenRouter key (#4351)
  • the verifier tier is default-on since #4262, with its measured cost (#4363)
  • enumerate every refusal the contract makes, and stop claiming enforcement for two fields that have none (#4371)

Tests

  • hoist corpus-guard scans out of the timed test bodies (#4359)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.173.0

v4.173.0

v4.173.0

Features

  • backfill the test-merge probes #3702 stored as merge commits (#4338)

Bug Fixes

  • the reconcile cron stops probing revoked keys against the provider (#4352)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.172.2

v4.172.2

v4.172.2

Bug Fixes

  • bin/check wins over DZ_TEAM_VERIFY_COMMAND (#4348)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.172.1

v4.172.1

v4.172.1

Bug Fixes

  • write the lifecycle email.sent audit durably, anchored on the account (#4317)

Docs

  • claude-code page — all four handoff.mode values, and convention support (#4326)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.172.0

v4.172.0

v4.172.0

Features

  • abort a CI dispatch whose job is re-placed mid-run (#4315)

Bug Fixes

  • a withheld auto_merge ask finally renders the informational template (#4325)
  • retarget four onboarding file:line citations after the routes -> deps move (#4311)
  • deferTriageJob rethrows DelayedError even when moveToDelayed faults (#4343)
  • the session cap honours purchased seats, with the tier number as its floor (#4345)

Docs

  • seats_checkout_configured mirrors BOTH 503 exits — say so at the wire field (#4323)

Other

  • survey-pump: key sweep by UTC date so daily cron re-fires (#4093) (#4337)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.171.6

v4.171.6

v4.171.6

Bug Fixes

  • repair 114 unparseable hold_reason rows and constrain the column to its vocabulary (#4281)
  • the dz-env-vars ref guard tracks /* */ block comments across lines (#4324)
  • a capacity-capped agent.run job waits for a slot instead of being dropped (#4329)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.171.5

v4.171.5

v4.171.5

Bug Fixes

  • a parked ledger drains when the account's key is already usable, not only on a key transition (#4322)

Docs

  • GLM-5.3-Flash placement — routing matrix over every LLM call site (#4318)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.171.4

v4.171.4

v4.171.4

Bug Fixes

  • a key coming back re-drives all of an account's parked work, not the first 100 (#4320)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.171.3

v4.171.3

v4.171.3

Bug Fixes

  • a key the provider still honours comes back by itself, and a keyless scout says so (#4319)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.171.2

v4.171.2

v4.171.2

Bug Fixes

  • kill code.bash on silence and size the check budget absolutely (#4251)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.171.1

v4.171.1

v4.171.1

Bug Fixes

  • mirror both 503 exits in seats_checkout_configured (#4314)
  • give the disk-floor refusal its own UNCHARGED failure kind (#4309) (#4313)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.171.0

v4.171.0

v4.171.0

Features

  • zh.json part 3 — proof and the long tail, 495 keys, still unregistered (#4308)

Bug Fixes

  • gate gardener box-maintenance on ownership-verified repo row (#4287)
  • gate the Buy seats card on Stripe price provisioning (#4052)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.170.3

v4.170.3

v4.170.3

Bug Fixes

  • render ASK escalations with mergeAskWithheld: true as informational (#4299)
  • take merge_commit_sha only from a merged payload, and alert when a merge produces no verdict (#4283)

Docs

  • define target_class, the one run-card output the method named without defining (#4307)
  • document both check runs on the checks:write row (#4303)

Refactors

  • move the onboarding funnel use case from routes/ to deps/ (#4306)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.170.2

v4.170.2

v4.170.2

Bug Fixes

  • reject comment-only refs in dz-env-vars Read-at guard (#4305)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.170.1

v4.170.1

v4.170.1

Bug Fixes

  • a gate-refused merge discharges its expectation, and a transient refusal never stamps merge_decision='ask' (#4291)
  • the harness is what this comparison varies, and an unpriced arm publishes no money delta (#4304)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.170.0

v4.170.0

v4.170.0

Features

  • zh.json part 2 — the product pages, 703 keys, still unregistered (#4300)

Docs

  • name both review check runs and the gate owner fence (#4302)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.169.5

v4.169.5

v4.169.5

Bug Fixes

  • a DISMISSED review clears its author's prior verdict (#4218)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.169.4

v4.169.4

v4.169.4

Bug Fixes

  • hold this repo's two generated artifacts out of its own review (#4296)
  • zh.json catches up with three days of en copy (#4298)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.169.3

v4.169.3

v4.169.3

Bug Fixes

  • /proof states the protocol is public and its rule selected nothing, and publishes all seven limits (#4295)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.169.2

v4.169.2

v4.169.2

Bug Fixes

  • re-point 18 drifted file:line refs in dz-env-vars.md — main CI red since #4158 (#4292)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.169.1

v4.169.1

v4.169.1

Bug Fixes

  • clear hold_reason on redispatchTask revive (#4285)

Docs

  • name falsifying condition for deleted DependencyFailed hold (#4279)

Guard

  • make comment-citations the sole source-docblock citation guard (#4181)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.169.0

v4.169.0

v4.169.0

Features

  • audit boot_release claims reset, CI requeue and purge (#4083)

Bug Fixes

  • include repo-less account-anchored sessions in weekly digest events (#4187)
  • delete stalled_replay rows with lapsed 7-day leases during drain (#4189)
  • add worker-side STDOUT_AUDIT_SITES registry with drift guard (#4150)
  • redact the account-audit belt line before it hits stdout (#3954)

Tests

  • pin that a plan stays open while a group is still unmerged (#4047)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.168.0

v4.168.0

v4.168.0

Features

  • fold issues.closed/reopened onto issues.state on dispatch (#4184)

Docs

  • make handoff.mode fleet the primary Claude Code handoff path (#4190)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.167.0

v4.167.0

v4.167.0

Features

  • refuse cluster tooling in live fences at authoring (#4161)

Tests

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.166.0

v4.166.0

v4.166.0

Features

  • the repo-survey pump — daily cron so the survey writer keeps producing asks (#4282)

Bug Fixes

  • carry no_credential/kek_unwrap_failed floor as blocked on context asks (#4270)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.9

v4.165.9

v4.165.9

Bug Fixes

  • an issue-projection reconcile lane, mirroring the PR pair (#4280)

Other

  • Widen MODEL_READ_CAP to noun-first caps and register the newly visible ones (#4275)

Tests

  • permanent positive control for the post-deploy fence PASS path (#3383) (#4276)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.8

v4.165.8

v4.165.8

Bug Fixes

  • fold scout_context into task result so return_context scouts answer (#4274)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.7

v4.165.7

v4.165.7

Bug Fixes

  • pay the limit debt to zero — prompts sized from the model, no count refuses an answer (#4273)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.6

v4.165.6

v4.165.6

Bug Fixes

  • derive page budget from the model window (#4271)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.5

v4.165.5

v4.165.5

Bug Fixes

  • MCP answers the truth — blocked scouts, expiring blockers, a ready key, a fully reviewed PR (#4266)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.4

v4.165.4

v4.165.4

Bug Fixes

  • grade pull-swapped boxes superseded, not confirm_deadline (#4043)

Api

  • add sentry_environment to runner enroll and creds-reissue replies (#4044)

Docs

  • state both listRepoBoard deltas in listAccountBoard docblock (#4045)

Tests

  • serve hashed-css fixture from scratch dir via injected publicDir (#4265)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.3

v4.165.3

v4.165.3

Bug Fixes

  • parked PRs escalate, human changes-requested gets a fix round, false Majors are judged (#4262)

Docs

  • plan 101 site, docs and legal truth sync (#4261)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.2

v4.165.2

v4.165.2

Bug Fixes

  • no agent bound cuts work on a huge repo — limits from the model, detected windows, compact-and-retry (#4258)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.1

v4.165.1

v4.165.1

Bug Fixes

  • 1957-2035 AI economy section as a labelled timeline over a full-width projection (#4257)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.165.0

v4.165.0

v4.165.0

Features

  • film v2 narration without the repeated "we believe" (#4255)

Chores

  • push-scoped typecheck, locale copy-lint hook, fix regenerates artifacts, stable OG builds (#4253)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.164.0

v4.164.0

v4.164.0

Features

  • home film, 1957-2035 AI economy section, page loops, canvas pricing, how-it-works and proof (#4252)

Docs

  • document claude-opus-4-8's family-row resolution in output-ceiling.ts (#4248)

Guard

  • widen agent-budgets corpus to model-feeding workspaces and all limit classes (#4247)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.163.0

v4.163.0

v4.163.0

Features

  • film and page-loop media assets for the canvas reskin (#4249)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.162.0

v4.162.0

v4.162.0

Features

  • fence reassignTask's UPDATE with an optional leaseEpoch CAS (#4245)

Bug Fixes

  • no count ends team-lane work — waves, autofix, guard repair and manifests stop on progress (#4246)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.161.1

v4.161.1

v4.161.1

Bug Fixes

  • a scout hears a steer and converges; long runs push; message answers the truth (#4243)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.161.0

v4.161.0

v4.161.0

Features

  • Field and Tabs wrappers, stacked dialog trap, canvas onboarding (#4242)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.160.1

v4.160.1

v4.160.1

Bug Fixes

  • drop "or ours" from BYOK comparison copy (#4049)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.160.0

v4.160.0

v4.160.0

Features

  • canvas dashboard shell, live metric strip, one DataTable (#4237)

Bug Fixes

  • plan DAGs survive no-work, redrive, approve and a lost merge webhook (#4238)

Docs

  • correct stale docblocks claiming merge path reads PR projection (#4221)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.159.1

v4.159.1

v4.159.1

Bug Fixes

  • honor per-reviewer DISMISSED in reviewGateFrom (#4224)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.159.0

v4.159.0

v4.159.0

Features

  • redesign the site to the canvas, with photoreal Kubeez video backdrops (#4233)

Docs

  • fix stale ogImageUrl fallback comment in blog schema (#4220)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.158.0

v4.158.0

v4.158.0

Features

  • require --allow-drop-review-count to drop approving reviews to 0 (#4229)
  • name VENOMTECH S.A.S. as the Colombian representative on /contact (#4230)

Bug Fixes

  • ready_signals models current review state, not history (#4231)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.157.1

v4.157.1

v4.157.1

Performance

  • skip browser e2e when no app is reached, fix empty release base, narrow issue readiness (#4227)

Docs

  • record plan 101's 2026-09-16 slices, and stop finding.ts promising a truth gate it does not run (#4225)
  • settle pricing — buyer decks at $1,000 per AI developer, pair at $2,000 (#4217)
  • correct ReviewState docblock to name the real review-gate source (#4219)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.157.0

v4.157.0

v4.157.0

Features

  • shared primitives, one breakpoint map, delete /world (#4223)

Bug Fixes

  • keep a baseline-red task off the box that refused it, and stop it re-pending forever (#4215)

Chores

  • dz-runner 0.0.11 (#4214)

Docs

  • correct misleading blog-OG comment in og-images.ts (#4216)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.156.2

v4.156.2

v4.156.2

Bug Fixes

  • name why a babysit follow-up landed nothing, and retry a raced push once (#4212)
  • record the served model on review-lane run_provenance (#4213)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.156.1

v4.156.1

v4.156.1

Bug Fixes

  • send a per-run OpenRouter session id on review calls, and record an unreported cache read as absent (#4208)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.156.0

v4.156.0

v4.156.0

Features

  • reskin imagery — v2 art, OG cards, decks, Kubeez model seam (#4207)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.155.1

v4.155.1

v4.155.1

Bug Fixes

  • re-mint the installation token once on a gh 401, and refresh it before every review write (#4203)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.155.0

v4.155.0

v4.155.0

Features

  • brand foundation — new palette, Chivo + Geist Mono, cube mark (#4198)

Bug Fixes

  • post one live APPROVE per PR, and show why a verdict was downgraded (#4201)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.154.5

v4.154.5

v4.154.5

Bug Fixes

  • release review and scout at-head trees on every exit, and reclaim merged .wt trees (#4196)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.154.4

v4.154.4

v4.154.4

Bug Fixes

  • keyless pass no longer advances the incremental cursor (#4079)

Other

  • Stamp git_auth on GhCliError when gh refuses the credential (#4129)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.154.3

v4.154.3

v4.154.3

Bug Fixes

  • cover tools ceilings in prompt-budget anti-vacuity bloat check (#4191)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.154.2

v4.154.2

v4.154.2

Bug Fixes

  • fanout writes escalation delivery_state (#4188)

Tests

  • pin stalled_replay retention verdict (claimed_until < now() - 7 d) (#4186)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.154.1

v4.154.1

v4.154.1

Bug Fixes

  • use NotificationKind.Escalation instead of hard-coded string in stuckLedgerNotification (#4185)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.154.0

v4.154.0

v4.154.0

Features

  • align BYOK SQL spend fence with domain isUsable (active, earmark) (#4183)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.9

v4.153.9

v4.153.9

Bug Fixes

  • make ui-debugger refuse with a reason, and guard that .mcp.json is runnable (#4182)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.8

v4.153.8

v4.153.8

Bug Fixes

  • stamp failure codes where the throw already had a kind, and pin the two ladders that block the rest (#4179)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.7

v4.153.7

v4.153.7

Bug Fixes

  • correct retention.md's own R2 lane and derive the 72h CI-log window (#4177)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.6

v4.153.6

v4.153.6

Bug Fixes

  • stop the stalled-replay drain deleting rows it cannot re-drive (#4175)

Docs

  • enterprise reskin — one design system across marketing, dashboard and generated art (#4176)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.5

v4.153.5

v4.153.5

Bug Fixes

  • babysit escalations reach a human, once per condition (#4169)

Tests

  • pin the pr-lane cancel split, and correct a docblock that promised a cancel the door never sends (#4166)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.4

v4.153.4

v4.153.4

Docs

  • repoint wiring docblocks at apps/agents-manager, drop dead tierToCostTier re-export (#4156)

Refactors

  • replace hand-rolled error ternaries with domain errMessage (#4159)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.3

v4.153.3

v4.153.3

Bug Fixes

  • align dev-seed policy blobs with policy/domain vocabularies (#4154)

Docs

  • record the review-lane arc, and the verification gate it found (#4160)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.2

v4.153.2

v4.153.2

Bug Fixes

  • remove duplicate systemPromptLayers member from AgentRunLoader (#4157)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.1

v4.153.1

v4.153.1

Bug Fixes

  • add --conditions browser to test script (#4155)

Chores

  • dz-runner 0.0.10 (#4153)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.153.0

v4.153.0

v4.153.0

Features

  • the review lane's spend, memory, worktrees and instruments (#4152)

Docs

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.17

v4.152.17

v4.152.17

Bug Fixes

  • stop Spanish nav overflowing at 992-1146px viewports (#4147)
  • refuse a fence that reports FAILURE when its assertion SUCCEEDS, and pin the mutable refs (#4148)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.16

v4.152.16

v4.152.16

Bug Fixes

  • stop pretending this repo prunes the registry, and assert the repo that does (#4146)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.15

v4.152.15

v4.152.15

Bug Fixes

  • retry a gateway-cut structured response instead of losing the sample (#4145)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.14

v4.152.14

v4.152.14

Bug Fixes

  • grade this repo on the bun it declares, and stop boxes installing an untagged one (#4144)

Docs

  • close plan 101's slice-E rows and discharge the last untracked high (#4142)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.13

v4.152.13

v4.152.13

Performance

  • bound the last full-history checkout, and stop the lanes waiting on a 5s health probe (#4140)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.12

v4.152.12

v4.152.12

Bug Fixes

  • plan 101 slice E - the drift and the crosscut (#4136)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.11

v4.152.11

v4.152.11

Bug Fixes

  • hygiene reaps aged dz- scratch under /tmp, behind a prefix licence (#4117)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.10

v4.152.10

v4.152.10

Bug Fixes

  • plan 101 slice D - the surfaces (#4125)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.9

v4.152.9

v4.152.9

Bug Fixes

  • delete remaining duplicate worker.on('failed') listeners (#4123)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.8

v4.152.8

v4.152.8

Bug Fixes

  • plan 101 slice C - the machine that runs the work (#4119)

Docs

  • align published rate-limit numbers with the code constants (#4113)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.7

v4.152.7

v4.152.7

Bug Fixes

  • close the acquire-then-throw window, reject backslash prefixes, and widen the mkdtemp ratchet to JavaScript (#4108)

Docs

  • failure-reporting header says shared line is additive, not a replacement (#4114)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.6

v4.152.6

v4.152.6

Bug Fixes

  • plan 101 slice B - the seams the model and the caller reach (#4111)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.5

v4.152.5

v4.152.5

Bug Fixes

  • refuse an unowned repoId on the repo prompt layer on both doors (#4112)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.4

v4.152.4

v4.152.4

Bug Fixes

  • grade exit>128 without killedBy as killed, not red (#4110)

Chores

  • drop unused bullmq dependency (#4107)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.3

v4.152.3

v4.152.3

Bug Fixes

  • scratch dirs are a scoped resource, and a ratchet keeps raw mkdtemp out (#4106)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.2

v4.152.2

v4.152.2

Bug Fixes

  • plan 101 slice A - retention, fences, test counts, and three babysit/review fixes (#4101)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.1

v4.152.1

v4.152.1

Bug Fixes

  • strip ANSI where the gate tail is PERSISTED, and give a biome diagnostic one keeper (#4104)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.152.0

v4.152.0

v4.152.0

Features

  • the scout files the handoffs its survey already authors (#4097)

Bug Fixes

  • stale sweep writes the local issues row for its own close (#4091) (#4095)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.151.3

v4.151.3

v4.151.3

Bug Fixes

  • demote decoration-only ✖ markers in gate diagnostic tiering (#4096)

Chores

  • CLAUDE.md caps are 800 lines a page, and .claude is covered at all (#4087)

Db

  • remove unused releaseRunnerClaimsOnBoot DbClient wrapper (#4086)

Docs

  • note scripts/** and evals/** blind spot (#4084)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.151.2

v4.151.2

v4.151.2

Refactors

  • convert runCiDispatch to an options object (#4082)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.151.1

v4.151.1

v4.151.1

Bug Fixes

  • five ways a box stops working while still reporting healthy (#4075)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.151.0

v4.151.0

v4.151.0

Features

  • add boot-release AuditEventKind to dispatch vocabulary (#4080)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.150.0

v4.150.0

v4.150.0

Features

  • the survey inlet's reader admits scout handoffs as raw tasks (#4058)

Docs

  • correct bare-specifier blind spot in test-code-boundary (#4072)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.149.0

v4.149.0

v4.149.0

Features

  • POST /v1/tasks/:id/redispatch re-drives a terminal coding task (#4064)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.148.1

v4.148.1

v4.148.1

Bug Fixes

  • an epic whose last group lands transitions to done, by the system (#4031)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.148.0

v4.148.0

v4.148.0

Features

  • zh.json part 1 — the funnel, 416 keys, unregistered (#4028)
  • epic <id> prints stuck stage + last error; epics --stuck prints the funnel (#4030)

Bug Fixes

  • the notification row becomes the idempotency ledger, so a redelivered job stops re-sending (#4038)
  • registered env vars read through the registry, and a fail-open preflight gate (#4042)
  • the session leash bounds silence, not elapsed time (#4050)
  • a lost entity lock ends the session, and the leash guard loses its blind spots (#4056)
  • code the two transport throws that still land as runner_error (#4029)
  • re-plan a conversation objective whose task exhausts environmentally; the structural terminal reason wins (#4014)
  • plan-stuck's unfenced readers move to test-support (no production caller), funnel isolates a bad status, cmdEpics comment corrected (#4060)
  • the CI lane admits before it owns, and a boot release purges the box subject (#4061)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.147.1

v4.147.1

v4.147.1

Bug Fixes

  • one bounded drain, four callers (#4012)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.147.0

v4.147.0

v4.147.0

Features

  • the catalog carries the CNY figures /zh will quote (#4024)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.146.1

v4.146.1

v4.146.1

Bug Fixes

  • a mainland Zhipu or MiniMax key verifies against its own deployment (#4013)
  • lift bun's 5s default on the fan-out its (#4019)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.146.0

v4.146.0

v4.146.0

Features

  • a repo-local red-capable review check for owned repos (#3790) (#4017)

Bug Fixes

  • route the lane guard through the pipelineConfig seam, and stop it red-flagging a legal posture (#4011)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.145.0

v4.145.0

v4.145.0

Features

  • OG cards are generated and served per locale (#4003)

Docs

  • correct lifecycle combination count to five (#4005)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.144.0

v4.144.0

v4.144.0

Features

  • the repo's own autofix runs once when every gate failure is mechanically fixable (#3957)

Bug Fixes

  • cross-arm served_model equality in benchmark admission (#3946)
  • correct instrument-check figures in delivery-benchmark and run-record (#3947)
  • provider bodies, belt audit lines and run events leave the platform unredacted (#3951)
  • a kept biome block carries the summary that settles it (#3963)
  • credential-bearing egress follows announced endpoints, redirects and rebinding hosts (#3964)
  • a read-only caller gets a vault-write link, runner pre-auth routes are unthrottled, release bodies skip disclosure (#3980)
  • pin all 42 third-party actions to commit shas, with dependabot and a guard (#3988)
  • the footer offers every other locale, not the first that differs (#3989)
  • the sans stacks name a CJK family (#3992)
  • sign the release manifest, and verify it before reading which binary to install (#3995)
  • rotate the fleet signing key over the credential roll, and make security.md true (#4000)
  • a grounding pass survives a 2xx whose body could not be read (#4002)

Refactors

  • one table for a lane's job options, so producers and lane declarations stop disagreeing (#3943)
  • lane declarations read laneRetryOf instead of restating the table (#3949)

Tests

  • the locale e2e lanes read SUPPORTED_LOCALES, not a typed /es (#3998)

🤖 Posted by developerz.ai — the maintainer agent, not a human.

v4.143.4

v4.143.4

v4.143.4

Bug Fixes

  • close the enqueue-audit gap on retry-after-throw (#3942)
v4.143.3

v4.143.3

v4.143.3

Bug Fixes

  • one merge gate, two callers, so gh.prs.merge no longer merges past ten refusals the babysit egress enforces (#3923)

Babysit

  • forbid PR.md as a verdict channel on no-change rounds (#3849) (#3922)
v4.143.2

v4.143.2

v4.143.2

Bug Fixes

  • surface policy_valid from repo detail into RepoPolicyTab (#3920)
v4.143.1

v4.143.1

v4.143.1

Bug Fixes

  • the stored policy is the parser's output, so the free-OSS auto-merge opt-in gate has never fired (#3916)

Docs

  • whole-project bug sweep, 187 findings across sixteen area files (#3906)
  • the protocol is pre-registered in public, and the selection rule it carries selects nothing (#3909)
  • the product and service portfolio in three languages (#3910)

Tests

  • the blocker-fix leak check reads the body it was handed, not a clone of a spent one (#3913)
v4.143.0

v4.143.0

v4.143.0

Features

  • the run record names the model that ANSWERED, and refuses one that contradicts what it declared (#3905)

Docs

  • fix LlmPoolBudget docblock count (#3902)
v4.142.1

v4.142.1

v4.142.1

Bug Fixes

  • a merged pull request records WHEN it merged, on both writers that settle it (#3901)
v4.142.0

v4.142.0

v4.142.0

Features

  • onboarding runs an agent that proves the gate, asks for access once, and scores what it wrote (#3764)
  • validate the babysit fix loop end to end (#2205) (#3734)
  • pace a cooling router pool at the claim gate, not by re-claiming into it (#3783)
  • persist deployment_status.description, so verified-vs-settled is one query (#3793)
  • the benchmark page renders the absence of a result as carefully as it would render one (#3795)
  • a recipe for splitting a dedicated box, and ask — the door a composed plan goes through (#3768)
  • one ask, several repos, one ordered plan (#3780)
  • the debugger, the reviewer and the scout become visible (#3812)
  • a run provenance row says who funded it, not only who answered (#3833)
  • the pre-registration is a state the page can render, and a run that drifts from it is refused (#3852)
  • one arm recorded is a run in progress, not an artifact the page refuses (#3857)
  • /pricing prices the payroll line the buyer actually has, not only other AI tools (#3862)
  • the review footer names the box it ran on and prices OpenRouter models (#3880)
  • a fleet PR body names the model, the box and the estimated cost of the run (#3882)
  • a babysit fix round replies to and resolves the review threads it closed (#3889)
  • merge waits on our own review threads, read by GraphQL, with a per-thread ladder (#3890)

Bug Fixes

  • a fresh box enrolls correctly, and the fleet stops reading specs it no longer has (#3765)
  • a repo with no commits onboards, and the onboarding wait stops being silent (#3771)
  • a trailing GIT_SHA RUN per image, so a cached rebuild advances the config created (#3763)
  • classify infra/docker/** as deployed surface, so a Dockerfile can merge (#3781)
  • a stringified tool argument is repaired at both validation seams, and a rejected call is audited (#3778)
  • drain the 400 the reasoning degrade discards, and correct its docblock (#3788)
  • walk the rejection cause chain to the zod issues, making the #3745 repair real (#3791)
  • the X_OK case asks the repo tree, not os.tmpdir() (#3804)
  • a customer's own key may serve any model it names, and a spent key stops pinning the account (#3802)
  • the proof hero goes back to one column, and a test stops the redesign returning a third time (#3807)
  • deep review resolves the repo's bin/check and grades exits by the verify partition (#3423) (#3803)
  • one-impl stripComments reads string/template/regex context (#3538) (#3785)
  • a terminal task must not leave the box holding its claim (#3813)
  • the review-samples cases read the env the code reads, not an empty one (#3817)
  • pace the rate-limit wall per account, type the janitor audit trail, close the claim race (#3827)
  • the box runs the toolchain the repo pins, and says so when it cannot (#3822)
  • run the repo's bin/setup before every team coding session (#3840)
  • the team gate runs without the run's delivered repo secrets (CI parity) (#3846)
  • box_baseline_red gets its own counter and alarm, so excluding it stops looking like fixing it (#3844)
  • an account is keyed by its numeric GitHub id, never its mutable login (#3851)
  • the triage judge runs on the reasoning-suppressed classifier model (#3860)
  • the account-identity guard stops grading paths git is told to ignore (#3861)
  • every island renders the page's locale, so the Spanish catalog reaches a Spanish reader (#3863)
  • the reviewer is told the file-size rule this repo enforces, not one nothing gates (#3864)
  • one money convention per page, derived and authored alike (#3865)
  • /proof stops scrolling sideways at 320px, in both locales (#3867)
  • restore .github/workflows/** and .claude/** to the human-merge lane (#3810)
  • join deploy verdicts on the merge commit, not the branch head (#3821)
  • a git CONNECT failure is transport, not auth, so a blip stops being terminal (#3869)
  • a team-lane PR without PR.md gets a body composed from its manifest and gate (#3874)
  • a review says each thing once — no repeated fold, no prose for zero-finding lenses, capped summaries (#3877)
  • act once the PR has settled, in one combined fix round (#3887)
  • the grounding pass holds the stall window over an in-flight request and counts every model step (#3891)
  • a team run with a phantom declared path gets one repair round instead of losing the run (#3892)
  • a biome-only red gate keeps the diagnostic header that names the failing file (#3895)

Performance

  • prune excluded subtrees during the walk, and start the glob walk at the pattern's prefix (#3815)

Docs

  • straighten the arc 101 trail after slice 04 shipped (#3774)
  • re-cut arc 101 slices 05, 06 and 07 against the code and prod (#3775)
  • docs-keeper names the pin map and the compression rule, and the plan's live byte-baseline instructions retire (#3784)
  • record slice 07 as merged-not-shipped, and say why a cluster-tooling fence grades nothing (#3829)
  • a fence in an issue comment is never read, and grades as if none was written (#3836)

Investigate

  • root-cause #3849 model_produced_no_work (no harness change) (#3871)

Other

  • docs(bench),fix(marketing): the run card is frozen, and /proof stops refusing the registration it exists to accept (#3897)

Tests

  • the narrow-viewport guard covers 390 and 768 too (#3868)
v4.141.0

v4.141.0

v4.141.0

Features

  • fail a PR whose repo-wide test-declaration count drops (#3757) (#3760)
v4.140.2

v4.140.2

v4.140.2

Bug Fixes

  • honour a refused output ceiling where the failing calls actually are (#3762)
v4.140.1

v4.140.1

v4.140.1

Bug Fixes

  • recover a refused output ceiling on both generateText harness lanes (#3758)
  • root-anchor the untracked read (--full-name + doubles) (#3751)
  • relax deployed-surface YELLOW for proven comments-only diffs (#3724) (#3753)
v4.140.0

v4.140.0

v4.140.0

Features

  • stamp every cancel path's reason into tasks.cancel_reason (#3339) (#3705)
  • invite-only access, apply to allowed to signed in with seats (#3727)
  • Alibaba as a provider, box add count under one enrolment lock, named org-budget refusal (#3754)
  • the baseline probe row carries the duration-gap witness (#3698 criterion 4) (#3746)

Bug Fixes

  • one tree expansion in e2e-typechecked, not one per case (#3721)
  • exclude box_baseline_red from task failure rate (#3700) (#3716)
  • the bench's harvest and run artifacts land where git keeps them (#3284) (#3704)
  • the router's pool verdict outranks a member's spent wallet (#3730)
  • a FAILED task keeps its box-condition errors (#3731)
  • glob and grep see dot-directories, not credential dotfiles (#3729)
  • the baseline-red probe runs the diff's scope, not the stashed tree's (#3717)
  • re-ask once at the ceiling a provider names, instead of dying on it (#3747)
  • close the credential gap dot:true opened (#3749)
  • the baseline probe refuses a scope it cannot reproduce (#3750)
  • refuse only the scripts/ paths the stash actually flips (#3759)

Docs

  • BYO-cloud on-demand fleet — connect AWS/Hetzner, spawn from a golden image, idle-stop, wake on demand (#3725)
  • output-ceiling's docblock states the SDK's 4096 substitution, not 'no ceiling' (#3719)

Tests

  • pin build job's empty-apps skip gate (#3314) (#3718)
  • the #3722 conjunct's tests, in the files the code says they live in (#3752)
v4.139.2

v4.139.2

v4.139.2

Bug Fixes

  • refresh the 1h installation token on auth_expired, and keep the worktree (#3712)
v4.139.1

v4.139.1

v4.139.1

Bug Fixes

  • ensure-deps installs unconditionally — a present bin never proved a fresh tree (#3713)

Docs

  • investor-ready finish arc — eight sequential hive PRs, gap register, runbook (#3715)
v4.139.0

v4.139.0

v4.139.0

Features

  • review-coverage eligibility read + close the three silent drop points (#3663)

Bug Fixes

  • resolvePrev counts a success anywhere in a Deployment's status history (#3708)
v4.138.7

v4.138.7

v4.138.7

Bug Fixes

  • a cancelled task leaves the failure-rate population (#3710)
  • source the glm-5.3 and MiniMax-M3 ceilings, and ratchet the table (#3709)

Refactors

  • a route states its own facts, REST and MCP share one use case, and two audit divergences close (#3703)
v4.138.6

v4.138.6

v4.138.6

Bug Fixes

  • give fix_ci a legal ending for a verified-green no-op (#3690) (#3706)
v4.138.5

v4.138.5

v4.138.5

Bug Fixes

  • one corpus sweep per whole-tree guard, hoisted out of the per-test ceiling (#3701)
v4.138.4

v4.138.4

v4.138.4

Bug Fixes

  • grade each app against the release that built it, not one global sha (#3688)
  • verify-live must not inherit a skip, so a roll is always settled (#3693)

Refactors

  • an api module declares its own deps, createApp mounts the catalog, and each pod keeps one account audit store (#3685)
v4.138.3

v4.138.3

v4.138.3

Bug Fixes

  • dz-enroll reads the committed policy's content, so a contradictory repo refuses instead of certifying (#3684)
v4.138.2

v4.138.2

v4.138.2

Refactors

  • a closed vocabulary and a dashboard route are each stated once (#3681)
v4.138.1

v4.138.1

v4.138.1

Refactors

  • the db barrel, the worker lane list and agent tool names register by convention, and the feature-tax ledger records its first lowered ceiling (#3680)
v4.138.0

v4.138.0

v4.138.0

Features

  • the recipes reach merged, a bad argument teaches the fix, admins get a platform row, and every turn carries 16 KB less schema (#3678)
v4.137.0

v4.137.0

v4.137.0

Features

  • every agent opens as one elite-engineer pilot, and the prompt cascade stops contradicting itself (#3675)
v4.136.3

v4.136.3

v4.136.3

Refactors

  • one seam answers "can this tree accept a checkout?", and the three lanes that guessed stop guessing (#3644) (#3665)
v4.136.2

v4.136.2

v4.136.2

Performance

  • the dev box stops OOM-ing, the gate loses its 90 s tail, main stops re-testing proven trees, and releases rebuild only what changed (#3674)

Docs

  • nine claims the code contradicts, corrected against the code that disproves them (#3670)
  • the nested corpus shrinks 87 percent and the briefs stop giving orders the house forbids (#3673)
v4.136.1

v4.136.1

v4.136.1

Performance

  • the Playwright pole halves, the local gate stops waiting on a single-threaded tail, and a guard that read five sixths of the tree reads all of it (#3669)
v4.136.0

v4.136.0

v4.136.0

Features

  • a managed repo can decline a PR, bump a manifest, sweep a quiet issue and see Dependabot's only CI signal (#3668)
v4.135.0

v4.135.0

v4.135.0

Features

  • the wizard asks for a server and a chat client, and the fact ladder stops lying about who finished (#3667)
v4.134.0

v4.134.0

v4.134.0

Features

  • the recipes reach a chat client as a tool, one call answers is-it-done, and a retried dispatch cannot run twice (#3652)
v4.133.0

v4.133.0

v4.133.0

Features

  • dz enroll --apply performs exactly the diff the dry run printed, and refuses to narrow required checks (#3657)
  • dz enroll reads a real repo — the live Reads client behind the existing port (#3653) (#3664)

Bug Fixes

  • removeOnFail age-only + fake aligned with real BullMQ (#3556 follow-up) (#3660)
  • the merge gate reads a reviewer's findings, not only its check status (#3647) (#3659)
  • removeOnFail age-only, guard getState, align the fake with real BullMQ (#3654)

Chores

  • re-seed the size budget after #3556 crossed it, so lint stops failing on every branch (#3656)
v4.132.3

v4.132.3

v4.132.3

Bug Fixes

  • dz_migrate tombstoning — terminal jobs free the id + per-repo dedup discrimination (#3551) (#3556)
v4.132.2

v4.132.2

v4.132.2

Bug Fixes

  • the collision probe catches file/directory wedges both ways, and a filename is a literal rather than a pathspec (#3640) (#3646)
  • own-branch dirt PARKS in the team lane — carrying it is what destroyed the work (#3651)
v4.132.1

v4.132.1

v4.132.1

Bug Fixes

  • a repo refused unknown_repo stops minting work (#3565)

Chores

  • the one legal, satisfiable merge posture for a policy repo (#3648)
v4.132.0

v4.132.0

v4.132.0

Features

  • one grant expresses N free AI devs, and every dispatch sink honours the seat cap (#3639)
v4.131.13

v4.131.13

v4.131.13

Bug Fixes

  • a dead run's untracked files are parked instead of wedging the checkout the dirty judge called clean (#3640) (#3643)
v4.131.12

v4.131.12

v4.131.12

Bug Fixes

  • the commit-hook probe asks whether THIS checkout declares the hook, instead of asserting our own lefthook against every repo (#3637) (#3641)
v4.131.11

v4.131.11

v4.131.11

Bug Fixes

  • a blocked onboarding pass settles as the failure it is, instead of the status that promises a landed PR (#3489) (#3638)
v4.131.10

v4.131.10

v4.131.10

Bug Fixes

  • the quiescence tests assert sample ORDER instead of racing the scheduler that produces it (#3628)
  • a bounded classifier failure names the provider that refused, instead of defaulting to unknown (#3616) (#3627)
v4.131.9

v4.131.9

v4.131.9

Performance

  • the typecheck gate stops paying a 334-module import four times to answer one question (#3626)
v4.131.8

v4.131.8

v4.131.8

Refactors

  • the truncate arithmetic this repo already got right once reaches the thirteen lanes that redid it (#3624)

Tests

  • six registers stop grading a reason by its length, and two dead citations fall out of the change (#3625)
v4.131.7

v4.131.7

v4.131.7

Bug Fixes

  • the git step that refused reaches the timeline, so checkout_failed stops being two faults wearing one word (#3531) (#3622)
v4.131.6

v4.131.6

v4.131.6

Bug Fixes

  • the styles.css gate gets a budget sized for the compiler it spawns, not for a unit test (#3621)
v4.131.5

v4.131.5

v4.131.5

Bug Fixes

  • one issue gets ONE plan in flight, so a re-triaged issue stops minting a fifth copy of the same work (#2703) (#3620)

Tests

  • a Playwright retry becomes a verdict, and every CI lane must have a local equivalent (#3619)
v4.131.4

v4.131.4

v4.131.4

Refactors

  • askExcerpt stops being two byte-identical copies, and a shape ratchet pins it (#3618)
v4.131.3

v4.131.3

v4.131.3

Bug Fixes

  • the saturating leg of the gate runs alone, because a 25% false-red rate is not a scheduling win (#3601)
  • the both-locales rule says what is enforced, and the app with 2,496 keys finally has the guard (#3608)
  • the changelog is generated where the token is, so prod stops telling users there are no releases (#3611)
  • a terminal holder's branch stops holding the shared checkout, so a corpse cannot wedge a box (#3523) (#3612)
  • a parked model stops selecting its own key, so the triage judge is not handed the one model that cannot answer (#3491) (#3615)

Ci

  • the whole-tree lane runs through the sharded runner, in the lanes its files have locally (#3599)

Docs

  • the CI lanes mapped with their measured cost, local equivalent and red-run signatures (#3600)
  • the gate's memory peaks measured on a no-swap box, and the levers before an OOM (#3605)
  • slice 18's .claude/ condition is retired on both halves, and the row does not move (#3607)
  • plan-101 round 16, the first round where every move is work and none is a correction (#3613)

Refactors

  • both bare repeatable registrations go through the shared helper, and the pinned set is deleted (#3603)
  • account becomes a verb, and its residue map stops calling anything owed (#3604)

Tests

  • the suite's real-clock waits measured, the release ladder faked through a knob, and a guard that keeps literal sleeps out (#3602)
  • the meta-gate reads a generator's output as a BINDING, so the next ungated artifact fails whatever its gate would have been called (#3606)
  • the agents' shared block gets the guard that was holding it up until now, which was nothing (#3609)
  • the generated assets get gates that can fail, and the one that cannot is excluded with its mechanism (#3610)
  • a reason is graded on what it names, not on how long it is (#3617)
v4.131.2

v4.131.2

v4.131.2

Bug Fixes

  • every gate script reaches node_modules/.bin through one seam that needs no node (#3598)

Ci

  • config/test.yml reaches all 30 workspaces in CI, and a guard executes the job to prove it (#3596)

Tests

  • the size ratchet learns to fail below, and 124 banked units are the proof it could not (#3597)
v4.131.1

v4.131.1

v4.131.1

Docs

  • plan-101 round 12, where slice 01 loses complete over a scoring convention it wrote down itself (#3592)
  • two pages get the how-to their debt register deferred to them by name (#3593)

Refactors

  • three bodies split along their real seams, and packages/mcp/src has no function over a repo cap (#3594)

Tests

  • a debt register names who pays it, and the tenth gate stops being green over nothing (#3595)
v4.131.0

v4.131.0

v4.131.0

Features

  • eleven more call sites parse the wire, and seventeen scroll ports become reachable by keyboard (#3591)

Performance

  • the shard cap is obeyed by the branch that exists to obey it, and the bundler stops writing where tsc emits (#3590)
v4.130.0

v4.130.0

v4.130.0

Features

  • a fourth seam face nobody had named, where every optional action was stated twice one arm apart (#3588)

Docs

  • the how-to bullet is scored on its shape, which is what its own baseline measured (#3589)
v4.129.0

v4.129.0

v4.129.0

Features

  • the task detail body becomes a resource, the enabled-repo fence collapses nine to one, and problem+json hits zero (#3587)

Bug Fixes

  • a scroll port contains its own absolutely positioned descendants, and three waived routes stop scrolling (#3585)

Refactors

  • a bare jobAuditStore stops compiling, and the last unbounded module-scope store is bounded (#3586)
v4.128.2

v4.128.2

v4.128.2

Refactors

  • callWithRetry is renamed for what it does, and the deferral that kept it rested on a false premise (#3584)
v4.128.1

v4.128.1

v4.128.1

Performance

  • the dependency bootstrap stops loading twelve workspaces to read one integer (#3583)
v4.128.0

v4.128.0

v4.128.0

Features

  • a keyed single-flight kit replaces seven hand-rolled busy stores, and the try/finally bullet is retired (#3582)
v4.127.0

v4.127.0

v4.127.0

Features

  • gap A closes — a verb's schema is assembled where the wiring is known, and an unavailable arm is dropped (#3581)

Docs

  • the last dep debt is paid, and the .claude bullet is shown to rest on duplication the tree does not have (#3580)
v4.126.0

v4.126.0

v4.126.0

Features

  • task result reads what a run delivered — the report with its source, the raw tasks it filed, the blocker it declared (#3576)

Docs

  • the corpus hands back 11,291 bytes, a drifted action inventory is deleted, and the ceiling is lowered to bank it (#3578)
  • plan-101 round 11 re-measures every slice, and the file's own headline was stale by two rounds (#3579)

Tests

  • a comment that cites a path must resolve, and seven stranded citations are fixed (#3575)
v4.125.1

v4.125.1

v4.125.1

Bug Fixes

  • the findings budget stops telling the model its surplus is discarded, and a contract test holds the sentence to the code (#3569)
  • a report run is briefed for REPORT.md, its final turn is the fallback, and delivering nothing is not completed (#3574)

Refactors

  • a fifth fence class that is checked, and the checker learns to see a bare ownerId (#3568)
  • the review brain splits four ways, and its two latch lifetimes become a signature (#3570)

Tests

  • the overlay shells are swept open, and the btn burn-down stops counting its own guards (#3571)
  • the feature tax gets a live seam instrument, because both of its old ones read frozen history (#3573)
v4.125.0

v4.125.0

v4.125.0

Features

  • a ratchet holds the harness leash-free for main agents and subagents, and its last work budget is deleted (#3559)

Bug Fixes

  • the devops lane prepares, probes and grounds inside the tree the session runs in, not before any lane has one (#3562)

Chores

  • stop emitting declaration and source maps, and guard that they stay off (#3554)
  • every e2e directory is reached by a typecheck project, and a guard derives that set from the typecheck script (#3561)

Refactors

  • one seedAccount for 27 integration suites, and a ratchet that counts definitions rather than lines (#3560)

Tests

  • all ten settle arms assert they bank the ledger, and the zero-token residual is attributed out of this slice (#3557)
  • the repeatable detector matches by argument list, and the hand-attached census is partitioned by declaration home (#3558)
  • the id-mint concern enumerates its nine survivors, so a move and a new mint fail differently (#3566)
  • the SSE heartbeat is proved on a real socket, and the idleTimeout pairing is ratcheted (#3567)
v4.124.2

v4.124.2

v4.124.2

Refactors

  • the army fence classification becomes a guard's input, and one more verb reaches the seam (#3550)
  • the gh port leaves the ci-fix feature, and three excerpt copies become one (#3552)
v4.124.1

v4.124.1

v4.124.1

Docs

  • plan-101 round 10 re-measures every slice, and the headline falls 65 to 64 (#3547)
  • onboard-a-repo runbook generated from dz-enroll state machine (#3548)

Refactors

  • the job audit store leaves the blog consumer, and its 21 real call sites become a guard's input (#3549)
v4.124.0

v4.124.0

v4.124.0

Features

  • dz-enroll state machine, dry-run (#3395) (#3546)
v4.123.2

v4.123.2

v4.123.2

Bug Fixes

  • ground the scout on an at-head worktree, not the box's shared checkout (#3541)
v4.123.1

v4.123.1

v4.123.1

Refactors

  • the mock plane splits per family under a 300-line ceiling, and 14 dark components get covered (#3544)
v4.123.0

v4.123.0

v4.123.0

Features

  • a runtime-total REST/MCP body parity gate, and the digest detail body becomes one resource (#3543)
v4.122.1

v4.122.1

v4.122.1

Refactors

  • the last two audit ladders collapse onto the seam, and a guard stops the next one (#3540)
  • two platform-floor cascades become one, and four prompt layers stop being fleet-only (#3542)
v4.122.0

v4.122.0

v4.122.0

Features

  • parameterise the autonomy report by repo list and target issue (#3536)

Docs

  • nine workspace pages state their own deps, and two debt lists empty out (#3539)
v4.121.1

v4.121.1

v4.121.1

Refactors

  • the audit envelope is spelled once, and nine kit rows are refusals with their arguments checked (#3537)
v4.121.0

v4.121.0

v4.121.0

Features

  • plan_start scouts 1..n repos, and plan context reads their merged answer (#3359) (#3452)
  • the merged scout fan-out answer gets its REST door (#3451) (#3454)
  • the review lead may decline a file, and a fence decides (#3461)
  • every janitor pass reports the cohort it considered (#3463)
  • the janitor lane reads the prompt cascade (#3471)
  • the agent-tuner gets its second signal, and its skills claim is corrected (#3474)
  • the MCP server serves recipes, so a chat client learns a journey instead of re-deriving one (#3482)
  • coding work on an un-onboarded repo mints the pass that releases it (#3483)
  • the onboarding wizard stops calling an account ready that cannot run anything (#3488)
  • code.edit locates old_string through a match ladder, so an indentation-drifted quote lands instead of burning a round trip (#3505)
  • the compaction summarizer reads a clipped transcript and updates the prior note, instead of re-reading every tool result whole (#3509)
  • compaction gains a prune stage that clears stale tool-result bodies, so bloat inside the verbatim tail has an answer (#3510)
  • a stall reason carries the fact its kind cannot say (#2929) (#3515)
  • name a partial roll instead of listing it (#3528)
  • renderAutonomousPolicy proposes the autonomous posture (#3532)

Bug Fixes

  • the ensemble census says degradation is all-or-nothing, and stops calling its own share a lower bound (#3464)
  • the ensemble census reports Q1 per day, so an incident cannot read as a rate (#3465)
  • a related-context prefetch that loses its caller sources stops reporting complete (#3466)
  • the kb-gardener's model calls get one corrective re-ask (#3468)
  • the kb-gardener's page branches read the page catalog, and run (#3469)
  • four defects found by earlier rounds and unfixable from where they were found (#3479)
  • a leaked mock fixture took main red, and every stateful family gets a reset (#3485)
  • fan-out members asserted by identity, not by a random-id coin flip (#3486)
  • a universal box hands the setup lane its git token, so the onboarding pass can clone (#3487)
  • a screen is settled when its reads have STARTED and finished, not when two frames agree (#3490)
  • a raw ask carries its permalink as data, not only as prose (#3453) (#3456)
  • unlimited_spend becomes an issuable grant, and a guard holds the vocabulary to the domain (#3494)
  • the grant flag rule stops being restated inline, so unlimited_spend is issuable and discoverable (#3496)
  • the signed body names the event, so a relabelled header is refused (#2921) (#3497)
  • the home axe sentinel stops pinning a reading of the wall clock (#3498)
  • the fixture behind the age stops pinning a calendar instant, and a guard holds it there (#3500)
  • the box write fence moves into the two statements that were holding it by call order (#3076) (#3504)
  • an extension-less .test file is a test, so the reviewer stops grading four bash suites blind (#3070) (#3506)
  • every timestamptz is precision 3, so a later stamp can no longer sort before the row that carries it (#3068) (#3508)
  • slice 19's CI targets are measured, two are refused, and the refusal gets a guard (#3519)
  • surface verify tail in baseline-red refusal messages (#3534)

Chores

  • TypeScript 7 native compiler, and the guard that proves it is the one running (#3467)

Docs

  • correct release-deployment header's first-status clause to match decideInitialStatus (#3457)
  • janitor lifecycle deep dive — five stages graded against prod rows (#3458)
  • the janitor MCP verb has two blockers, both measured (#3475)
  • the onboarding and triage specs stop describing a world two PRs ago (#3493)
  • a customer-onboarding runbook, and the unlimited_spend gap it has to warn about (#3499)
  • the plan-101 ledger is re-derived from the tree, and four Done-when bullets that could never be ticked are retired (#3518)

Other

  • docs(bench),feat(scripts): the delivery-benchmark method is frozen before any number exists, and its claim rules become refusals (#3263) (#3507)

Refactors

  • the db barrel becomes subpaths, two lanes join the registry, and four guards stop being green over live defects (#3462)
  • the lane registry grows a per-row audit anchor, and three blind guards start seeing (#3473)
  • one audit store per process, and the page that fed a guard comes back (#3476)
  • a capability is one declaration, and the fence that must answer before the body is read (#3477)
  • a denial is an answer, and the viewport lane measures what a person meets (#3478)
  • six god files become barrels, and two path-keyed registers follow their symbols (#3492)
  • six more god files become barrels, and four suites split under an exact test-count invariant (#3501)
  • the last runner size offenders, and five path-keyed registers instead of the one the pre-flight saw (#3503)
  • team/fanout.ts becomes a barrel, and the register that only a workspace-relative grep can find (#3511)
  • apps/runner has no production file over 800, five registers follow their symbols, and a lease window stops comparing two clocks (#3512)
  • thirteen test suites split, and three guards learn that test-support is test code (#3516)
  • the last two suites over the cap, and apps/runner has no file over 800 (#3517)
  • every button class string has one writer, and a wrong variant is now a compile error (#3520)
  • three verbs join the seam, and the eight that cannot say why in a type (#3521)
  • forty by-id doors get a named fence, and one class is checked instead of believed (#3526)
  • nineteen suites split, and a support module is production corpus to six guards (#3529)
  • queues.ts becomes five planes, and the metric that would have called it progress is re-scoped (#3533)

Tests

  • the connected Sentry lane, proved against real Postgres — ten deliveries, one raw task (#3362) (#3455)
  • the stall remedy cannot reach a screen without someone choosing a locale seam (#2947) (#3513)
  • the client SSE seam gets the gate the plan asked for, one rung up from where it asked (#3535)
v4.120.1

v4.120.1

v4.120.1

Refactors

  • nine god files become barrels, four hashers become one, and two exemption lists learn to fail (#3450)
v4.120.0

v4.120.0

v4.120.0

Features

  • a lane can declare its concurrency, and gets it (#3449)
v4.119.10

v4.119.10

v4.119.10

Refactors

  • the last review document moves to its package, and three guards learn what test code is (#3448)
v4.119.9

v4.119.9

v4.119.9

Refactors

  • the repo-owned tenant fence is spelled once, and by-id doors are enumerated (#3446)
  • three SSE consumers collapse onto one loop, and both enumerate their outcomes (#3447)
v4.119.8

v4.119.8

v4.119.8

Refactors

  • the Button rehearsal, one problem-body vocabulary, and the raw-task lane (#3445)

Tests

  • the two remaining real-clock dial-count assertions move onto the virtual scheduler (#3337) (#3443)
v4.119.7

v4.119.7

v4.119.7

Refactors

  • three more god files become barrels, three lanes declare their audit, and a false audit row is retired (#3442)
v4.119.6

v4.119.6

v4.119.6

Refactors

  • one scope vocabulary and one path helper, with the typo class made a compile error (#3441)
v4.119.5

v4.119.5

v4.119.5

Bug Fixes

  • a re-asked turn bills both attempts; a foreign bot's thread is not ours (#3440)
v4.119.4

v4.119.4

v4.119.4

Refactors

  • plan 101 round 2 — five slices, and two silent holes closed (#3439)
v4.119.3

v4.119.3

v4.119.3

Refactors

  • eleven more lanes onto defineLane, the dead webhook attach deleted, and two ratchets lowered (#3437)

Tests

  • measured ceilings for the two apps/api tests that do real subprocess and WASM work (#3438)
v4.119.2

v4.119.2

v4.119.2

Bug Fixes

  • an evals-only diff runs the evals corpus, not the whole-graph gate (#3435) (#3436)

Refactors

  • plan 101 round 1 — wire Resources, db barrels, and the review test split (#3433)

Tests

  • each rejection assertion is awaited inside the test that owns it (#3434)
v4.119.1

v4.119.1

v4.119.1

Refactors

  • seven more lanes onto defineLane, and two false safety claims corrected (#3432)
v4.119.0

v4.119.0

v4.119.0

Features

  • caller-file context for the review prefetch — blast-radius names read from the tree (#2551) (#3246)
v4.118.5

v4.118.5

v4.118.5

Chores

  • attested review gate with autonomous classification parks (#3379)

Refactors

  • a runtime-port channel for the lane seam, and the dead attach mirrors deleted (#3431)
v4.118.4

v4.118.4

v4.118.4

Bug Fixes

  • narrow the tree-gap emit to the arms where the tree is the next row to read (#3416)
v4.118.3

v4.118.3

v4.118.3

Performance

  • the review burst's top-up round is bounded by the same deadline (#3429)
v4.118.2

v4.118.2

v4.118.2

Performance

  • the review wave slides inside a pass and barriers only at the ladder rung (#3427)
v4.118.1

v4.118.1

v4.118.1

Bug Fixes

  • a frozen payload renders as frozen, and an accept path cannot leave the repo (#3424)

Performance

  • a review sampling burst stops waiting for a straggler once a peer has answered (#3426)
v4.118.0

v4.118.0

v4.118.0

Features

  • Ruby rung in detectStack and a machine-readable repository profile (#3420)
  • a branch-protection client that reads the ruleset back (#3419)

Chores

  • move repo config under .dz/ (#3413)
v4.117.0

v4.117.0

v4.117.0

Features

  • report AA30 (agent-authored share) across a repo list in repo-autonomy (#3417)

Bug Fixes

  • dual-read agent-pipeline config (#3421)
v4.116.0

v4.116.0

v4.116.0

Features

  • install the toolchain manager and build baseline in the curl|sh join door (#3418)
v4.115.5

v4.115.5

v4.115.5

Bug Fixes

  • tree-gap audit fires on unproven, not ladder arm (#3402) (#3415)
v4.115.4

v4.115.4

v4.115.4

Bug Fixes

  • read putRes.content.sha in the blob-identity assertion, not the absent top-level sha (#3407) (#3412)
  • the survey-unwired arm keeps its full attempt ladder (#3410)

Tests

  • a fourth suite grades what the scout hands back (#3360) (#3411)
v4.115.3

v4.115.3

v4.115.3

Bug Fixes

  • put the mode in the dz_migrate jobId so a dry-run cannot tombstone the real run (#3389)
  • thread per-job installationId through the guard git.run seam (#3404)
  • a truncation after an accepted answer surrendered the answer too (#3405)
  • make the review-blind alarm answerable, and stop it missing an empty lane (#3408)
  • the autonomy report refuses a pull-request-blind listing instead of printing an issues-only rate (#3364) (#3406)
v4.115.2

v4.115.2

v4.115.2

Bug Fixes

  • split the scout grounding fault so an unproven tree is not a box fault (#3382)
  • the account board reported itself saturated forever, serialising every repo (#3381)
  • bound the pin-map total, and test the merge property that nothing tested (#3387)
  • hand the cluster CA to the Kubernetes API TLS layer (#3378) (#3388)

Tests

  • positive control for the post-deploy fence (#3386)
v4.115.1

v4.115.1

v4.115.1

Bug Fixes

  • wire dz-config-migrate guard seams to live observations (#3367) (#3373)
v4.115.0

v4.115.0

v4.115.0

Features

  • run each closing issue's live-test fence after the deploy and write the verdict to the issue (#3316)

Bug Fixes

  • wire the triage judge into the fleet-alerts cron (#3340) (#3366)
  • the CLAUDE.md byte ratchet pins per-file, closing the merge race (#3347)
v4.114.1

v4.114.1

v4.114.1

Bug Fixes

  • negotiate a refused forced tool_choice instead of failing the call (#3330)

Chores

  • the plan-chain refusal names today's number and the mechanism, and re-measuring it is one command (#3361) (#3369)
v4.114.0

v4.114.0

v4.114.0

Features

  • the scout can hand its context back, and mints nothing when it does (#3358) (#3368)
v4.113.1

v4.113.1

v4.113.1

Bug Fixes

  • drop engines.ladder — its pre-launch probe parks every mode-6 dispatch (#3344)

Tests

  • drive reconnect-pacing test with fake timers (#3363)
v4.113.0

v4.113.0

v4.113.0

Features

  • watch the stall report, so a queue held for a day is said out loud (#3350) (#3357)
v4.112.2

v4.112.2

v4.112.2

Bug Fixes

  • a triage claim is counted, and an ask out of claims is settled instead of re-claimed forever (#3352) (#3356)
v4.112.1

v4.112.1

v4.112.1

Bug Fixes

  • a box-maintenance run asks for no git credential, so the weekly fleet-upkeep lane stops failing 31 of 31 (#3351) (#3355)
v4.112.0

v4.112.0

v4.112.0

Features

  • /healthz reports the build sha through one release reader (#3283)
  • CFR7 beside A30 in the nightly report; progress.md counts verified merges (#3282)
  • deploy only on green CI, record a production Deployment per sha, verify the roll live (#3302)

Bug Fixes

  • deploy-proof records real deployment_status deliveries and drops the fictional fallback (#3285)
  • the .dz/ policy home joins the human-merge lane it was given parity into (#3240)
  • an unreadable policy file is not an absent one (#3279)
  • no gate compared the migrations to schema.ts, and the rotation that prevents a delivery outage had zero tests (#3290)
  • policy_dual_present never fires on a box hosting no tool service (#3253)
  • ui-debugger tool-service pair moves under .dz/ui-debugger/ (#3239)
  • every surface names the policy home the runner resolves (#3288)
  • two lanes that destroy bytes on a schedule left no queryable trace (#3294)
  • main is red because a rename could not reach a test that did not exist yet (#3297)
  • the pipeline config is NOT green — both homes join the human-merge lane (#3296)
  • a box that cannot run the commit hook now repairs itself instead of discarding the work (#3272)
  • the qa.bug fingerprint, the digest period, and the box-warden roster each lied about dedupe (#3315)
  • four scheduled sweeps that could never converge now drain or say why (#3317)
  • cron lanes claimed a BullMQ retry they never registered, and one blind gather could silence every fleet alarm (#3318)
  • the maintenance lanes' own reports now say what they swept, skipped and why (#3319)
  • escalation nudges must name a performable action, not a label the repo lacks (#3320)
  • the merge gate waits for an incumbent reviewer, bounded by the window it already measured (#3192)
  • lift the "no unobserved claims" rule to the platform floor (#3322)
  • degrade to reasoning-on when OpenRouter refuses suppression (#3313)
  • append /v1 to z.ai Anthropic wire base URL (#3275) (#3328)
  • record the model the provider SERVED, not just the one we asked for (#3324)
  • a superseded sha is not a failed release (#3334)
  • ceiling the whole-tree corpus-guard rescans at 30s, not bun's 5s default (#3327)
  • phantom-edit guard names a gitignored write (#2988); wire-stamp scan budget (#3331)
  • extract the triage-judge module and its alert kind (#3341)
  • mask credential shapes in git output, not only URL userinfo (#3323)
  • a provider reset stated without a year is dropped, and a rolled calendar day is fabricated (#3348) (#3353)
  • the dev Dragonfly stops keeping every 10-minute snapshot forever (#3349) (#3354)
  • the status-POST retry ladder holds the process alive, and a spawned-process guard proves it (#3312)

Chores

  • commit the provider-failover ladder so a spent quota fails over (#3291)

Docs

  • a coding task proves the dev env before its first edit — nothing runs bin/setup today (#3277)
  • plan 101's ledger said not_started for fifteen slices that had already shipped (#3292)
  • close what six merges actually closed, and record the stale-base incident that went with them (#3299)
  • the lane table still taught the audit posture #3294 removed (#3300)
  • the bug-sweep deliverable is a verified merge; autonomy-report names CFR7 (#3301)
  • route a prod-fence FAIL on a healthy rollout, scope the /healthz guard to sha readers, prefer git revert (#3311)

Refactors

  • the two slice-04 concerns that were invisible to the gate (#3293)
  • review/core.ts was 3,058 lines with a 642-line function inside it (#3295)
  • 22 lanes onto the defineLane seam, and three audit trails that were writing to stdout or throwing (#3308)

Tests

  • team-lane checkout tests neutralise the ambient inference env (#3244) (#3346)
v4.111.9

v4.111.9

v4.111.9

Bug Fixes

  • ensure_mise probes the principal the unit actually runs as, and says so when no mise is runnable (#3247)
  • make a corpus freeze git discards impossible to write (#3249)
  • the reasoning suppression #3225 shipped is refused by the endpoint it targets, so tesote reviewed nothing for seven hours (#3271)
v4.111.8

v4.111.8

v4.111.8

Bug Fixes

  • a review that could not look approved the PR — 118 real GitHub approvals in 7d from runs with no codegraph (#3237)
v4.111.7

v4.111.7

v4.111.7

Bug Fixes

  • the lane that deletes release bytes four times a day audited to stdout, so prod holds zero rows for every pass it ever ran (#3236)
v4.111.6

v4.111.6

v4.111.6

Bug Fixes

  • a reasoning model reached through a gateway escapes the suppression gate, so a bounded review call spends its whole budget thinking (#3225)
  • the at-head index syncs a throwaway copy and deletes it, so every review re-pays the checkout's whole drift (#3226)
  • "no_demand" was a false statement — the lane refusal collapsed four causes and the capability axis had no count at all (#3228)
  • demand counted rows no box could claim, so ten idle boxes chased 29 phantom tasks since 2026-08-28 (#3229)
  • the arbiter reads the two new held axes, and the hold pass keys on the gates whose ONLY writer is this claim (#3232)
v4.111.5

v4.111.5

v4.111.5

Bug Fixes

  • a cache keyed so nothing can ever read it, and a merge that cancels the only gate the commit behind it will ever get (#3223)

Performance

  • a scripts edit typechecked the whole repo three times, and the fast path everyone reaches for is unsound (#3224)
v4.111.4

v4.111.4

v4.111.4

Bug Fixes

  • the harness named the wrong registry, prescribed the command every brief bans, and prompted for the reads it tells agents to run (#3220)

Docs

  • 73.5% of the root brain reached no reader, and the SRP chain 25 files point at answers a different question (#3222)
v4.111.3

v4.111.3

v4.111.3

Bug Fixes

  • a review that paid for tokens and printed no cost line, MCP children that leaked on the polite path, and four more prompt seams than anyone had counted (#3218)
  • ten screens whose data body was an error box, one socket per widget, and a client type wrong on every field it disagreed with the server about (#3219)
v4.111.2

v4.111.2

v4.111.2

Bug Fixes

  • a by-id key read whose fence was a fourth-caller coin flip, and the id-brand split that would have made the plan's next step an outage (#3216)
  • a kill path that cancelled its own SIGKILL, a drain that could not release a queued member, and three guards that had gone blind (#3217)
v4.111.1

v4.111.1

v4.111.1

Bug Fixes

  • a repeatable sweep that pruned nothing for its whole life, and a lane that declares its audit instead of forgetting it (#3215)
v4.111.0

v4.111.0

v4.111.0

Features

  • the last six gates, where the census was wrong in five of six, plus an agent roster that had been prescribing the whole-tree gate to subagents (#3213)

Refactors

  • a capability declares its scope once, and the wire layer reaches the doc and the SPA (#3214)
v4.110.8

v4.110.8

v4.110.8

Refactors

  • one wire shape per entity, and a fixture layer that graded nothing (#3212)
v4.110.7

v4.110.7

v4.110.7

Refactors

  • one id minter behind the schema that defines the prefix, and a gate that had been scanning live code as blank (#3211)
v4.110.6

v4.110.6

v4.110.6

Refactors

  • the last three gated concerns, where the census refused two of them (#3210)
v4.110.5

v4.110.5

v4.110.5

Refactors

  • the rest of the logger sweep — the plain alias reaches ONE, and it is the canonical (#3208)
v4.110.4

v4.110.4

v4.110.4

Refactors

  • one structured-log port, and 60 of the 81 aliases collapse into it (#3207)
v4.110.3

v4.110.3

v4.110.3

Refactors

  • plan 101 slice 04 — four primitives get one implementation, and the ceilings that lock it in (#3206)
v4.110.2

v4.110.2

v4.110.2

Bug Fixes

  • plan 101 slice 03 — every confirmed bug, red-first, and the ten slice claims that did not survive re-measurement (#3205)
v4.110.1

v4.110.1

v4.110.1

Bug Fixes

  • a plain comment stopped clearing a CHANGES_REQUESTED, and the merge gate stopped grading 30 of a PR's reviews (#3203)
v4.110.0

v4.110.0

v4.110.0

Features

  • the feature tax is seven numbers priced against real commits, the time budget its own measurement refuted is reverted, and a lane that timed out in silence now says why (#3202)

Docs

  • the transpiled-statement denominator would score a third of the repo over 100% (#3200)
v4.109.0

v4.109.0

v4.109.0

Features

  • a per-test time budget that fails in place, seeded at today's slowest deliberate test (#3199)
v4.108.2

v4.108.2

v4.108.2

Bug Fixes

  • merging two lcovs was unsound, and the coverage ratchet runs in no CI job (#3196)
v4.108.1

v4.108.1

v4.108.1

Bug Fixes

  • the repair runs BEFORE the baseline probe and the fix wave, and its tail is capped (#3197)
v4.108.0

v4.108.0

v4.108.0

Features

  • a gate that refused to grade gets one bin/setup and one more gate (#3195)
v4.107.1

v4.107.1

v4.107.1

Bug Fixes

  • the autonomy population comes from the repository listing, and a scripts-only CI run stops falling through to a bare bun test (#3121) (#3190)

Tests

  • one live-DB fixture that owns the pool, and the CI ceiling it lets us delete (#3193)
  • say "your database is behind" once, and stop two concurrent lanes colliding on hardcoded ids (#3194)
v4.107.0

v4.107.0

v4.107.0

Features

  • the honest coverage number, per workspace, and a ratchet that cannot lower it (#3188)
v4.106.4

v4.106.4

v4.106.4

Bug Fixes

  • name the OFF-SCHEMA non-answer too, not just the not-JSON one (#3183) (#3186)
  • a test's wait budget stops being its own timeout, and a pinned clock stops making a ceiling vacuous (#3187)
v4.106.3

v4.106.3

v4.106.3

Bug Fixes

  • scope the catalog-budget ledger guard to the NEWEST entry (#3185)

Chores

  • the catalog budget's raise gets its ledger entry, and a silent one gets a guard (#3182)

Refactors

  • one BullMQ queue fake, the ten files that hand-rolled their own, and the wall-clock flake that blocked it (#3184)
v4.106.2

v4.106.2

v4.106.2

Refactors

  • one drizzle chain fake, and the five densest query suites moved onto it (#3180)
v4.106.1

v4.106.1

v4.106.1

Bug Fixes

  • a test file stops handing the next one a pinned clock, a wrong Redis client and a DOM's streams (#3179)
v4.106.0

v4.106.0

v4.106.0

Features

  • the structural gates, seeded at today's measured numbers, and the one bypass the compiler can take over (#3178)
v4.105.6

v4.105.6

v4.105.6

Bug Fixes

  • a retry is eligible for another box, never guaranteed one (#3176)
v4.105.5

v4.105.5

v4.105.5

Bug Fixes

  • a gate that could not run gets its own failure kind and the full attempt ladder (#3164) (#3174)
  • the scout heals its own codegraph, the install ceilings stop killing slow boxes, and a lead overrun stops firing on a millisecond tick (#3175)
v4.105.4

v4.105.4

v4.105.4

Bug Fixes

  • one grep hit stops evicting the whole context window, an ineffective compaction stops being invisible, and a truncated turn is re-asked instead of binned (#3173)
v4.105.3

v4.105.3

v4.105.3

Bug Fixes

  • a ceiling-killed toolchain install is not a successful one, and a drain during it ends the run (#3171)
v4.105.2

v4.105.2

v4.105.2

Bug Fixes

  • the per-claim git token is minted per claim and the box re-mints it, instead of sharing one 55-minute cache and pushing with a dead credential (#3169)
v4.105.1

v4.105.1

v4.105.1

Bug Fixes

  • the coding lane installs the toolchain the checkout declares (#2950) (#3167)

Docs

  • .dz/maintainer/maintainer.yml in docs, marketing, generators; .dz/README template (#3151)
v4.105.0

v4.105.0

v4.105.0

Features

  • dz-config-migrate ready lane — re-run the guard on a draft move PR and mark it ready only when it still passes (#3153)

Bug Fixes

  • a scripts/ path outside the test harness stops widening to the whole-graph gate (#2975) (#3165)

Docs

  • measured plan to replace hand-wired boilerplate with one declarative seam per subsystem
v4.104.1

v4.104.1

v4.104.1

Bug Fixes

  • a box adverts a service it can reach without a restart, and a report slice stops killing the work sequenced behind it (#3065, #2949) (#3143)

Docs

  • record the 2026-09-03 review-lane arc in Progress (#3162)
v4.104.0

v4.104.0

v4.104.0

Features

  • every box carries the latest codegraph and the review tree gets its index, the lead prefetches related code for every sub-reviewer, a per-repo reviewer prompt is read at head, and the PR states the review's run economics (#3160)

Bug Fixes

  • a key out of quota parks as temporarily unavailable until the provider's reset, instead of being re-probed every two minutes or revoked (#3161)
v4.103.2

v4.103.2

v4.103.2

Bug Fixes

  • a dead key is never re-dialled, four sub-reviewers in waves, a push never cancels a running review, and the janitor compacts the review KB (#3159)
v4.103.1

v4.103.1

v4.103.1

Bug Fixes

  • no wall clock kills a run and no house number caps its output - liveness is the only kill, the vendors' published ceilings the only bound (#3155)

Docs

  • record the 2026-09-03 re-audit of plans 101 and 102 and the follow-up PRs it produced (#3156)
v4.103.0

v4.103.0

v4.103.0

Features

  • ratchet guard for the nested CLAUDE.md corpus (#2992) (#3125)
  • dz-config-migrate consumer + ops verb + draft/ready flow (#3128)
  • dual-read .dz/maintainer/maintainer.yml in the review adapter and setup; scaffolder proposes .dz/ (#3152)

Bug Fixes

  • a retry inherits the prior attempt's terminal reason (#3131)
  • a fully-cooled key pool is graded provider_rate_limit, and the box holds its pulls until the router's reset (#3050) (#3130)
  • the devops lane names its own deliverables and the no-op case is no longer a fault (#3014)
  • the fix wave recovers the paths real gate output prints, and a red base is probed before the first wave, not after the last (#3136)
  • unblock main and make a CLAUDE.md ratchet trip attributable (#3137)
  • the runner-release age window is re-derived at 29 releases/day, and the prune tick moves with it (#3134)
  • a box that defers its swap behind a live run reports the deferral, and the rollout grades it pending instead of confirm_deadline (#3138)
  • the DOCR retention cron excludes the two out-of-remit mail images and exits by what the prune did (#3105) (#3140)
  • the reviewer sees whole files under a budget derived from the serving model's window, and its prompt says what a full file and a green typecheck each prove (#3100) (#3141)
  • the hive reader attributes rows to the binary that wrote them, and says no_provenance when no lane stamped one (#3142)
  • pin the ensemble validator's #2196 merge stamp in prose and tests (#3145)
  • the native harness compacts at 70% of the model's window, the summary carries no house ceiling, and MiniMax gets its window rows (#2979, #3106) (#3146)
  • every hive row is stamped with the binary that wrote it, at the one seam every lane passes through (#3148)

Refactors

  • the box installer knows no language - ensure_ruby is deleted, a generic build baseline and mise take its place, and the setup lane writes the repo's toolchain as text (#3079) (#3147)

Tests

  • pin the assignment schema's unknown-key strip on the bare contract (#3116) (#3132)
v4.102.2

v4.102.2

v4.102.2

Bug Fixes

  • a JetStream grant whose effect rides the request body is not a permission (#3118) (#3129)
v4.102.1

v4.102.1

v4.102.1

Bug Fixes

  • a verify failure on an already-red base is box_baseline_red and spends no attempt (#3123)
v4.102.0

v4.102.0

v4.102.0

Features

  • the hive's rates get a reader, and the first thing it found was a dead producer (#3109)

Bug Fixes

  • ensure-deps install-failed exits CHECK_EXIT_PRECONDITIONS_UNMET, not 1 (#3027) (#3112)
  • purge the arc-101 retired flags, which no writer has ever removed (#3117)
  • the autonomy population is derived twice, and a disagreement refuses (#3114) (#3120)

Docs

  • close plan 102 with the deployment evidence, and say why the fix wave has 0 rows (#3119)
v4.101.0

v4.101.0

v4.101.0

Features

  • record refuted review findings on the babysit envelope (#3107)

Tests

  • derive skew-guard stand-in from parent schema (#3039) (#3113)
v4.100.4

v4.100.4

v4.100.4

Bug Fixes

  • the scout refuses the plan call when its promised grounding never arrived (#3037) (#3104)
v4.100.3

v4.100.3

v4.100.3

Bug Fixes

  • revert the harness --no-verify and fix the pre-push hook it was working around (#2980) (#3017)
v4.100.2

v4.100.2

v4.100.2

Bug Fixes

  • a red gate buys one bounded fix wave instead of ending the session (#3099)
  • a free-form BYOK model id degrades the review_sampled slots instead of deleting the event (#3101)
v4.100.1

v4.100.1

v4.100.1

Bug Fixes

  • the runtime ceiling settles a quota-stalled run by its cause, not run_timeout (#2996) (#3055)
v4.100.0

v4.100.0

v4.100.0

Features

  • the review lane becomes a hive, and the four passes that never ran now run (#3095)

Bug Fixes

  • an empty survey fails the run instead of minting a decision_needed blocker (#3054)
v4.99.0

v4.99.0

v4.99.0

Features

  • the debugger lane gets its first hive, and two defects found while building it (#3091)
v4.98.2

v4.98.2

v4.98.2

Bug Fixes

  • the Ruby toolchain converge installs libffi-dev, so wurk's bundle can build (#3067) (#3088)
v4.98.1

v4.98.1

v4.98.1

Bug Fixes

  • a box can only write for a task it may serve, and the cross-tenant pool is retired (#3077)
v4.98.0

v4.98.0

v4.98.0

Features

  • one source for the hive rules, seated only where a model actually leads (#3087)
v4.97.0

v4.97.0

v4.97.0

Features

  • sub-scouts get a channel a model can read, and the scout lead corrects a live leaf (#3083)
v4.96.0

v4.96.0

v4.96.0

Features

  • the lead gets a mouth - rule 9's channel had a receiver, one human sender, and zero guidance rows in 60 days (#3080)
v4.95.2

v4.95.2

v4.95.2

Bug Fixes

  • the converged Ruby toolchain can install gems as the runner user, and an Unknown stack with a test dir is not told to build a harness (#3067) (#3078)
v4.95.1

v4.95.1

v4.95.1

Bug Fixes

  • the coding leaf gets a retry ladder, a coordinator can refuse an assignment, and the task attempt is a real number (#3073)
  • ensure_ruby carries its own --no-systemd guard, like both siblings (#3067) (#3075)
v4.95.0

v4.95.0

v4.95.0

Features

  • a box provisions the Ruby toolchain, so a Ruby repo's gate can run at all (#3067) (#3069)

Bug Fixes

  • the ruby toolchain converge reaches an enrolled box (#3067) (#3072)
v4.94.2

v4.94.2

v4.94.2

Bug Fixes

  • the instrumentation watermark answers for the repos being graded, not the whole table (#2937) (#3066)
v4.94.1

v4.94.1

v4.94.1

Bug Fixes

  • the repo-service converge reaches an enrolled box (#2936) (#2944)
v4.94.0

v4.94.0

v4.94.0

Features

  • one hive round contract, and run provenance that names the binary that wrote it (#3062)

Bug Fixes

  • the excusal streak gets a durable row (the commit #2932 merged without) (#2935)

Docs

  • the enterprise deck in English and Romanian
  • explain how CLAUDE.md files are loaded in the runner (#3060)
v4.93.1

v4.93.1

v4.93.1

Bug Fixes

  • the diff classifier parks the trees that define the merge gate (#2951) (#3052)
v4.93.0

v4.93.0

v4.93.0

Features

  • every self-update hop the box takes lands as an audit row, a rollout survives a worker redeploy, and update refusals reach the log egress (#3029)

Bug Fixes

  • review worktrees stop leaking into the shared checkout (#2995) (#3031)
  • a path the harness owns is never a declared manifest file (#2981)
  • one run ceiling, a ledger that resumes only where it is read, a post-edit check that degrades instead of disabling, a recorded blocked rung, and provider failures that stop reading as box faults (#3034)
  • a reaped box stops running the task it lost, a non-advancing credential re-issue is refused, and every dropped fleet event lands a row (#3041)
  • absence is a sentinel — an empty 2xx body is not "file missing" (#3042)
  • the boot credential roll reports too, instead of being dropped (#3047)
  • one tenant's rollout no longer starves every other tenant's (#3048)
  • hygiene learns both halves of the at-head review layout (#2995) (#3049)
  • fleet PRs close the governing issue the task's envelope names (#2271) (#3051)
  • a request id no longer spends the review ensemble's only fallback dial, and the sibling is budgeted from its own ceiling (#3053)
  • a babysit follow-up can answer with a reasoned no-change (#3056)

Docs

  • close plan 101 with the after-probes and the prod rows that prove it (#3046)
v4.92.0

v4.92.0

v4.92.0

Features

  • .dz/ migration — mechanical guard + config inventory (#3020)
  • revoke reaches the box and halts it, one act decommissions a box, and re-enrolling with --replace retires the predecessor (#3025)

Bug Fixes

  • an ambient ANTHROPIC_BASE_URL can no longer redial an Anthropic-direct review (#2790) (#3026)
  • classify lefthook.yml as GREEN so hook edits stop parking as unknown-tier (#3028)
v4.91.1

v4.91.1

v4.91.1

Bug Fixes

  • connectivity plane, transport half — ping before the reaper, heartbeat from the beat, mint before rotate, fleet status says unknown, every fleet alert carries its tenant (#3015)
  • sweep the box-side leaks, one setsid spawn seam for every git/gh/docker child, a producer for adapterPgids, and RAII at every teardown (#3018)
  • exit 75 / 126 / 127 from a gate are not a verdict on the edit (#2934) (#3021)
  • a third-party coding-agent App can be allowlisted for review (#2994) (#3019)
  • propagate a failing leg's real exit code out of the gate reporters (#3016)
  • the box converges its own env file — retired keys purged, backups pruned, a root-owned file graded loudly, and the crash-egress DSN delivered from the platform (#3022)
v4.91.0

v4.91.0

v4.91.0

Features

  • dual-read .dz/maintainer/maintainer.yml in policy-ingest and the push predicate (#2959) (#2999)
  • box-probe.sh + infra fleet-health — the measurements that prove each runner lifecycle slice (#3010)
  • a box can be decommissioned, the installers agree on one contract, and the env file is owned by the user the unit runs as (#3013)

Bug Fixes

  • a red gate reports the failure, not the end of the pass stream (#2972) (#2993)
  • give the #513 area gate the NON_EDITING_ORIGINS conjunct (#2982) (#2986)
  • a drain releases the in-flight run instead of failing it, a fleet push waits for idle, and every exit path runs one teardown (#3011)

Docs

  • runner lifecycle deep dive — plan 101 (2026-09-02)
  • record run 1 (Claude Code) against PR #2911 (#3009)
  • hive mind across the lanes — plan 102 (2026-09-02)
v4.90.7

v4.90.7

v4.90.7

Bug Fixes

  • close five lanes with no producer (#2990)
v4.90.6

v4.90.6

v4.90.6

Bug Fixes

  • re-check the deference per head (#2872) (#2989)
v4.90.5

v4.90.5

v4.90.5

Bug Fixes

  • pass --no-verify on the harness's own git commit and push (#2977) (#2984)
v4.90.4

v4.90.4

v4.90.4

Bug Fixes

  • audit the push-supersede review cancel (#2772) (#2978)
v4.90.3

v4.90.3

v4.90.3

Bug Fixes

  • name the drain signal's abort reason (#2943)
v4.90.2

v4.90.2

v4.90.2

Bug Fixes

  • the at-head tree fetches the reviewed commit, and says why when it cannot (#2957)
v4.90.1

v4.90.1

v4.90.1

Bug Fixes

  • give every lane-fence purpose an approved-model source (#2955)
v4.90.0

v4.90.0

v4.90.0

Features

  • post the nightly wurk autonomy report to #2770 (#2913)
v4.89.0

v4.89.0

v4.89.0

Features

  • report time-to-first-bot-action per item (#2914)

Bug Fixes

  • the committed merge posture refuses every PR (#2948)
  • give the per-lane approved-model gate a committed home it can fire from (#2842)

Tests

  • the lead-round tests wait for the window, not for the clock (#2939)
  • the overran assertion settles the round on a microtask, not a timer (#2942)
v4.88.0

v4.88.0

v4.88.0

Features

  • hive rules 6, 8 and 9 — the lead names the check, works, and steers (#2933)
v4.87.1

v4.87.1

v4.87.1

Bug Fixes

  • a refusal id the platform never declared, and an excusal nobody counted (#2223) (#2932)
v4.87.0

v4.87.0

v4.87.0

Features

  • hive rule 4 — seam_changes on the task envelope (#2927)
v4.86.0

v4.86.0

v4.86.0

Features

  • no_service_capacity — a task nobody can claim now says why (#2928)
  • the converge runs the Redis a repo's gate needs, so the advert has something true to report (#2930)

Bug Fixes

  • a babysit follow-up may not edit the gate whose verdict triggered it (#2931)
v4.85.1

v4.85.1

v4.85.1

Bug Fixes

  • dispatchHandlerDeps dropped two sinks on the floor, and nothing could see it (#2926)
v4.85.0

v4.85.0

v4.85.0

Features

  • a repo can declare the services its gate needs, and a box that cannot reach them stops claiming its work (#2925)

Bug Fixes

  • one tenant's boxes cannot withdraw a release from every tenant (#2223) (#2924)
v4.84.0

v4.84.0

v4.84.0

Features

  • grade the survey's no_answer/prose rates per account (#2917)
v4.83.4

v4.83.4

v4.83.4

Bug Fixes

  • a touch is a fact about a delivery, not an artifact of a session (#2904)
v4.83.3

v4.83.3

v4.83.3

Bug Fixes

  • drop-noise reachable — dupe-of, escalate, lookup finding (#2916)
v4.83.2

v4.83.2

v4.83.2

Bug Fixes

  • state taxonomy — give the failure, hold and plan-stall columns reachable producers (#2915)

Tests

  • pin every escalation category to a reachable channel (#2897)
v4.83.1

v4.83.1

v4.83.1

Bug Fixes

  • the gate interpreter resolves as the daemon principal, and a box that cannot run the gate refuses to boot (#2912)
v4.83.0

v4.83.0

v4.83.0

Features

  • pin the autonomy window start with --since (#2910)

Chores

  • opt this repo into autonomous classification parks (#2905)

Docs

  • document release-check.ts purpose (#2911)
v4.82.0

v4.82.0

v4.82.0

Features

  • compute A30 from our own rows, and refuse the window our rows cannot cover (#2896)
  • a guard that can tell a reviewed diff from a summarised one (#2901)

Bug Fixes

  • one seam for comparing a GitHub login, and the two live defects that existed without it (#2892)
  • the MCP surface advertised what it could not serve (#2894)
  • the scope picker reports its own state in the design system's fill (#2900)
  • BYOK verify failures land in recoverable states, and a model check never kills a key (#2906)

Other

  • Revert "feat(marketing): price the buyer's own headcount beside ours on /pricing" (#2874) (#2876)
v4.81.0

v4.81.0

v4.81.0

Features

  • record who touched an item, and GitHub's own clock (#2869)
v4.80.0

v4.80.0

v4.80.0

Features

  • price the buyer's own headcount beside ours on /pricing (#2873) (#2874)
v4.79.1

v4.79.1

v4.79.1

Bug Fixes

  • two of the three review passes could never report what they spent (#2870)
  • the blind rate says WHEN, so a healed collapse stops reading as a live fault (#2871)
v4.79.0

v4.79.0

v4.79.0

Features

  • ask the reviewer for documentation accuracy, the largest measured miss class (#2868)

Bug Fixes

  • delete the per-session USD hard stop (#2864)
  • the review fan-out dispatches in one wave, and retries by narrowing (#2865)
  • expiry fixtures are written against the clock, not against a date (#2867)

Docs

  • record the token-naming and typecheck-gate work in the Progress log (#2836)
v4.78.0

v4.78.0

v4.78.0

Features

  • bun run infra review — the review lane in one hop (#2862)

Chores

  • remove maxBudgetUsd, a per-run dollar ceiling nothing ever read (#2863)
v4.77.2

v4.77.2

v4.77.2

Bug Fixes

  • the inline cap folds findings instead of destroying them (#2860)
  • a dispatch that seals no credential leaves a durable row (#2861)
v4.77.1

v4.77.1

v4.77.1

Bug Fixes

  • stop declaring an output-token ceiling nobody measured (#2858)
  • make "no turn ceiling" expressible, and delete the two that were invented (#2859)
v4.77.0

v4.77.0

v4.77.0

Features

  • the stored shape and wire class for customer-owned SSH keys (#2854)

Docs

  • correct 101-factory-of-code/status.yml slice-03 auto-merge note (#2856)

Tests

  • pin truncation onto the backlog-import audit row (#2851)
v4.76.0

v4.76.0

v4.76.0

Features

  • status MCP verb — one composed answer (#2843)

Docs

Tests

  • make the fresh-checkout gate green on any git build and any shell env (#2849)
v4.75.0

v4.75.0

v4.75.0

Features

  • alert when the AI reviewer goes blind (#2846) (#2847)

Docs

  • the contract matrix and the origin crosswalk — agent-mode spec (#2840)
v4.74.1

v4.74.1

v4.74.1

Bug Fixes

  • approve the model spellings dispatch actually seals (#2825) (#2841)
v4.74.0

v4.74.0

v4.74.0

Features

  • readiness as one implementation (repo-scoped, verb-named, DB-proven) (#2837)
v4.73.0

v4.73.0

v4.73.0

Features

  • a PAT can be named, and the scope picker is grouped (#2828, #2829) (#2831)

Bug Fixes

  • the scratch-exclusion guard deletes only what it created (#2834 follow-up) (#2835)

Chores

  • the typecheck program no longer roots gitignored scratch (#2833) (#2834)
v4.72.1

v4.72.1

v4.72.1

Bug Fixes

  • budget the six deterministic failure kinds to one attempt (#2572) (#2832)
v4.72.0

v4.72.0

v4.72.0

Features

  • report the authorship split beside A30, so the rate cannot be misread (#2827)
  • project setup as the advertised greenfield path (#2830)
v4.71.5

v4.71.5

v4.71.5

Bug Fixes

  • the team lane never read PR.md, so every PR it opens says the agent wrote nothing (#2822)
v4.71.4

v4.71.4

v4.71.4

Bug Fixes

  • wire the byok_key_purpose port so the verb is reachable in prod (#2826)

Docs

  • The architect role (cast row, role-architect.md, generator/no-scaffold contract, selector tests) (#2823)
  • publish the deployments read scope (#2824)

Tests

  • verify plans backfill migration on a throwaway Postgres schema (#2820)
v4.71.3

v4.71.3

v4.71.3

Bug Fixes

  • decide PR.md by HEAD membership, and unstage a copy the agent staged (#2819)
v4.71.2

v4.71.2

v4.71.2

Bug Fixes

  • the harness deleted a customer's tracked PR.md and wedged the box (#2817)
v4.71.1

v4.71.1

v4.71.1

Bug Fixes

  • the coding lane staged PR.md on a well-onboarded repo (#2815)

Tests

  • triage plan_groups writer against real Postgres (#2814)
v4.71.0

v4.71.0

v4.71.0

Features

  • expedite priority band + plan-group release enumeration (#2813)

Tests

  • pin the raw-task fold's remaining invariants (#2811)
  • pin the no-scratch landing contract properly (#2812)
v4.70.2

v4.70.2

v4.70.2

Bug Fixes

  • the babysit lane committed PR.md onto other people's branches (#2809)
v4.70.1

v4.70.1

v4.70.1

Bug Fixes

  • five fail-open paths in the autonomy metric (#2770)

Db

  • make parallel_safe inexpressible at the triage mint (#2808)
v4.70.0

v4.70.0

v4.70.0

Features

  • A30/T50 — make "wurk is 100% AI-managed" a number a command computes (#2806)

Ci

  • refuse a PR whose squash would erase an issue's audit trail (#2799)

Docs

  • commit the OSS dogfood plan and correct two dead premises (#2805)

Tests

  • pin the overlapping-files race and the lapsed-lease job key (#2802)
v4.69.1

v4.69.1

v4.69.1

Bug Fixes

  • guard the janitor containment handler's audit appends (#2228) (#2793)

Tests

  • the mid-conversation fix link is single-redeem and write-only (#2797)
v4.69.0

v4.69.0

v4.69.0

Features

  • scout conversation — mailbox drain, turn loop, verdict tests (#2796)

Tests

  • the scout eval doc 07 step 1 asked for (#2795)
v4.68.0

v4.68.0

v4.68.0

Features

  • give the grounding tree the reviewed head SHA (#2687) (#2791)
  • The setup pass decides; the renderers write (#2788)
  • a per-task attempt ladder on the task detail page (#2794)

Chores

  • split CLAUDE.md into per-section docs (#2792)
v4.67.0

v4.67.0

v4.67.0

Features

  • make split-runner-claude-md target selectable (#2777)
  • every fleet alert leaves a durable audit row, including its delivery outcome (#2576) (#2785)
  • project task failure_kind + failure_reason (#2574) (#2782)
  • the ranked failure-class table in the ops digest (#2693) (#2786)

Bug Fixes

  • stop advertising a nullable column as a widget sort key, and repair the 7 boards (#2775)
v4.66.0

v4.66.0

v4.66.0

Features

  • cancel a held plan — one stop, the whole plan (#2696) (#2773)

Bug Fixes

  • stamp provider_quota_exhausted on a status-less planner failure (#2710) (#2783)

Docs

  • the reliability bar gates customer admission (#2577) (#2779)
v4.65.1

v4.65.1

v4.65.1

Bug Fixes

  • aitm purge fixtures — arrangement, not assertions (#2653) (#2780)
  • task-failure-report excludes both D4 origins (#2690) (#2778)
v4.65.0

v4.65.0

v4.65.0

Features

  • wire deploy-proof lane end-to-end, INERT until App holds deployments:read (#2767)

Docs

  • Claude mobile in the MCP client list; clients substantiated today (#2776)
v4.64.0

v4.64.0

v4.64.0

Features

  • make PromptRole.Architect reachable (#2683) (#2722)
v4.63.0

v4.63.0

v4.63.0

Features

  • pin dz/onboarding to human-merge, surface the stall (#2765)

Bug Fixes

  • the team coordinator's manifest rejection is terminal after three identical asks (#2763)

Docs

  • split CLAUDE.md into per-section docs (#2755) (#2766)
v4.62.2

v4.62.2

v4.62.2

Bug Fixes

  • refuse a widget whose sort or filter key its reader cannot honour (#2761)

Tests

  • live-DB proof onboarding mints exactly one setup task (#2756)
  • prove tenant isolation on a minted credential, not on a verb's query (#2764)
v4.62.1

v4.62.1

v4.62.1

Bug Fixes

  • run the pre-commit path on native binaries so a box with no node can commit (#2758)
v4.62.0

v4.62.0

v4.62.0

Features

  • the dispatch conversation contract and its error taxonomy (#2724)
v4.61.0

v4.61.0

v4.61.0

Features

  • CI capability without env flag + enrollment flow (#2754)
v4.60.0

v4.60.0

v4.60.0

Features

  • fleet-bearing boxes grant on free/oss_verified (#2753)

Docs

  • Close § 6 in deferred.md — in-cluster compaction loop now measurable (#2752)
v4.59.8

v4.59.8

v4.59.8

Bug Fixes

  • the fleet failure-rate alarm had no denominator, so it could only say 100% (#2751)
v4.59.7

v4.59.7

v4.59.7

Bug Fixes

  • an unconfigured escalation email threw, and the throw did the damage (#2748)
  • every Spanish body link walked the reader back into English (#2749)
  • an operator cancel left its review check wedged for 45 minutes (#2750)
v4.59.6

v4.59.6

v4.59.6

Bug Fixes

  • five surfaces claimed things they could not know (#2747)
v4.59.5

v4.59.5

v4.59.5

Bug Fixes

  • two guards were green over the class they exist to catch (#2745)
v4.59.4

v4.59.4

v4.59.4

Bug Fixes

  • donation create could give away a member's PERSONAL key and private box (#2742)
  • a REFUSED KB write emitted an audit row for a page nobody stored (#2743)
  • box releases hid every halted release behind an undisclosed cap (#2744)
v4.59.3

v4.59.3

v4.59.3

Bug Fixes

  • a RetryError-wrapped refusal was filed as a residual provider failure (#2739)
  • the model gate's rollback restored the very lane it protects against (#2740)
  • a cancelled review left its check run queued forever (#2741)
v4.59.2

v4.59.2

v4.59.2

Bug Fixes

  • two lanes minted a BullMQ jobId BullMQ refuses (#2738)
v4.59.1

v4.59.1

v4.59.1

Bug Fixes

  • the coding lane could not explain its own failures (#2736)
v4.59.0

v4.59.0

v4.59.0

Features

  • hold a plan for approval and a verb to release it (2680) (#2721)

Docs

  • add /bug-sweep, an unattended QA-and-fix campaign command
  • authorize /bug-sweep to land on main directly, scoped
  • /bug-sweep always opens a PR, and may admin-merge it
v4.58.4

v4.58.4

v4.58.4

Bug Fixes

  • an expired credential is not a wiring fault (#2733)
v4.58.3

v4.58.3

v4.58.3

Bug Fixes

  • 59% of issue triage was a non-answer recorded as a success (#2730)
  • a credential re-issue minted the expiry it was replacing (#2731)
v4.58.2

v4.58.2

v4.58.2

Bug Fixes

  • a gate that could not run is not a diff that is red (#2729)
v4.58.1

v4.58.1

v4.58.1

Bug Fixes

  • the factory wasted half its runs and could not say why (#2726)
v4.58.0

v4.58.0

v4.58.0

Features

  • surface the conversation_ref rollup as a plan resource action (#2681) (#2725)
v4.57.0

v4.57.0

v4.57.0

Features

  • give conversation_ref its first reader — a per-conversation rollup (#2681) (#2718)

Bug Fixes

  • a babysit follow-up that landed nothing reported the task done (#2719)
v4.56.0

v4.56.0

v4.56.0

Features

  • give the tool contract a real version — SERVER_INFO only, zero catalog cost (#2686) (#2715)

Bug Fixes

  • a 429-paused BYOK key has no automatic way back — stamp a retry so the re-probe recovers it (#2678) (#2717)
v4.55.1

v4.55.1

v4.55.1

Bug Fixes

  • a reply sent while the scout is thinking is dropped, not queued - no human has ever talked back (#2675) (#2712)
  • dispatch.created records no actor - audit_events.user_id is null on every row (#2677) (#2713)
v4.55.0

v4.55.0

v4.55.0

Features

  • delete the spawn lane, and refuse a box still configured for it (#2629)
v4.54.5

v4.54.5

v4.54.5

Bug Fixes

  • the spawned scout surveyed the runner's own cwd, not the repo it was asked about (#2610)
v4.54.4

v4.54.4

v4.54.4

Bug Fixes

  • renumber byok_key_models onto 0163, price the catalog rebase (#2597)
v4.54.3

v4.54.3

v4.54.3

Bug Fixes

  • triage is flight control — one per org, and nobody rewrites its procedure (#2709)
v4.54.2

v4.54.2

v4.54.2

Bug Fixes

  • one org-slug seam — per-PR worktree isolation has been standing aside since #1556 (#2706) (#2707)
v4.54.1

v4.54.1

v4.54.1

Bug Fixes

  • an empty DZ_RUNNER_ORG must not defeat the account_id fallback (#2702) (#2704)
v4.54.0

v4.54.0

v4.54.0

Features

  • alarm when an account's lane credentials fall below a floor (#2697)
v4.53.0

v4.53.0

v4.53.0

Features

  • a sustained failure-rate alarm, replacing the per-attempt spam (#2692)

Bug Fixes

  • a review that could not provision its grounding tree may not approve (#2688) (#2689)

Docs

  • correct #2196's merge date and flag the contaminated baseline window (#2207) (#2695)
v4.52.5

v4.52.5

v4.52.5

Bug Fixes

  • stamp failure codes on the [team] lane (#2685)
v4.52.4

v4.52.4

v4.52.4

Bug Fixes

  • resolve the devops harvest and report collector per assignment (#2664) (#2670)
  • close the two swallowed failures in the review lane (#2674)
v4.52.3

v4.52.3

v4.52.3

Bug Fixes

  • the no-tools clause belongs at the end of the prompt, not the top (#2661) (#2665)
v4.52.2

v4.52.2

v4.52.2

Bug Fixes

  • classify provider quota exhaustion as a CHARGED failure kind (#2669)
v4.52.1

v4.52.1

v4.52.1

Bug Fixes

  • gh.prs.merge asks whether a review happened (#2099) (#2666)
v4.52.0

v4.52.0

v4.52.0

Features

  • per-sample provider fallback for review ensembles (#2203) (#2559)

Docs

  • the KNOWN DEAD alert section is false — name the live producer (#2663)
v4.51.0

v4.51.0

v4.51.0

Features

  • CI checks, prior discussion and sibling tests reach the reviewer (#2204) (#2596)

Bug Fixes

  • gate-4 reachability — read merge state off the PR-owning task (#2635) (#2658)
  • the ensemble-validation verdict is four-way + Q1 caveat (#2660)

Tests

  • guard the no_usable_keys pacer is wired into the claim (closes #2649) (#2656)
  • derive the hold reason from its symbol — #2649's last criterion (#2662)
v4.50.1

v4.50.1

v4.50.1

Bug Fixes

  • the events SQL and its reader now name one key (closes #2646) (#2651)

Review

  • validate post-#2196 ensemble telemetry against the 64.4% baseline (#2207) (#2655)
v4.50.0

v4.50.0

v4.50.0

Features

  • refuse an inference endpoint that answers 200 without being an API (#2630)

Bug Fixes

  • bound the unbounded reapStaleRunner lane — stamp a kind, charge an attempt (#2647)
v4.49.0

v4.49.0

v4.49.0

Features

  • a mandatory pass matrix — hunk coverage cannot say WHICH kind of review ran (#2642)
v4.48.0

v4.48.0

v4.48.0

Features

  • an approved-model list per lane, refused loudly at dispatch (#2567) (#2640)

Bug Fixes

  • key the box workspace on account_id when DZ_RUNNER_ORG is absent (#2569) (#2644)
v4.47.2

v4.47.2

v4.47.2

Bug Fixes

  • stamp the team lane's no-checkout refusal too (#2643)
v4.47.1

v4.47.1

v4.47.1

Bug Fixes

  • a quiet provider is a transport fault, not a model that said nothing (#2636)
  • stamp machine error codes at every named failure seam (#2570) (#2639)
v4.47.0

v4.47.0

v4.47.0

Features

  • category regression fixtures and recall (#2206) (#2595)
  • per-pass model routing + per-pass cost observability (#2550) (#2637)
v4.46.0

v4.46.0

v4.46.0

Features

  • back the fleet dispatch tool with a real ToolContext port (#2632)

Bug Fixes

  • the none lane still records the #513 area hold (#2633)

Docs

  • the drain docblock claimed an 11-minute ceiling and a free redelivery (#2628)
v4.45.1

v4.45.1

v4.45.1

Bug Fixes

  • main is red on a fixture for a throw that no longer exists (#2631)

Docs

  • one PR in flight at a time, and the incident that proves why (#2634)
v4.45.0

v4.45.0

v4.45.0

Features

  • give the maintainer session a fleet dispatch tool (#2011) (#2626)
  • ensemble-hardening-validation (#2207) (#2558)
  • an approved-model list per lane, refused loudly at dispatch (#2627)

Bug Fixes

  • a wall clock was the shadow sweep's CAS token, so a stale write won (#2624)

Docs

  • two rules the fan-out has no field for, and evidence for the three unbuilt (#2623)
v4.44.0

v4.44.0

v4.44.0

Features

  • a customer sends a PR url, and one command says what broke (#2621)
  • alert on the three failures that reported success (#2620)

Bug Fixes

  • babysit called a PR mergeable that GitHub refuses, then PUT it 19 times (#2618)
  • a deleted janitor kept firing daily and box-warden ran two schedules at once (#2619)
  • bound the whole session with the wall-clock leash, not just the model loop (#2622)
v4.43.2

v4.43.2

v4.43.2

Bug Fixes

  • the coding harness ran exactly one turn, because omitting stopWhen means stepCountIs(1) (#2616)
  • the tree contract's coding evidence read idempotent redelivery as a wrong tree (#2617)

Docs

  • capture the prod-debugging path a fresh session re-derives from zero (#2615)
v4.43.1

v4.43.1

v4.43.1

Bug Fixes

  • triage escalated 7 asks to a human and hid all 7 from them (#2614)
v4.43.0

v4.43.0

v4.43.0

Features

  • give the plan DAG a dead-tail exit, and make a model that never reaches turn one visible (#2605)
  • declare which tree each lane may read, and refuse the scout on an unproven one (#2613)

Bug Fixes

  • the repo gate took a fleet box down, so scope it to the change (#2612)
v4.42.2

v4.42.2

v4.42.2

Bug Fixes

  • the reviewer filed major findings about code its own fan-out withheld from it (#2611)
v4.42.1

v4.42.1

v4.42.1

Bug Fixes

  • a migration whose journal when is not the newest is silently never applied (#2602)
  • the team coding lane handed setsid a sentence, so every native box failed in 2ms (#2607)

Chores

  • give the fleet this repo's own gate, not a generic default ending in bare bun test (#2608)
v4.42.0

v4.42.0

v4.42.0

Features

  • the reviewer discloses a takeover, salvages a sample, and can finally read the repo's memory (#2601)
v4.41.0

v4.41.0

v4.41.0

Features

  • the fleet self-heals, and a personal box can serve its owner across orgs (#2600)
v4.40.0

v4.40.0

v4.40.0

Features

  • operator-initiated credential re-issue verb (#2547) (#2593)
  • persist NATS credential expiry and alert on failure to refresh (#2543) (#2590)

Bug Fixes

  • the coding lane failed 100% of runs on a coordinator that echoed the manifest schema (#2599)
v4.39.0

v4.39.0

v4.39.0

Features

  • enumerate the deterministic failure kinds and budget them at today's values (#2565) (#2592)
  • task-failure-report — the repeatable failure measurement (#2564) (#2591)
v4.38.3

v4.38.3

v4.38.3

Bug Fixes

  • write-time tenant derivation + computed_at CAS on the shadow upsert (#2202) (#2587)

Chores

  • stop casting blocking verdicts, so ci-only is reachable (#2585)
v4.38.2

v4.38.2

v4.38.2

Bug Fixes

  • a box re-issues its NATS credential twice on boot (#2546) (#2584)
v4.38.1

v4.38.1

v4.38.1

Bug Fixes

  • name the files the devops powers read, so the lane can produce anything (#2428) (#2583)

Docs

  • credential runbook, and correct the never-refreshed claim (#2582)
v4.38.0

v4.38.0

v4.38.0

Features

  • --unit-only converge (#2555) (#2581)
v4.37.0

v4.37.0

v4.37.0

Features

  • shadow-match pipeline — per-PR OUR-vs-CodeRabbit comparison rows (#2202) (#2579)
  • provider model enumeration, pre- and post-capture (#2556)

Bug Fixes

  • address the #2579 review round — fence re-stamp, one-seam terminal statuses, narrowed catch, shutdown close (#2580)
v4.36.0

v4.36.0

v4.36.0

Features

  • wire fleet runner through review pipeline (#2557)
v4.35.2

v4.35.2

v4.35.2

Bug Fixes

  • let the runner write its own profile dir, and name a blocked write (#2539) (#2560)
v4.35.1

v4.35.1

v4.35.1

Bug Fixes

  • discover repos that predate the App install, dormant (#2553)
v4.35.0

v4.35.0

v4.35.0

Features

  • token expiry policy, last_used_at, OAuth grant provenance (#2541)
v4.34.0

v4.34.0

v4.34.0

Features

  • connect panel + signed-out redirect + CORS + tests (#2538)
v4.33.0

v4.33.0

v4.33.0

Features

  • waitlist wall, invite by email, pending list, durable audit (#2536)
v4.32.1

v4.32.1

v4.32.1

Bug Fixes

  • embed failing box hostname in task_failed alerts (#2422) (#2537)
v4.32.0

v4.32.0

v4.32.0

Features

  • invite landing, return-to leg, and verdict tests (#2535)
v4.31.0

v4.31.0

v4.31.0

Features

  • origin-scoped LLM credentials + all-lane prose cascade (plan 101 slice 11, steps 3-4) (#2534)
v4.30.0

v4.30.0

v4.30.0

Features

  • require editor tags, prove fan-out idempotency (#2533)
v4.29.3

v4.29.3

v4.29.3

Bug Fixes

  • a drain mid-verify was misreported as a red gate (#2531)

Docs

  • the user lifecycle arc — invite to org scale
  • lineage, the worked example, and the collapsed plan levels
  • a deferred register for the arc, and the multi-people axis
  • triage as air traffic control — owner-scoped mutex, dupe-of, tools
  • onboarding as an agent lane, and spend the structural doors now
  • what buying more VMs and subscriptions actually buys
  • the two capacity paths — top up a balance, or add a plan
  • "how is developerz.ai doing" — status and capacity over MCP
  • parameterized MCP tools — the catalog fix that is worth doing
  • one core, two consumers — agents and humans call the same MCP
  • record the two compaction regimes
  • detect the context window instead of hardcoding it
  • deduce price and context window from the provider
  • record the conversion finding in the tracker, drop personal names
  • restore status.yml evidence as folded block scalars (#2532)
v4.29.2

v4.29.2

v4.29.2

Bug Fixes

  • four janitor lanes ran 2,634 times in a week and could not have acted once (#2529)
  • one path adjudicator, a per-repo board that admits its cap, and 529 stalled slices counted as in flight (#2530)
v4.29.1

v4.29.1

v4.29.1

Bug Fixes

  • verify the runner_error storm's secondary clusters against main, pin the team fetch's auth env (#2524)
v4.29.0

v4.29.0

v4.29.0

Features

  • converge join-owed env keys on credential roll (#2527)
  • triage decides and mints, and a schedule verdict that mints nothing is now unrepresentable (#2525)
v4.28.0

v4.28.0

v4.28.0

Features

  • 1,052 escalations reached nobody, and the detector would have been an email (#2521)

Bug Fixes

  • 529 plan groups were stalled and nothing could say so (#2523)
  • resolve the ssh user from ~/.ssh/config, and name the override on auth failure (#2423) (#2522)
v4.27.6

v4.27.6

v4.27.6

Bug Fixes

  • require the two fleet-name fields, and cover the hostname rung (#2519)
v4.27.5

v4.27.5

v4.27.5

Bug Fixes

  • the Agents panel renamed every named box, so one fleet read as two (#2515)
  • the raw-task lane had five producers and three postures, and the divergent one silently re-armed nothing (#2517)
v4.27.4

v4.27.4

v4.27.4

Bug Fixes

  • three raw-task producers filed asks that nothing was ever told about (#2516)
v4.27.3

v4.27.3

v4.27.3

Bug Fixes

  • a blocker answer filed an ask labelled as the wrong inlet, carrying no access, that no index could find (#2510)

Docs

  • both docs pages said we publish no check run, and #2379 shipped one (#2513)
  • the spec said shipped work was missing and missing work was shipped (#2514)
v4.27.2

v4.27.2

v4.27.2

Bug Fixes

  • 73 triage settles left no audit row, and the guard that should have caught it named every kind but this one (#2507)
  • a raw-task nudge got one attempt, so a single Redis blip stranded the ask (#2508)
  • a webhook dedupe key was a prefix of untrusted text, so two distinct asks collapsed into one (#2509)
v4.27.1

v4.27.1

v4.27.1

Bug Fixes

  • every babysit follow-up declared an empty file set, re-serialising the repo it ran on (#2504)
  • a folded or glob-spelled plan group declared free concurrency it had not proven (#2505)
  • parallel_safe could be granted by a config key and by the wire, with nothing checked either way (#2506)
v4.27.0

v4.27.0

v4.27.0

Features

  • 2,421 unread files, and nothing could say which of three problems to fix (#2502)
v4.26.0

v4.26.0

v4.26.0

Features

  • the reviewer reasoned about hunks and was told it read files in full (#2501)
v4.25.1

v4.25.1

v4.25.1

Bug Fixes

  • the reviewer could not read the prices #2490 had just added (#2498)
v4.25.0

v4.25.0

v4.25.0

Features

  • 151M tokens of real work displayed as free (#2496)
v4.24.1

v4.24.1

v4.24.1

Bug Fixes

  • 99.99% of all recorded spend is a fallback ceiling wearing the costume of a price (#2490)

Chores

  • CodeRabbit auto-review was off for a quota reason, which is not a reason (#2491)
v4.24.0

v4.24.0

v4.24.0

Features

  • a 2,388-node run timeline with no filter, and a refusal that rendered as "no events yet" (#2488)
v4.23.0

v4.23.0

v4.23.0

Features

  • a run belonging to another org was diagnosable only by raw psql (#2484)
  • 100% of our error volume is on the box, and the box reported to nothing (#2485)

Bug Fixes

  • round-over-round dedupe suppressed ONE finding in a month, and three silent decisions had no number (#2486)
v4.22.2

v4.22.2

v4.22.2

Bug Fixes

  • setup mode minted no per-claim token, so its landing could never authenticate (#2480)

Refactors

  • the git-auth env fold was a function in one lane and a convention in three (#2481)
v4.22.1

v4.22.1

v4.22.1

Bug Fixes

  • a diff nobody fetched whole could post a real APPROVE, and the fan-out ignored the model's budget (#2478)

Docs

  • the onboarding marker was backfilled by a migration, not by the escape hatch (#2479)
v4.22.0

v4.22.0

v4.22.0

Features

  • freedom + power + quality > cost — the caps that cost coverage come out (#2475)
v4.21.4

v4.21.4

v4.21.4

Bug Fixes

  • the team lane's clone gate could not see the token the claim had just minted (#2473)
  • per-PR worktree isolation never worked once, because a bare clone has no remote-tracking refspec (#2474)
v4.21.3

v4.21.3

v4.21.3

Bug Fixes

  • a full confirm page made every PR absence unprovable, so no coding run could open one (#2472)
v4.21.2

v4.21.2

v4.21.2

Bug Fixes

  • the stacked-PR-links lane edits a customer's PR body and recorded nothing (#2471)
v4.21.1

v4.21.1

v4.21.1

Bug Fixes

  • a 13-file manifest was thrown away because two prose blurbs ran twenty characters long (#2468)
  • box logs has never returned a report — the runner-log presign port was never wired (#2470)
v4.21.0

v4.21.0

v4.21.0

Features

  • the platform that watches your errors has never seen one of its own (#2463)

Bug Fixes

  • the install page's .maintainer.yml silently turned ON what it claimed to limit (#2462)
  • setup proposed refining the CLAUDE.md it had just written, and the e2e pinned that as correct (#2466)

Performance

  • ratchet the catalog budget onto a measurement, and make the ceiling observably trip (#2465)
v4.20.2

v4.20.2

v4.20.2

Bug Fixes

  • a coordinator that never answered was reported as three missing manifest fields (#2461)
v4.20.1

v4.20.1

v4.20.1

Bug Fixes

  • onboarding a repo is what stopped its coding lane committing (#2458)
  • a model that ignores forced tool_choice threw away a whole survey (#2459)
v4.20.0

v4.20.0

v4.20.0

Features

  • setup writes a specialist roster and the editors that write those files never saw one (#2455)

Bug Fixes

  • every task the platform ever assigned left no durable record (#2457)
v4.19.0

v4.19.0

v4.19.0

Features

  • the role slot existed for months and the lane every report and babysit run spawns from passed no role (#2453)

Bug Fixes

  • outcome_kind said pr for 495 scout tasks that never open one (#2451)
v4.18.1

v4.18.1

v4.18.1

Bug Fixes

  • a model that answered ALMOST right lost the entire answer (#2450)
v4.18.0

v4.18.0

v4.18.0

Features

  • a repo could not say how its own scout or reviewer should behave (#2449)
v4.17.0

v4.17.0

v4.17.0

Features

  • the scout composed its prompt at import, so no repo could ever shape it (#2448)
v4.16.0

v4.16.0

v4.16.0

Features

  • an out-of-credits account enqueued a review no box could finish (#2446)
v4.15.0

v4.15.0

v4.15.0

Features

  • a raised blocker told nobody, so one was raised and none was ever answered (#2445)

Bug Fixes

  • a skipped checkout was surveyed as if it were a tree, and the refresh verdict reached nobody (#2443)

Docs

  • the scout paperwork described a scout that does not exist (#2447)
v4.14.2

v4.14.2

v4.14.2

Bug Fixes

  • a worker-pinned box claimed scout sessions and ran them through the coding adapter (#2442)
v4.14.1

v4.14.1

v4.14.1

Bug Fixes

  • the scout's plan call promised repo_ask and mounted only response, so 83% of plans were floor plans (#2440)
  • the read-only tool set was restated in seven places and derived in none (#2441)
v4.14.0

v4.14.0

v4.14.0

Features

  • make the onboarding pass leave an old repo actually AI-first (#2432)

Bug Fixes

  • the scout reasoned on the cheapest tier because its route was declared and never returned (#2439)
v4.13.0

v4.13.0

v4.13.0

Features

  • mount the blocker verb and give a missing credential a link that supplies it (#2427)
  • a blocked scout raises a durable blocker, and it expires (#2431)
v4.12.5

v4.12.5

v4.12.5

Bug Fixes

  • every conditions tick died at gatherSnapshot — unqualified runners.id in the idle subquery (#2420)
v4.12.4

v4.12.4

v4.12.4

Bug Fixes

  • a null optional field threw away the whole review (#2418) (#2419)
v4.12.3

v4.12.3

v4.12.3

Bug Fixes

  • the team lane's git had no credential on a pinned checkout (#2415) (#2416)
  • the install stamped a funnel state that never happened (#2400) (#2417)
v4.12.2

v4.12.2

v4.12.2

Bug Fixes

  • the box strings told an agent to fix a box that was correct (#2404) (#2413)
  • the 401 with no credential named no way to get one (#2404) (#2414)
v4.12.1

v4.12.1

v4.12.1

Bug Fixes

  • the funnel's only progress signal could be self-declared (#2404) (#2412)
v4.12.0

v4.12.0

v4.12.0

Features

  • /join installs and starts the signed dz-runner service (#2404) (#2411)
v4.11.1

v4.11.1

v4.11.1

Bug Fixes

  • the join lane installed a coding agent and never named it (#2410)
v4.11.0

v4.11.0

v4.11.0

Features

  • an enrolled box was never told where the fleet is (#2408)

Bug Fixes

  • box_unhealthy null-guard — an unassigned runner fed '' into the uuid column (#2409)
v4.10.0

v4.10.0

v4.10.0

Features

  • an agent driving MCP could not find out what to do next, or why it was refused (#2406)

Bug Fixes

  • the Select repos step contained no repos, and two more steps had no way out (#2407)
v4.9.7

v4.9.7

v4.9.7

Bug Fixes

  • a scout task was held forever by a gate meant for coding work (#2405)
v4.9.6

v4.9.6

v4.9.6

Bug Fixes

  • the published join lane never starts the runner, and the quickstart hands out a file it calls safe (#2403)
v4.9.5

v4.9.5

v4.9.5

Bug Fixes

  • approve resolved a login to one row at random, so three people sat locked out for a month (#2401)
  • the install funnel wrote its trail to stdout, so prod holds zero onboarding audit rows (#2402)

Docs

  • a PDF engine, and the Spanish commercial deck built on it
v4.9.4

v4.9.4

v4.9.4

Bug Fixes

  • wire REVIEW_GENERATION_BUDGET to its callers, where it was never routed (#2399)
v4.9.3

v4.9.3

v4.9.3

Bug Fixes

  • a re-review no longer repeats a finding it already posted (#2398)
v4.9.2

v4.9.2

v4.9.2

Bug Fixes

  • a failed sample now records WHY, instead of the model's echoed answer (#2397)
  • a schema-default change never reached a repo whose config had not changed (#2396)
v4.9.1

v4.9.1

v4.9.1

Bug Fixes

  • a finding is only ever cut at a markdown-safe offset (#2395)
v4.9.0

v4.9.0

v4.9.0

Features

  • the review says WHICH model read the diff and what it cost on your key (#2394)

Bug Fixes

  • a queued check run now has a deadline, so it cannot strand a merge (#2393)
v4.8.0

v4.8.0

v4.8.0

Features

  • the reviewer files a real GitHub verdict, and dismisses its own stale block (#2391)
v4.7.4

v4.7.4

v4.7.4

Bug Fixes

  • a truncated diff posted as a complete review, with full approve authority (#2390)
v4.7.3

v4.7.3

v4.7.3

Bug Fixes

  • four filter-chain defects that deleted real findings before anyone could see them (#2389)
v4.7.2

v4.7.2

v4.7.2

Bug Fixes

  • an incremental pass anchored findings against a diff wider than the PR, and GitHub refused the whole review (#2387)
  • the reviewer was told to call tools the wire does not bind, and every obedient sample died (#2388)
v4.7.1

v4.7.1

v4.7.1

Bug Fixes

  • every follow-up on a repo with secrets ran against a tree rebased off the PR head (#2386)
v4.7.0

v4.7.0

v4.7.0

Features

  • the reviewer publishes a check run, so a running review is visible (#2379)
v4.6.0

v4.6.0

v4.6.0

Features

  • wire the resource pass into the fleet-alerts tick (#2360 follow-up) (#2377)
v4.5.0

v4.5.0

v4.5.0

Features

  • backlog, no-work, and idle alert tick (#2371)
  • config-drift alert + daily fleet digest (#2374)
v4.4.0

v4.4.0

v4.4.0

Features

  • model/API failure classification alerts (#2376)
  • resource alerts + sustained-condition state (#2375)
v4.3.0

v4.3.0

v4.3.0

Features

  • box_unhealthy + keys_exhausted alerts (#2372)
  • stuck task alert emissions — warden observation + reaper repair (#2373)
v4.2.0

v4.2.0

v4.2.0

Features

  • task started/succeeded/failed alerts on the fleet.alert lane (#2370)
v4.1.0

v4.1.0

v4.1.0

Features

  • the fleet.alert Discord lane + box offline/recovery alerts (#2369)

Docs

  • arc 101 status was nine slices behind the code (#2365)
v4.0.0

v4.0.0

v4.0.0

BREAKING CHANGES

  • delete DZ_TEAM_FANOUT and the unrun branch it forked (#2344)

Features

  • add per-task hold writer for capability-escalation sweep (#2148) (#2160)
  • delete DZ_TEAM_FANOUT and the unrun branch it forked (#2344)
  • a repo is not AI-first until something proved it (#2364)
v3.1.0

v3.1.0

v3.1.0

Features

  • a prompt ceiling nobody measured is not a ceiling (#2354)
v3.0.1

v3.0.1

v3.0.1

Bug Fixes

  • remove dead GateRefusedError escalation branch (#2208)
  • add missing escalation categories to OPERATIONAL enum (#2114) (#2155)
  • raise max_connections to 600 for integration tests (#2240)

Chores

  • commit gate-1 (#2201) result files for the fixtures work (#2206) (#2265)

Tests

  • add concurrent-append test for janitor audit chain (#2185) (#2188)
v3.0.0

v3.0.0

v3.0.0

BREAKING CHANGES

  • the signature proved the source, never the tenant (#2340)

Features

  • the signature proved the source, never the tenant (#2340)

Bug Fixes

  • an editor that exited before reading its brief killed the runner (#2353)
v2.2.0

v2.2.0

v2.2.0

Features

  • the review disclosure is a footer, not a header (#2350)
  • invitations, and a tool surface measured before it was redesigned (#2351)
  • the pr_open stage, so a pushed branch becomes a pull request (#2352)

Docs

  • slice 02 was marked done off the PRs carrying its number, not its steps (#2349)
v2.1.1

v2.1.1

v2.1.1

Bug Fixes

  • a Go template miss looked exactly like a missing image (#2347)
  • a cross-repo plan stamped one repo over its whole DAG (#2348)
v2.1.0

v2.1.0

v2.1.0

Features

  • the devops role, retrievable memory, and why nothing is moving (#2343)

Bug Fixes

  • the digest resolver refused six images it could not explain (#2346)
v2.0.0

v2.0.0

v2.0.0

BREAKING CHANGES

  • six releases shipped with no attestation because a 250-byte file could not be uploaded (#2342)

Bug Fixes

  • six releases shipped with no attestation because a 250-byte file could not be uploaded (#2342)
v1.21.0

v1.21.0

v1.21.0

Features

  • a deferred-to reviewer that cannot review left the PR unreviewed (#2332)
  • the bot's PR never said how the work reached the fleet (#2335)
  • three mechanics that notice, plus the groomer bug that retired its own work (#2336)

Bug Fixes

  • a snapshot lost what no migration dropped, and the next generate re-created it (#2338)

Docs

  • record what arc 101 actually shipped, and what is blocked (#2339)
v1.20.0

v1.20.0

v1.20.0

Features

  • a scout plan could never run at concurrency above one (#2329)
  • one tool call per round trip was the agent's speed ceiling (#2331)
  • a hand-maintained exclusion list put the box's own scratch in customer PRs (#2333)

Docs

  • the parallel_safe page still described the channel #2329 removed (#2330)
v1.19.1

v1.19.1

v1.19.1

Performance

  • the PR lifecycle asked GitHub what changed 3,754 times a day to learn about 381 changes (#2328)
v1.19.0

v1.19.0

v1.19.0

Features

  • the raw task — one object, one admission door (#2319)
v1.18.6

v1.18.6

v1.18.6

Bug Fixes

  • we published a "no egress" claim into customer repos that was untrue of the config we shipped (#2316)
  • a sub-agent's output existed only in memory, so a failed parse was a lost run (#2317)

Docs

  • restate the vision as a role cast and plan the arc to the north star (#2304)
  • work sources, the claim gesture, and the onboarding checklist (#2305)
  • one home for harness scratch, and a harness that wakes the agent (#2306)
  • deferred register, and CodeGraph's lifetime + the egress claim we publish (#2307)
v1.18.5

v1.18.5

v1.18.5

Bug Fixes

  • the turn cap was a work budget, so it failed work (#2303)
v1.18.4

v1.18.4

v1.18.4

Bug Fixes

  • a signed attestation named zero images while six of them shipped (#2302)
v1.18.3

v1.18.3

v1.18.3

Bug Fixes

  • the re-entrant checkout lock leaked its slot on out-of-order dispose (#2301)
v1.18.2

v1.18.2

v1.18.2

Bug Fixes

  • a report upload decided whether the code was good (#2300)
  • one cancelled follow-up parked a finished PR forever (#2299)
v1.18.1

v1.18.1

v1.18.1

Bug Fixes

  • a babysit run queued behind itself and held the box for an hour (#2298)
v1.18.0

v1.18.0

v1.18.0

Features

  • a refusing box reports its own refusal (#1917) (#2184)
  • land box boot-refusal reports as account-anchored audit rows (#1917) (#2190)
  • ship the repo's knowledge digest on the assignment, not the template (#2273)
  • code.recall — the coding lane can read a KB page, not just its index (#2279)
  • the area gate unlocks on proof that two file sets are disjoint (#2278)
  • kb_page_get — the coding lane can now actually fetch a page (#2282)
  • the built-in harness is the default; spawning a CLI is the opt-in (#2284)
  • declare each PR's own files, so disjoint reviews stop queueing behind each other (#2291)
  • the agent finally reads the house rules it has been writing for the maintainer (#2292)

Bug Fixes

  • attribute a boot refusal to the box, not the release (#1917) (#2176)
  • acknowledge DZ_TEAM_FANOUT as deliberate soak flag (#2152)
  • a failed dependency no longer deadlocks its dependents forever (#2272)
  • the KB gardener could not keep up with its own inflow (#2274)
  • monitor mode says out loud that it will never be offered work (#2275)
  • widen the boot() contract to match what monitor uses it for (#2276)
  • the KB digest stops naming tools the reader does not have (#2277)
  • a heartbeat that reports silence is no longer counted as progress (#2280)
  • refuse the assignment rather than spawn a coding CLI at the runner's cwd (#2281)
  • ui-debugger reached only repos that already had UI tests (#2283)
  • every box reported itself idle — derive the current task, drop the column (#2285)
  • a merged PR never retired its lane tasks, so every merge leaked a queue row (#2286)
  • an 8k output ceiling threw away seven minutes of finished review work (#2288)
  • the PR projection drifts from GitHub and nothing repaired it (#2289)
  • code.read handed the model 60,000 replacement characters for a PNG (#2290)
  • a dead inference connection is no longer indistinguishable from a thinking model (#2293)
  • six defects found by pointing the QA harness at a live customer account (#2294)
  • the stall guard was timing the model, and killing runs for thinking (#2295)
  • tenancy, credentials, and the boxes nothing could read (#2296)
  • the coding lane staged the harness's own scratch into customer commits (#2297)

Chores

  • un-yank releases condemned by autoroll cascade (#2170)

Docs

  • north-star — what the platform is for, from homework to monorepo (#2287)

Other

  • Security design: IdP re-authentication flow (#2209)
v1.17.3

v1.17.3

v1.17.3

Bug Fixes

  • wrap unguarded audit appends so a failed append doesn't drop the pass (#2263)
v1.17.2

v1.17.2

v1.17.2

Bug Fixes

  • two deliveries of one error minted two tasks, two boxes, two PRs (#2260)
v1.17.1

v1.17.1

v1.17.1

Bug Fixes

  • a scout plan opted out of the same-area gate while a box held the area (#2261)
v1.17.0

v1.17.0

v1.17.0

Features

  • the agent that did the work writes the pull request (#2258)
v1.16.5

v1.16.5

v1.16.5

Bug Fixes

  • the supersede guard was declared, implemented, and never connected (#2259)
  • the provider label named the wire, so every OpenRouter run said openai (#2256)
v1.16.4

v1.16.4

v1.16.4

Bug Fixes

  • every commit the fleet ever pushed was attributed to nobody (#2257)
v1.16.3

v1.16.3

v1.16.3

Bug Fixes

  • an abandoned attempt's edits rode into the next run's pull request (#2255)
v1.16.2

v1.16.2

v1.16.2

Bug Fixes

  • the stall guard killed runs for using a timeout the tool granted (#2253)
  • multi_bash declared no budget at all, and its timeout is per command (#2254)
v1.16.1

v1.16.1

v1.16.1

Bug Fixes

  • the floor named the coding task after the scout that produced it (#2249)
  • a reply_bot follow-up pushed a file it invented onto the branch (#2250)
  • make matching report-outcome redelivery a real no-op (#1969 follow-up) (#2251)
  • revert #2250 and fix what actually caused it — an impossible verb (#2252)
v1.16.0

v1.16.0

v1.16.0

Features

  • top-up degraded ensemble bursts and floor approve authority on sample completion (#2083) (#2196)
  • let .maintainer.yml map qualification labels to a repo's own names (#1555) (#2244)
  • keep a PR's follow-ups on the box that holds its tree (#2242)

Bug Fixes

  • a CI fix that never reached the PR it was minted for (#2236)
  • a superseded CI run made the fleet fix green pull requests (#2243)
  • a box that restarts parked its task for three hours (#2241)
  • the harness was committing its own telemetry to customer branches (#2245)
  • the follow-up's git fetch carried no credential at all (#2246)
  • a follow-up that can never be re-minted now says so (#2247)
  • a completed report task never had its outcome_kind corrected (#1969) (#2248)
v1.15.4

v1.15.4

v1.15.4

Bug Fixes

  • a degraded review ensemble may not post a real APPROVE (#2083) (#2237)
v1.15.3

v1.15.3

v1.15.3

Bug Fixes

  • add resolved state to prevent terminal declines (#2227)
  • add resolved state to prevent terminal declines (#2227) (#2238)

Chores

  • add task marker for #2210 (#2234)
v1.15.2

v1.15.2

v1.15.2

Bug Fixes

  • write_creds converges ownership when creds already exist (#2215) (#2233)
v1.15.1

v1.15.1

v1.15.1

Bug Fixes

  • the integration lane ran out of Postgres connections, not assertions (#2231)
  • a native box could code and could not scout (#2230)
  • every shipped PR was recorded as a failed run (#2229)
v1.15.0

v1.15.0

v1.15.0

Features

  • a built-in coding harness, so the box stops shelling out (#2220)

Bug Fixes

  • a queued review stalls every merge behind it (#2221)
  • an embedding provider can hang the task-create request, twice (#2222)
  • more boxes bought nothing, and a wedged lock took the pool (#2224)
  • a scout on a BYOVM box plans against a repo it cannot read (#2219)

Docs

  • the enrollment runbook did not survive a fresh box (#2218)

Tests

  • add cross-pod concurrent-append test for (session_id, prev_hash) retry
v1.14.2

v1.14.2

v1.14.2

Bug Fixes

  • classify config/ deliberately — dev/test GREEN, everything else parks (#2210) (#2212)
  • boot-guard every login redirect against the route table (#2173) (#2217)
  • compose the follow-up commit subject from the staged paths (#2192) (#2225)

Tests

  • live-Postgres cross-pod race + non-chain never-retried pins (#2185) (#2216)
v1.14.1

v1.14.1

v1.14.1

Bug Fixes

  • publish authorization_endpoint on the API origin (#2183)
  • inject DZ_INSTALLATION_TOKEN into the coding lane's checkout env (#2211)
v1.14.0

v1.14.0

v1.14.0

Features

  • consume nc.status() at the dial seam, alert on permission denials (#2193) (#2197)

Bug Fixes

  • add 7-day expiry to NATS creds and clear natsCredsRef on revocation
  • gate the completed line on the same pr the checklist reads (#2115) (#2199)
v1.13.1

v1.13.1

v1.13.1

Bug Fixes

  • drain needs-area / needs-size and remember a maintainer-side decline (#2162) (#2194)
v1.13.0

v1.13.0

v1.13.0

Features

  • tell an issue author what the pipeline cannot run, at filing time (#2123)

Bug Fixes

  • OIDC_REDIRECT_URI points at /auth/sso/callback (#2173) (#2180)
v1.12.0

v1.12.0

v1.12.0

Features

  • narrate the terminal failure as a bounded Reason line (#1966) (#2187)

Docs

  • declare this repo's admissible owner handles (#2165)
v1.11.0

v1.11.0

v1.11.0

Features

  • durable janitor audit chains on platform parent (#2116) (#2179)

Tests

  • the failed-ledger-read case refuses something, instead of being starved (#2166)
v1.10.0

v1.10.0

v1.10.0

Features

  • resolve BASE_REF from newest successful run (#2178)
v1.9.2

v1.9.2

v1.9.2

Bug Fixes

  • add SESSION_COOKIE_DOMAIN to production.yml (#2182)
v1.9.1

v1.9.1

v1.9.1

Bug Fixes

  • the origin's HTML pages were hardcoded light, and each held its own palette (#2175)
v1.9.0

v1.9.0

v1.9.0

Features

  • add unlimited_spend GrantKind (#2163)

Bug Fixes

  • defer completion when ledger read fails on completing round (#2164) (#2169)
v1.8.5

v1.8.5

v1.8.5

Bug Fixes

  • derive pull ledger bound from channel window constant (#2167)
v1.8.4

v1.8.4

v1.8.4

Bug Fixes

  • make box-capability probe fault visible in setup (#2159)
  • queue depth cap allows one task for Free/OSS tiers (#2161)
  • translate the AI-SDK base URL at one seam, and resolve the flat-rate default at read time (#2122)

Tests

  • add .mcp.json integrity guard (#2158)
v1.8.3

v1.8.3

v1.8.3

Bug Fixes

  • a fleet PR is rendered before its run can say which model wrote it, so it never names one (#2154)
v1.8.2

v1.8.2

v1.8.2

Bug Fixes

  • refusing a cyclic tool-service config costs 2.2 seconds of blocked event loop (#2153)
v1.8.1

v1.8.1

v1.8.1

Bug Fixes

  • the box names a provenance path it never created, so the harness's append ENOENTs into silence (#2150)

Tests

  • the #513 board test asserts two stream chunks land in one tick, which is true only on a loaded box (#2151)
v1.8.0

v1.8.0

v1.8.0

Features

  • a fleet PR names the model that actually drove it, and links to the run that shows how (#2146)
v1.7.0

v1.7.0

v1.7.0

Features

  • add full escalation vocabulary to issue/pr loops (#2139)
v1.6.0

v1.6.0

v1.6.0

Features

  • add observer_blind to box offline payloads (#2126) (#2137)
v1.5.0

v1.5.0

v1.5.0

Features

  • advertise and sync box capability tokens on presence beats (#2136)
v1.4.1

v1.4.1

v1.4.1

Bug Fixes

  • recover escalation category from audit trail (#2114) (#2135)
v1.4.0

v1.4.0

v1.4.0

Features

  • reconcile diverged local base via parked ref (#2134)

Bug Fixes

  • the rollout target moves forward, so a build published mid-pass is not stranded (#2124)
v1.3.0

v1.3.0

v1.3.0

Features

  • stamp observer_blind on sweep offline alerts (#2133)

Tests

  • pin .mcp.json as fail-closed UNKNOWN (#2132)
v1.2.0

v1.2.0

v1.2.0

Features

  • add per-event email list-unsubscribe (#2131)
v1.1.0

v1.1.0

v1.1.0

Features

  • add resolver_refused widget page refusal (#2130)

Docs

  • delete stale 1847 live-test-fence-ref plan doc (#2129)
v1.0.0

v1.0.0

v1.0.0

BREAKING CHANGES

  • delete the digest policy block, which was documented and unreadable (#2095)
  • the spend cap meters real model spend, and has no platform default (#2097)

Features

  • delete the digest policy block, which was documented and unreadable (#2095)
  • give RunnerCapability.Ci a way to be granted, and prove every capability is reachable (#2096)
  • a first-class router provider on the Anthropic wire (#1904) (#2102)
  • setup mode drafts a per-repo specialist roster (#2121)

Bug Fixes

  • a rate limit is not a permanent verdict on a BYOK key (#2094)
  • the spend cap meters real model spend, and has no platform default (#2097)
  • each failure gets the remedy that fits it, and the comment stops promising a retry the guard refuses (#2093)
  • fold written-back memories into the boot prompt instead of discarding them (#2105)
  • the install outcome carries its cause, so each failure gets one true sentence (#2101)
  • give every capped code.* read a door to the rest (#2108)
  • size the loop's ceilings for the world it runs in (#2110)

Chores

  • run gsd on kimi k3 for the overnight sweep (#2106)

Docs

  • correct the drift that would have someone re-add a leash (#2113)
  • write down the end goal, and the test that decides what serves it (#2119)
v0.44.1

v0.44.1

v0.44.1

Bug Fixes

  • a bearer credential sends the bearer alone, not an empty x-api-key beside it (#2090)
  • normalize the status bun actually returns, and stop asserting numbers nobody measured (#2092)
v0.44.0

v0.44.0

v0.44.0

Features

  • the router provider factory, built and tested standalone (#2078) (#2088)

Bug Fixes

  • a fresh worktree bootstraps its own dependencies before the gate runs (#2082)
  • stamp the collection into every keyset cursor (#2053) (#2072)
  • the bootstrap survives a concurrent gate leg, and its own guards can fail (#2087)

Docs

  • the scout-plan consumer is not the Dispatcher, and it is not hypothetical (#2089)
v0.43.0

v0.43.0

v0.43.0

Features

  • give kb.background.max_pages a reader, and guard the next orphan (#2041) (#2073)

Bug Fixes

  • the structured probe says which fault it means, instead of one sentinel for two (#2084)
v0.42.4

v0.42.4

v0.42.4

Bug Fixes

  • the scout dispatch seam named the wrong mothership consumer (#2042)
v0.42.3

v0.42.3

v0.42.3

Bug Fixes

  • an undecodable widget page cursor refuses, instead of serving page 1 (#2049) (#2070)
v0.42.2

v0.42.2

v0.42.2

Bug Fixes

  • a halt condemns on the durable record, not on its own sample of one (#2080)

Chores

  • run gsd on claude-sonnet-5 (#2079)
v0.42.1

v0.42.1

v0.42.1

Bug Fixes

  • an empty route and a missing board render as themselves, not as a blank page and a generic error (#2074)
v0.42.0

v0.42.0

v0.42.0

Features

  • a daily lane that levels every account's built-in dashboards (#1901) (#2047)

Bug Fixes

  • key the replay gate on the signed body, not the unsigned delivery id (#2058)
  • make the review lane and the fleet git_token verb write rows that survive (#2063)
  • reach both ownership anchors, and delete the heartbeat route (#2068)
  • stop re-probing a permanently broken BYOK key on the customer's own dime (#2061)
  • classify z.ai credit exhaustion, and size compaction off the registry (#2069)
  • give the seam audit row a target, so two opposite decisions stop looking identical (#2064)
  • lease a concurrency slot per session, not per counter key (#2065)
  • make the public docs say what the code actually does (#2066)
  • refuse the input instead of silently doing the wrong thing (#2067)
v0.41.4

v0.41.4

v0.41.4

Bug Fixes

  • deny-by-default env for the coding shell, and a failed run stops reporting success (#2043)
  • a mail scanner opening an action link is no longer the approval (#2045)
  • whole-tree guards stop being gated on a subset of the repo (#2048)
  • namespace the SSO identity anchor per connection (#2046)
v0.41.3

v0.41.3

v0.41.3

Bug Fixes

  • sweep 4 - frontend, support packages and the guards (#2039)
v0.41.2

v0.41.2

v0.41.2

Bug Fixes

  • sweep 3 - the HTTP edge and the agent surface (#2035)
v0.41.1

v0.41.1

v0.41.1

Bug Fixes

  • sweep 2 - orchestration (#2030)
v0.41.0

v0.41.0

v0.41.0

Features

  • a scout that finds a blocker stops instead of dispatching the plan (#2031)

Bug Fixes

  • drop runners.offline_since — a column with no reader and no writer (#2023) (#2028)

Tests

  • drive the run-view and epic stop controls in a browser (#1981) (#2026)
v0.40.0

v0.40.0

v0.40.0

Features

  • an Org Health built-in dashboard over the served read models (#1988) (#2025)

Bug Fixes

  • fence the fleet git_token verb on the caller's held claim (#2021)
  • declare agent.default devops and stop rendering a null deploy line (#1989) (#2011)
v0.39.0

v0.39.0

v0.39.0

Features

  • add offlineSince column to runners table (#1929)

Bug Fixes

  • pin the rollback-preserved binary to 0755 (#1922)

Performance

  • Anthropic prompt-cache breakpoint on the system part (#1881)
v0.38.1

v0.38.1

v0.38.1

Bug Fixes

  • sweep 1 - 22 defects in the core contract and data layer (#2020)
v0.38.0

v0.38.0

v0.38.0

Features

  • sync a box's address from NATS, which already knows it (#2010)

Chores

  • run gsd on kimi k3, not the kimi-for-coding alias (#2008)
  • grant standing merge authorization (#2009)
v0.37.4

v0.37.4

v0.37.4

Bug Fixes

  • the swap preflight stops claiming more than it proves (#1993)
  • no box has recorded an address since liveness moved to NATS (#2004)
v0.37.3

v0.37.3

v0.37.3

Bug Fixes

  • repo-kind sessions were unreapable, and the lock key was on the row all along (#1998)

Chores

  • register the gsd engine on this repo (#1996)

Docs

  • the email layer is our own SMTP, and a guard so it stays said that way (#1997)

Refactors

  • retire every feature flag in the repo, each with the branch it guarded (#1999)
v0.37.2

v0.37.2

v0.37.2

Bug Fixes

  • the attest job ENOENTs on every runner-only merge (#1994)

Refactors

  • delete dead code, and wire the billing path that was dead (#1992)
v0.37.1

v0.37.1

v0.37.1

Refactors

  • delete the deprecation channel, the empty shadow registry, and the ?limit alias (#1991)
v0.37.0

v0.37.0

v0.37.0

Features

  • retention for every published artifact, and a 5-minute adoption cadence (#1984)

Bug Fixes

  • a box that can never swap says so at boot, not on every release (#1985)
v0.36.0

v0.36.0

v0.36.0

Features

  • surface the stop control on the fleet views (#1906) (#1980)

Tests

  • attribute the sealed-fence assertions to the boxes the test created (#1976) (#1979)
v0.35.4

v0.35.4

v0.35.4

Bug Fixes

  • fleet PRs now carry a Closes reference, so delivered issues close (#1822) (#1978)
v0.35.3

v0.35.3

v0.35.3

Refactors

  • collapse the fleet event sink's three fences into one (#1951) (#1975)
v0.35.2

v0.35.2

v0.35.2

Bug Fixes

  • a floor review no longer satisfies review presence on the bot lane (#1974)
v0.35.1

v0.35.1

v0.35.1

Bug Fixes

  • backfill the dead-owner orphans #1913's rescue can never reach (#1955) (#1973)
v0.35.0

v0.35.0

v0.35.0

Features

  • a devops agent template and its GitOps constraint (#1897) (#1970)
v0.34.1

v0.34.1

v0.34.1

Bug Fixes

  • decide the account-wide key veto account-wide (#1953)
v0.34.0

v0.34.0

v0.34.0

Features

  • shard the MCP write budget per conversation, under a token ceiling (#1895) (#1971)

Tests

  • the dead-owner rescue's real wiring never exercised the Cancelled arm (#1968)
v0.33.2

v0.33.2

v0.33.2

Bug Fixes

  • dedup DEAD_OWNER_STATUSES, add wired-path integration test for #1913's dead-owner rescue (#1959)
v0.33.1

v0.33.1

v0.33.1

Bug Fixes

  • a malformed release manifest reads identically to absent and healthy (#1965)
v0.33.0

v0.33.0

v0.33.0

Features

  • a daily digest of dead keys, quiet boxes and stuck work (#1900) (#1958)

Policy

  • restore pr.require_review — review absence refuses a merge again (#1963)

Tests

  • the env-seam guard scans the tree once, not three times (#1956) (#1960)
  • make the stream tests load-immune — assert the scheduled delay, not the wall clock (#1962)
v0.32.0

v0.32.0

v0.32.0

Features

  • review a fleet PR against its issue's acceptance criteria (#1912)
v0.31.2

v0.31.2

v0.31.2

Bug Fixes

  • anchor the scout-plan ingest to the scout task, not to the payload (#1943) (#1957)
  • reassign locks the row it reports the prior runner from (#1946) (#1948)
v0.31.1

v0.31.1

v0.31.1

Bug Fixes

  • a fleet PR orphans when its owning run dies after opening it (#1913) (#1926)
v0.31.0

v0.31.0

v0.31.0

Features

  • a stop control for a running task or plan (#1898) (#1944)

Bug Fixes

  • a task held on no usable keys says so on the read path (#1899) (#1947)
v0.30.0

v0.30.0

v0.30.0

Features

  • carry a conversation_ref from the ask to the PR body (#1942)
  • duration-based box_offline alerts — a box dark 30min pages hourly (#1921) (#1924)

Bug Fixes

  • findable rename, filled tiles, no highlight borders, stoplight status (#1954)

Docs

  • the requireSecret seam is sanctioned, and its set is pinned (#1940) (#1952)
v0.29.0

v0.29.0

v0.29.0

Features

  • the goal board's controls look like controls (#1949)
v0.28.0

v0.28.0

v0.28.0

Features

  • filter the goal board, and rename a goal at the source (#1945)
v0.27.0

v0.27.0

v0.27.0

Features

  • add 'dz' BYOK key pointing to router pool (#1933)

Bug Fixes

  • flaky sessionStream tests under sharded full-suite run (#1934)

Refactors

  • split update-check.ts per invariant — arming and the pull ledger move out (#1801) (#1931)
v0.26.0

v0.26.0

v0.26.0

Features

  • the autonomous goal monitor (#1918)

Tests

  • pin the #1894 reserved-env refusal to both write edges (#1941)
v0.25.5

v0.25.5

v0.25.5

Bug Fixes

  • fence agent_templates.invocation.env against reserved names (#1928)
v0.25.4

v0.25.4

v0.25.4

Bug Fixes

  • the anthropic provider ignores base_url (#1930)

Tests

  • pin the restored binary's 0o755 mode bit in update-boot (#1882) (#1923)
  • pin the ops_action lane as unreachable and record its trip condition (#1939)
v0.25.3

v0.25.3

v0.25.3

Bug Fixes

  • carve the fleet's own PRs out of the bot-actor defer (#1911)
v0.25.2

v0.25.2

v0.25.2

Bug Fixes

  • a scouted bug notifies the account that owns it (#1870) (#1880)
  • rollout actions leave a durable record, not a log line (#1844) (#1883)
  • a destructive verb records the token that acted (#1845) (#1884)
v0.25.1

v0.25.1

v0.25.1

Bug Fixes

  • the review lane provisions its grounding tree instead of guessing (#1614) (#1879)
v0.25.0

v0.25.0

v0.25.0

Features

  • bind a commit to the bytes it produced, and check it (#1612) (#1878)
v0.24.6

v0.24.6

v0.24.6

Bug Fixes

  • order the review lane ahead of the merge lane (#1786) (#1877)
v0.24.5

v0.24.5

v0.24.5

Bug Fixes

  • stamp the fixture write ahead of the build it must invalidate (#1876)
v0.24.4

v0.24.4

v0.24.4

Bug Fixes

  • the qa.bug dedup is job retention — say so, and pin it (#1874)
v0.24.3

v0.24.3

v0.24.3

Bug Fixes

  • the cache discount follows the tokens that earned it (#1873)
v0.24.2

v0.24.2

v0.24.2

Bug Fixes

  • stop honouring DZ_RUNNER_VERSION — the box reports its build stamp (#1871)

Byok

  • refuse a wire-mismatched base_url at capture (#1833)
v0.24.1

v0.24.1

v0.24.1

Bug Fixes

  • arc 101 sweep wave E (#1863)
v0.24.0

v0.24.0

v0.24.0

Features

  • wire bugScout.listSignals to failed CI jobs (#1869)

Bug Fixes

  • silence must not condemn a build — confirm_deadline no longer yanks (#1854)

Security

  • validate language by BCP-47 grammar, not an allowlist (#1780)

Tests

  • pin synchronous drain and 0o755 swap mode in self-update (#1861)
v0.23.1

v0.23.1

v0.23.1

Bug Fixes

  • add qa.bug consumer to route scouted bugs to notify.fanout (#1866) (#1867)
v0.23.0

v0.23.0

v0.23.0

Features

  • book provider-reported BYOK cost in spend ledger (#1862)
v0.22.16

v0.22.16

v0.22.16

Bug Fixes

  • make babysit briefs harness-owned, no push imperative (#1864)
v0.22.15

v0.22.15

v0.22.15

Bug Fixes

  • arc 101 sweep wave D — a cross-tenant list, a dead-end locale, a silent push kill, and a drained grant (#1860)
v0.22.14

v0.22.14

v0.22.14

Bug Fixes

  • hold throttle floor in memory when stamp read fails (#1859)
v0.22.13

v0.22.13

v0.22.13

Bug Fixes

  • arc 101 sweep wave C — a bogus APPROVE, a wrong-tree review, SSRF, and a gate that lied (#1858)
v0.22.12

v0.22.12

v0.22.12

Bug Fixes

  • arc 101 sweep wave B — unmetered 500s, missing audit, IP spoofing (#1857)
v0.22.11

v0.22.11

v0.22.11

Bug Fixes

  • arc 101 sweep wave A — plan cycle, task retry, terminal durability (#1856)
v0.22.10

v0.22.10

v0.22.10

Bug Fixes

  • clarify ref usage in gh.repo.read_file for consistent reads (#1855)
v0.22.9

v0.22.9

v0.22.9

Bug Fixes

  • the per-repo secrets LIST was unreachable — move the collection to /v1/repos/:owner/:repo/secrets (#1853)
v0.22.8

v0.22.8

v0.22.8

Bug Fixes

  • refuse a branch carrying commits we did not author (#1848) (#1850)
v0.22.7

v0.22.7

v0.22.7

Bug Fixes

  • the box installs the newest release IT can, not the head (#1777) (#1849)
v0.22.6

v0.22.6

v0.22.6

Bug Fixes

  • never cut a task branch over work the task does not own (#1835) (#1840)
v0.22.5

v0.22.5

v0.22.5

Bug Fixes

  • the free-disk guard read TOTAL filesystem size, so it never fired (#1838)

Chores

  • raise the kimi turn cap to 120, leave the wall at 90 min (#1836)
v0.22.4

v0.22.4

v0.22.4

Bug Fixes

  • review the head a rate-limited CodeRabbit skipped (#1813) (#1832)
v0.22.3

v0.22.3

v0.22.3

Bug Fixes

  • a rate-limited review bot's green status is not CI (#1791) (#1812)
v0.22.2

v0.22.2

v0.22.2

Bug Fixes

  • equal-watermark tie admits only the already-active sha + policyCommittedAt comment fix (#1748) (#1826)
v0.22.1

v0.22.1

v0.22.1

Bug Fixes

  • stop guessing our own bot identity (#1819) (#1823)
v0.22.0

v0.22.0

v0.22.0

Features

  • link a human-authored PR to the issue it answers (#1787) (#1814)

Runner

  • persist update-check throttle stamp across restarts (#1818)
  • add free-disk-space precheck before self-update swap (#1820)
v0.21.5

v0.21.5

v0.21.5

Bug Fixes

  • persist triage classification to issues.qualification / last_agent_action_at (#1541) (#1810)
v0.21.4

v0.21.4

v0.21.4

Bug Fixes

  • the bot's PR body shipped as a file in the repo root (#1800)

Audit

  • rewire billingAudit to the durable account-anchored seam (#1743) (#1807)
v0.21.3

v0.21.3

v0.21.3

Bug Fixes

  • make the merge gate guard its own config (#1806)
v0.21.2

v0.21.2

v0.21.2

Bug Fixes

  • check policy.release.manager before scheduling release runs (#1793)
  • the security page said we do not hold scopes we hold (#1789)

Chores

  • state require_review explicitly and set it false (#1803)
v0.21.1

v0.21.1

v0.21.1

Bug Fixes

  • a repo that committed no .maintainer.yml gets no releases (#1788)

Docs

  • 101 deep-dive bug sweep + agent-quality upgrade plan
v0.21.0

v0.21.0

v0.21.0

Features

  • --upkeep-only, so an already-enrolled box can get OS upkeep (#1776)

Docs

  • one PR at a time, and claudetm merge-pr by default (#1772)
v0.20.0

v0.20.0

v0.20.0

Features

  • pull-based pre-work version check so the fleet converges (#1749) (#1756)
  • OS upkeep timers so a box added to the fleet stays healthy (#1758) (#1769)

Bug Fixes

  • a halt withdraws the build — re-point the channel alias (#1754) (#1768)

Chores

  • path-classifying policy.module replaces blanket defaultTier (#1340) (#1690)
v0.19.0

v0.19.0

v0.19.0

Features

  • honor language in the review prompt (#1764)

Bug Fixes

  • a null z.ai base_url resolves to one endpoint on both wires (#1542) (#1757)
  • reclassify pre_merge_checks ignore→defer (#1645) (#1763)

Tests

  • pin no-replay across an in-step 429 retry (#1642) (#1762)
v0.18.0

v0.18.0

v0.18.0

Features

  • alert when a bot-lane PR is not authored by developerz-ai[bot] (#1750)

Bug Fixes

  • backpressure the audit outbox — pause the event sink above a high-water mark (recover #1279) (#1741)
  • close two ordering-guard gaps left out of #1700's merge (#1703)
  • bench now admits the post-spec DropReason set, plus the citation drift (#1337) (#1745)
  • pin the disclosed bot commit identity on the coding lane (#1751) (#1752)
v0.17.1

v0.17.1

v0.17.1

Bug Fixes

  • documented edit path for the key's billing kind (#1247) (#1739)

Docs

  • record stage-7 native review lane first live PASS

Revert

  • back out #1736 account merge/unlink — unauthenticated identity-anchoring account-takeover (#1737)
v0.17.0

v0.17.0

v0.17.0

Features

  • account merge/collision/unlink (#466) (#1736)

Docs

  • close out v1.3 external-connections epic (#309) (#1735)
v0.16.3

v0.16.3

v0.16.3

Bug Fixes

  • close the env seam in service code, and enforce it (#1732)
v0.16.2

v0.16.2

v0.16.2

Bug Fixes

  • resolve handoff.webhook_ref at policy ingest, not at fire time (#1734)
v0.16.1

v0.16.1

v0.16.1

Performance

  • hoist EXPECT_TEXT + CONTRACT_TEXT into the cacheable prefix (#1647) (#1733)
v0.16.0

v0.16.0

v0.16.0

Features

  • the verifier tier — a calibrated default-refute pass behind review.verified_tier (#1652) (#1694)
v0.15.1

v0.15.1

v0.15.1

Bug Fixes

  • transient-retry for mid-response stream drops; guard killTree against UID-wide kill broadcast (#1731)
v0.15.0

v0.15.0

v0.15.0

Features

  • classify per-sample ensemble failures on the review_sampled event (#1684) (#1730)
  • open the funnel's front door — create a project, establish a base (#1729)
v0.14.3

v0.14.3

v0.14.3

Bug Fixes

  • decide the env seam, and delete a lane that re-proved covered ground (#1723)
v0.14.2

v0.14.2

v0.14.2

Bug Fixes

  • key policy activation to the file's own commit time, not the branch tip (#1700)
  • pin the Playwright installer to the version the tests run under (#1726)

Chores

  • nudge .maintainer.yml re-ingest under #1700 CAS fix (#1701)
  • re-enable auto_merge on dogfood (#1478 closed the floor-brain gap) (#1724)
v0.14.1

v0.14.1

v0.14.1

Bug Fixes

  • global cron sweep replaces the dead-on-arrival reverify filter (#1515) (#1698)
v0.14.0

v0.14.0

v0.14.0

Features

  • the decorrelation A/B harness (#1684) (#1685)
v0.13.0

v0.13.0

v0.13.0

Features

  • validate byok_keys.purpose write path (#1490) (#1663)
  • derive required capabilities at the CLAIM gate (#1511) (#1693)
  • @developerz-ai review command on a PR comment enqueues a review (#1644) (#1695)
  • #1669 scout backlog-drain wiring (slice 2b) (#1696)
  • board-aware admission — SchedulerBoard into api root + shipped_lookback_days (#1641, #1643) (#1692)
  • escalation-delivery health vocabulary + unroutable-state alert (#1633) (#1655)
  • provider-reconciliation cron for terminal-state keys (#1535) (#1699)

Bug Fixes

  • alert when a published release has no ledger row (#1629) (#1687)
  • escalate github_refused past its retry bound (#1532) (#1688)
  • stuck-ledger predicate reuses the claim's claimability gates (#1521) (#1691)

Performance

  • price cacheReadTokens at 0.5x in ledgerSpendUsd (#1640) (#1686)

Chores

  • audit historical bot PRs for human authorship + disclosure list (#1531) (#1689)

Docs

v0.12.0

v0.12.0

v0.12.0

Features

  • ensemble sampling — N parallel review samples with anchor-union merge (#1651) (#1659)
  • grounding mounts + fan-out driver for the reviewer bench (#1609)
v0.11.2

v0.11.2

v0.11.2

Bug Fixes

  • grade the autoroll's refusals, bound its read, audit its writes (#1679)
  • scripts/** was never compiled by anything — put it in the gate (#1682)
v0.11.1

v0.11.1

v0.11.1

Bug Fixes

  • a box that cannot self-update says so, instead of clobbering Bun (#1678)
v0.11.0

v0.11.0

v0.11.0

Features

  • the fleet updates itself when CI publishes a release (#1677)
v0.10.5

v0.10.5

v0.10.5

Bug Fixes

  • a pr-outcome run proves its PR exists, or fails (#1675)
  • a dirty shared checkout recovers instead of wedging the box (#1676)
v0.10.4

v0.10.4

v0.10.4

Bug Fixes

  • unquarantine donation-flow; oss-tier-gate needs an api CI has not got (#1674)
v0.10.3

v0.10.3

v0.10.3

Bug Fixes

  • run every e2e lane, not just the ones that need nothing (#1671)
v0.10.2

v0.10.2

v0.10.2

Bug Fixes

  • a non-integer stored generation destroyed the ring and reported success (#1670)
v0.10.1

v0.10.1

v0.10.1

Bug Fixes

  • the join merge lost a line, kept stale credentials, and stranded secrets (#1650)
  • announce the stuck-ledger skip — an unregistered alarm was silent (#1667)

Docs

  • note cron.stuck_ledger cannot fire without STRIPE_KEY (#1666)
v0.10.0

v0.10.0

v0.10.0

Features

  • fan the reviewer out over file-groups on a large diff (#1662)

Bug Fixes

  • untrack .dz-babysit — a tracked file the CI-fix lane deletes every run (#1665)
  • babysit merge gate refuses an all-tolerated check set (#1639) (#1657)
  • transient HTTP retry owns to the SDK, not callWithRetry (#1642) (#1658)
  • make ready-for-agent a consequence of handoff delivery, and add a retract verb (#1660)
  • classify transport failures at the verify seam (#1515) (#1661)
v0.9.6

v0.9.6

v0.9.6

Bug Fixes

  • validate handoff.webhook_ref resolves to a registered webhook (#1564) (#1656)

Chores

  • delete stale HandoffModeSchema/PolicySchema (#1565) (#1654)
v0.9.5

v0.9.5

v0.9.5

Bug Fixes

  • the join script merges the box env instead of replacing it (#1649)
v0.9.4

v0.9.4

v0.9.4

Bug Fixes

  • run scripts/enroll-vm.test, and fail when a shell suite is unwired (#1616)
  • land the #1631 corrections its own merge outran (#1648)
v0.9.3

v0.9.3

v0.9.3

Bug Fixes

  • the box env writers keep what they do not own (#1618)

Docs

  • finish the stale-order sweep #1471 left half-done (#1476)
v0.9.2

v0.9.2

v0.9.2

Bug Fixes

  • #1637 repair functions.<name> tool calls (review brain structured-output) (#1638)
v0.9.1

v0.9.1

v0.9.1

Bug Fixes

  • decode the stuck-session reaper's lastEventAt as a Date (#1635)

Chores

  • redact a committed Ed25519 keypair from the 114 plan docs (#1634)
v0.9.0

v0.9.0

v0.9.0

Features

  • name the requester on every fleet PR body, not just plan slices (#1632)

Chores

  • point our own reviewer at our own source (#1631)
v0.8.4

v0.8.4

v0.8.4

Bug Fixes

  • publish an object-typed inputSchema so a strict client accepts the catalog (#1626)
  • #1627 scope typecheck with tsc -b, and let infra psql name a database (#1628)
v0.8.3

v0.8.3

v0.8.3

Bug Fixes

  • answer 405 on GET /v1/mcp so streamable-HTTP clients can connect (#1621)
  • #1622 resolve the per-claim App token in the pr_review_reply sweep (#1623)

Docs

  • the registry is DOCR, and the runbook promised a prune job that caused an outage (#1613)
v0.8.2

v0.8.2

v0.8.2

Bug Fixes

  • order the Agent fleet table by activity, live work first (#1611)
v0.8.1

v0.8.1

v0.8.1

Bug Fixes

  • stop claiming a checkout and CodeGraph index the run may not have (#1584) (#1608)
v0.8.0

v0.8.0

v0.8.0

Features

  • let the bench driver measure kimi-k3 faithfully (temperature + reasoning suppression) (#1597)
v0.7.2

v0.7.2

v0.7.2

Bug Fixes

  • #1483 carry the platform-resolved review config on the envelope (#1599)
v0.7.1

v0.7.1

v0.7.1

Bug Fixes

  • base_branches means what CodeRabbit means by it (#1598)
  • fence the PR description into the reviewer prompt (#1480) (#1592)
  • capability-escalation sweep is now placement-scope-aware (#1509) (#1601)
  • #1510 close the CI claim / arbiter capability-drift pair (#1604)
  • #1477 name the provider error on the scout/review floor paths (#1605)
  • #1533 coalesce pr_review_reply minting (#1600)
  • #1519 adopt universal-quantifier-needs-enumeration convention + correct false PR #1228 disclosure marker (#1606)
  • drop self-refuting findings at the anti-noise seam (#1593) (#1594)
  • report() could not read the manifest pin writes (#1582) (#1607)

Docs

  • the 39% boilerplate figure is a floor, not the number (#1602)
v0.7.0

v0.7.0

v0.7.0

Features

  • advance dev seed from key_set to active locally (#109) (#1589)
  • add policy-validate CLI with --json (ok + errors) (#1586)

Bug Fixes

  • zero amountDueUsd for free tier in usageSnapshot (#1522) (#1588)
  • add id tiebreak to listRepoBoard so a truncated board drops rows deterministically (#1591)
  • #1556 one-worktree-per-PR off a shared bare clone (#1595)

Docs

  • align 7 claimNextReady order comments with the class-first order (#1475) (#1590)
v0.6.1

v0.6.1

v0.6.1

Bug Fixes

  • recognise Kimi's quota-exhaustion 403 as credits-exhausted (#1585) (#1587)
v0.6.0

v0.6.0

v0.6.0

Features

  • add the reviewer-bench model driver and the prompt A/B variant (#1337) (#1583)
v0.5.7

v0.5.7

v0.5.7

Bug Fixes

  • suppress reasoning on the review brain, not just the classifier (#1572) (#1581)
v0.5.6

v0.5.6

v0.5.6

Bug Fixes

  • a review that dies must say so on the PR (#1575)
  • CI state is never the maintainer bot's comment surface (#1578)
  • a CI completion is an observation, not a human directive (#1580)
  • give the z.ai tier column a real ladder (#1573) (#1576)

Docs

  • the CodeRabbit mechanism, and the runbook for a dead review lane (#1574)
v0.5.5

v0.5.5

v0.5.5

Bug Fixes

  • hand off via fleet, not a dead webhook_ref (#1562) (#1566)
  • stamp declared non_goals at the seam, don't ask the model for them (#1567)
  • out_of_scope outranks dupe, and politeness is not doubt (#1568) (#1571)
v0.5.4

v0.5.4

v0.5.4

Bug Fixes

  • pin OpenAI to /chat/completions like its ten siblings (#1553)
  • rewrite dotted tool names in HISTORY, not just the tool list (#1557)
  • fence review work away from boxes that cannot unwrap a sealed credential (#1505) (#1507)
v0.5.3

v0.5.3

v0.5.3

Bug Fixes

  • verify what inference does, and fix the 3 wires that lied (#1551)
v0.5.2

v0.5.2

v0.5.2

Bug Fixes

  • MiniMax M-series could not complete a single structured call (#1548) (#1550)
v0.5.1

v0.5.1

v0.5.1

Bug Fixes

  • a valid key is refused, and the card never says why (#1544, #1545) (#1546)
v0.5.0

v0.5.0

v0.5.0

Features

  • POST /v1/plans, the scout entry's REST door (#1526)
  • reviewer-bench part 3 — matching, metrics, miss list, report (#1337) (#1525)
  • a start control on /fleet/plans, dispatched-then-claimed (#1527)
  • copy-as-call, command palette, boundary fixes, mobile+theme+i18n (#1528)

Bug Fixes

  • register ASSIGNER_CLAIM_CONCURRENCY — refuse a bad value, never clamp it (#1516)
  • fence the Stripe usage drain to a metered-tier allowlist (#1495) (#1520)
  • enforce the account's reviewMode entitlement (#1523) (#1524)
  • a review no model ran must say so, and may not approve (#1518)
v0.4.0

v0.4.0

v0.4.0

Features

  • MCP agent ergonomics — the catalog tax and the pagination ceili… (#1508)
  • a watch path that does not eat the whole read budget (#1512)

Tests

  • harden the clip-preload guards (regex version-loosening + /es locale premise) (#1513)
v0.3.1

v0.3.1

v0.3.1

Bug Fixes

  • GLM needs the schema in the prompt on EVERY wire (#1500) (#1501)

Chores

  • declare this repo's non-goals (#1499 verdict, live test) (#1502)

Tests

  • pin the /es/world scroll-0 clip set (#1485 item 5) (#1506)
v0.3.0

v0.3.0

v0.3.0

Features

  • decline an out-of-scope request against a DECLARED non-goal (#1499)

Bug Fixes

  • harden the /world theme-scroll restore (lens-review minors) (#1466) (#1488)
  • fence a BYOK key to one lane so another cannot drain it (#1460) (#1486)
  • close the residual scroll-restore windows (#1489) (#1491)
  • the provision lane needs consent, not reachability (#1450) (#1493)
  • tier carries no account-kind restriction (B8, #1450) (#1497)
  • the free tier has no qualification bar (#1496) (#1498)
v0.2.0

v0.2.0

v0.2.0

Features

  • API client DX for other systems (#1442)
  • UI screens for capabilities that had none (#1444)
  • command palette, per-action API-call transparency, a11y+i18n groundwork (#1449)
  • catalog guards for unguarded surfaces (#1451)
  • ship the deprecation channel before the first breaking change (#1454)
  • OpenAPI 3.1 + one list envelope + keyset paging (#1463)

Bug Fixes

  • the bot disclosure closes the onboarding bodies, not opens them (#1445) (#1446)
  • a closed provision PR/suggestion is a decline, not an absence (#1447) (#1448)
  • refuse undelivered events, paginate, sign timestamp (#1452)
  • ask for BYOK structured output via a forced tool call (#1455)
  • serve /world clips from cdn.developerz.ai (#1459)
  • /world progress bar to viewport top + theme-toggle scroll restore (#1465)
  • gate the storyboard flash in the /world theme-toggle reload (#1468)
  • give claimNextReady the id tiebreak queueView already has (#1471)
  • bound structured-output calls with maxOutputTokens (#1469)
  • disclose findings the grounding gate withheld, and stop calling them anti-noise (#1481)
  • ground diff-visible findings on the patch, and never approve over withheld ones (#1482)
  • preload /world clips ahead of the scroller (v2 engine route) (#1484)
  • close the v2 preload precision gaps (#1485) (#1487)

Docs

  • document PAT capability asymmetries (#1472)
v0.1.0

v0.1.0

v0.1.0

Features

  • OAuth connector path for hosted clients (#1441)
  • agent ergonomics on par with REST — cursor pagination, structured content, retry-safety hints (#1440)
  • REST parity for the capabilities that were MCP-only (#1435)
  • reviewer-bench preflight + spend-gated run (#1336) (#1439)
  • board-aware placement at the REST + MCP doors (#1245) (#1438)
  • real per-tier OpenRouter model ladder (#1246) (#1437)
  • MCP verbs for REST-only self/config capabilities (#1429)
  • webhook/notification/session/member/sso MCP verbs (#1428)
  • surface parity doctrine + capability manifest (#1425)
  • tenancy fencing + the GitHub App install callback (#1421)
  • enforce repositories.enabled as a real acting gate (#1419)
  • theme-aware /world payload + scenes (#1413) (#1417)
  • theme cookie + SSR ctx.theme (#1411) (#1414)
  • publish /world light clips + /art/light/ stills (#1410) (#1416)
  • light /world band + engine tokens (#1412) (#1415)
  • a box re-issues its own vault subkey across a KEK rotation (#1389)
  • per-box boxKek derivation — the master KEK stops leaving the platform (#1307)
  • footer language link, driven by the page's own hreflang set (#1383)
  • animate /world — R2 clip publish + accessor flip (#1347, #1348) (#1374)
  • resolve per-claim App token in the review lane (#1331) (#1373)
  • mount the scroll-world island on /world (#1370)
  • /world page, server-rendered and zero-JS (#1345) (#1364)
  • name STRIPE_PRICE_COMPANY in the worker price→tier table (#1254 follow-up) (#1363)
  • world-media runbook + the six diorama stills (#1344) (#1362)
  • add the company seat tier as an unreachable tier (#1254) (#1360)
  • reviewer-bench part 1 — pin the corpus and emit the funnel (#1359)
  • vendor the scroll-world engine (P7-P13) behind an immutable route (#1343) (#1356)
  • parallel_safe policy setter + area-release TTL backstop (#1010) (#1309)
  • readiness gate for the audit-outbox backlog — wire the maxLagMs producer + /readyz consumer (#1306)
  • the platform KEK can be rotated (#1292)
  • box releases + box unyank verbs — part 3 of 4 (#1286) (#1291)
  • release drift alert — part 4 of 4: detection-only cron (#1287) (#1290)
  • the agent narrates a fleet task's lifecycle on its GitHub thread (#1284)
  • --unyank verb on runner-release-record.ts — un-yank CLI, part 2 of 4 (#1285) (#1289)
  • unyankRunnerRelease + runnerVersionSpread — fleet un-yank verb + drift spread, part 1 of 4 (#1258) (#1288)
  • record a self-merge (PR author == merger) as a neutral pr.self_merged audit row (#1283)
  • RAII port, audit-doc reconciliation, release gate (#1275)
  • per-call integration.used audit row (#1222) (#1226)
  • per-environment config/*.yml — environment variables carry secrets only (#1270)
  • purchased CI slots become real capacity (#1269)
  • operator surface to issue and revoke entitlement grants (#1267)
  • pro seat to $1000/month, bundled CI slots, buyable extra slots (#1266)
  • user-subject grants + fleet enforcement (#1265)
  • split CI placement from CI reaction — ci.self_fix (#1263)
  • entitlement grants — audited overrides for orgs and users (#1262)
  • project setup — dispatch a setup session over an existing repo (#620) (#1250)
  • drop privileges on the coding container (#621) (#1243)
  • wire the raw-signal scheduler lane live (#1248)
  • board-aware admission — priority, split fan-out, defer (#1244)
  • report box hardening findings to the control plane (#622) (#1242)
  • box-wide boot-pass GC of finished run-state dirs (#1055) (#1235)
  • fleet pool metering scaffold + shared-pool claim path (#1217, #1216, #1215) (#1218)
  • make the internal-org denylist an operator knob (#1178)
  • durable audit, docs reconciliation, e2e lane, rollout (#1176)
  • per-VM enroll loop — enroll-vm.sh + attach-vm.sh --pubkey flag (#1175)
  • real donate CTA + developerz donate badge (#1174)
  • donor wizard + maintainer inbox for OSS donations (#1163)
  • git_token requester + env wiring (#1159)
  • donations REST surface, paywall, Stripe activation (#1156)
  • git_token responder — real mint over fleet.req (#1158)
  • widen runner RPC to a discriminated union (git_token verb scaffold) (#1154)
  • donated model allowlist enforcement (#1147)
  • self-serve donatable eligibility + repo-visibility fence (#1146)
  • OSS agent-hours cap + canEnableRepo (#1143)
  • OSS donation schema + model-ceiling contracts (#1141)
  • blog tag archives, derived prices, honest enterprise tier, axe sweep (#1135)
  • 21 new indexable pages, 8 docs, and one comparison template (#1131)
  • log in locally as user or admin, and seed every surface (#1128)
  • project setup, clone, and greenfield (#1120)
  • hygiene kinds + gardener env-maintenance (#1114)
  • verify the dz-runner binary's Ed25519 signature at INSTALL time (#1039) (#1116)
  • SSO group role-map editor (#1110) (#1115)
  • role elevation from GitHub org role + IdP group claims (#467) (#1111)
  • the README badge carries the handled count (#1106) (#1112)
  • staged runner self-update rollout controller (#1108)
  • Publish + sign the runner binary, and see fleet versions *(clo… (#1107)
  • handled counts on the /oss directory rows (#1105)
  • coverage batch — board authoring, task dispatch, ssh enroll, PR drawer freshness (#1033, #1034, #1035, #1036) (#1098)
  • tool-service descriptors + working MCP env block (#1097)
  • rebuild the repo sub-tabs as an underline rail (#1096)
  • schema, domain, API — sealed per-repo .env (#1093)
  • check tolerance, CI-wait policy, babysit branch checkout (#1086)
  • review-loop termination, thread verdicts, human-PR proof (#1085)
  • gate the enrollment lane on RAM/disk before token→credential (#1024) (#1083)
  • scout survey, plan primitives, per-assignment routing (#1082)
  • enable fleet dispatch — handoff.mode: webhook + placeholder webhook_ref (#1073) (#1077)
  • run guards, cost ledger, and the run_stage event (#1072)
  • team fan-out — harness owns git, editors are adapter calls (#1070)
  • team fan-out core (pure) + delete dead worktree pool (#1069)
  • role prompt layer, coordination contract, content fencing (#1068)
  • fleet command-center (slice 09) (#1050)
  • OSS free tier (slice 10) (#1048)
  • fleet scheduler classes/requires/admission (slice 06a) (#1044)
  • KB initial import + digest ranking (slice 04) (#1043)
  • GitHub user-token lane (arc 101 slice 05) (#1041)
  • DARK GA-reliability gate + hourly alert (#761) (#1040)
  • dz-runner compiled Bun binary + direct systemd unit (#112) (#1038)
  • surface the classifier escalation rate on the platform overview (#761) (#1032)
  • provider-keys wiring — routes, rotation, ToS guard (#1030)
  • provider-keys pool — schema + pure resolver (#1028)
  • pricing realignment — Pro $2000, Solo $100 floor (#1027)
  • enforce the preflight gate on box acceptance (#111) (#1019)
  • dz CLI operator verbs — fleet broadcast (#119) + task watch (#118) (#1020)
  • same-area collision gate in claimNextReady (#513) (#1009)
  • strongest-model ScoutBrain — multi-group plan authoring (#1003) (#1011)
  • live queue board — lifecycle bucket + depth + position (#513) (#1008)
  • plan_id on tasks projection + inline Epic card (#511 task 4) (#1006)
  • signed action links + four lifecycle emails + escalation flood collapse (#968 #969 #970) (#1005)
  • gap-batch #971–#978 — BYOK rotate, repo toggle, durable audits/escalations, ToS scope cap, widget pager, live /ci (#1001)
  • control-plane gap-closure sweep — wire shipped backend into the UI, close projection gaps, docs truth-up (#980) (#984)
  • stacked-PR body links for plan slices (#511) (#992)
  • plan (epic) read-model — GET /v1/plans/:planId (#511) (#986)
  • SSH-pull enroll transport (#886) (#964)
  • deep review mode — build/test/lint on the VM (#263) (#967)
  • repo settings write plane + pagination refactor (#966)
  • wire the gh task-sink on the api pod (#836) (#944)
  • wire the platform review verdict into the merge gate (+APPROVE on non-app PRs) (#948)
  • review-settlement grace — the one #912 take-over-flow residual (#965)
  • Issues tab, triage drawer, and its e2e story (#963)
  • resolve merge conflicts before escalating (#911); lock crash-restart self-heal (#913) (#962)
  • grade the HUMAN-MERGE lane per PR (#955) (#961)
  • setup mode dispatches its authored first tasks (#313) (#958)
  • enforce the HUMAN-MERGE per-path/branch lane (#840) (#956)
  • cut a release for a dependency-only bump (#842) (#957)
  • self-serve seat checkout — teams can buy pro/solo seats (#952)
  • notifications home + PWA finish (settings page, onboarding reach-you, SW update prompt) (#951)
  • producers + VAPID + escalation deep links (push goes live) (#949)
  • multi-source task intake → TaskEnvelope (#289) (#946)
  • review.depth (inline|deep) config, deep refused until wired (#257) (#947)
  • fan-out doctrine directive for orchestrated runs (#512, Option A) (#945)
  • billable_event per reviewed PR (#262) (#943)
  • brand marks for the remaining BYOK providers (#935) (#941)
  • fan-out doctrine primitives — RAII verify-mutex + tool-set scoping (#512 slice 1) (#933)
  • 👀 ack a human PR comment the moment its session is queued (#929) (#930)
  • coding-agent review allowlist — reviewable coding-agent identities (#841) (#928)
  • react 👀 on the comment that triggered a run (#931) (#932)
  • task-history lookback in boot/triage context (#832) (#927)
  • resume entities refused while billing-paused (#919) (#920)
  • resume stalled work when a BYOK key is fixed (#908) (#915)
  • issue-dedup trigram → pgvector (#831) (#918)
  • search.similar_tasks — dedup a task vs open/in-flight tasks+PRs (#830) (#878)
  • capability routing — job-class → (tier, effort, fallback) (#510) (#904)
  • API surface fixes (#905)
  • MCP rate-limit verb class + KB scope split (#901)
  • policy hardening — chat_auto_reply gate + schema trimming + capability docs (#900)
  • Complete platform gap closure — fleet retention, self-update, signals (#887)
  • auto-approve platform-staff at login — closed-beta bootstrap lever (#888) (#891)
  • wire credential-mode ingress end-to-end (seal → deliver → prepare) (#890)
  • route Sentry/Linear errors to a triage session (not blind-escalate) (#829) (#874)
  • lease-epoch fencing, stuck-task reaper, coalesce drain, SKIP LOCKED claims (#884)
  • wire tasks/roles → agent_templates linkage (#882)
  • wire the per-account fairness semaphore into agent.run (#880)
  • code-enforced merge gate — CI-green + review-pass before gh.prs.merge (#871)
  • reposition as an AI automation platform + fix the mega menu (#872)
  • leverage doctrine — agents build the guardrails that automate the next run (#870)
  • stream sessions/approvals topics — Home patches live (#867)
  • project entity number/title into account-wide /v1/sessions (#865)
  • account-level audit feed — Home Live-audit View-all target (#866)
  • project the PR title into /v1/approvals (#861)
  • control-plane redesign — full visual rebuild from the shadcn mock (#858)
  • robust dependency-bot CI re-wake (author lookup, not branch-prefix) (#844) (#849)
  • babysit driver covers non-fleet PRs via a synthetic watch task (#843) (#848)
  • mailto fallback on contact-form send failure (#827)
  • BYOVM gateway durable audit + box-token lifecycle (#823, #824) (#825)
  • BYOVM credential gateway — transport half (#786) (#822)
  • session replay — POST /v1/sessions/:id/replay decisions diff (#811) (#819)
  • notifications inbox — /v1/notifications read + live SSE topic (#809) (#818)
  • dashboards widget-data resolver — platform readers behind the pager (#808) (#817)
  • outbound webhooks v1 surface — CRUD + deliveries log + test-send (#807) (#816)
  • notification preference matrix — resolved grid + one-cell set/reset (#810) (#814)
  • products nav column, mockup solution art, theme crossfade (#813)
  • audit power features — JSONL session export + per-event permalinks (#812) (#815)
  • file-based blog posts + first three published (no infra) (#800)
  • reasoning-suppressed classifier tier for Kimi K3 (#763) (#803)
  • host-aware chrome for the admin.developerz.ai radar (#754) (#798)
  • CI-log presign transport + dashboard durations (#715) (#797)
  • wire the merged-PR → release-loop trigger (#796)
  • dependency-bot PRs are maintainer tasks, not bot noise (#792)
  • self-serve Add-a-box + revoke on the Fleet page (#619) (#795)
  • deep-linkable /login/email and /login/sso legs (#753) (#794)
  • credential gateway, in-cluster half — policy-granted Slack tool, server-side creds (#311) (#788)
  • connections manager — sealed /v1/secrets vault + credentials UI (#312) (#785)
  • Product nav mega-menu + solutions card grid (#779)
  • add Kimi (Moonshot) provider and glm-5.2 refresh (#770)
  • editorial redesign — component-refactor port, dark-first, island nav (#743)
  • report boot hygiene via presence BoxStats (#739)
  • hygiene core — config, scan, act (pure module) (#733)
  • OAuth connect entry point — Connect-with-X + landing flags (#599) (#729)
  • OAuth connect for integrations — the redirect half of slice 03 (#310) (#602)
  • memory gardener — delete + consolidate (#295) (#720)
  • integration resource verb — REST parity for /v1/integrations (#718)
  • memory usage tracking — columns, bump seams, tests (#295) (#719)
  • ci: section + generated docs + CodeRabbit migration table (#710)
  • coderabbit ingest + activity + enqueue (slice 04b) (#703)
  • CodeRabbit schema parity + label/username gating (#689)
  • CI durations, refusal badges, log-prune lane (#680)
  • CI lane live — arbiter, runner-groups, fork safety, permission (#671)
  • CI size-label enforcement in dispatch (slice 01) (#670)
  • Register new audit kinds for CI/CodeRabbit integration (#668)
  • KB org/user cascade (#663)
  • system-prompt org/repo/user cascade (#655)
  • ingest committed repository policies (#642)
  • per-user BYOK provider cascade — personal-first + model override (#639)
  • user-repo Skill overrides — .maintainer/skills/*.md (#631) (#633)
  • language-aware Skills index (#630) (#632)
  • org member management + Members-tab redesign (#308) (#570)
  • on-demand Skills library — curated per-language SWE guides (#628) (#629)
  • harden a VPS on onboarding — firewall + docker port-hole + exposed scan (#617) (#618)
  • all-core green gate, heap-safe typecheck, affected-only loop, AGENTS.md (#605)
  • accounts.members_count counter cache — drop per-row COUNT join (#572) (#577)
  • pricing comparison + assurance cards, per-route OG cards, transparent favicons (#568)
  • capture ToS/consent at first login (#554) (#569)
  • seed the developerz-ai org IdP row — sso.infra.developerz.ai (#487)
  • repo-detail Audit tab — per-repo agent-sessions list, filterable + paginated (#349) (#562)
  • dedicated in-memory agent executor — shed agent.run from worker (#565)
  • account-level activity feed + pending-approvals list (#321) (#561)
  • unified role-demand arbiter — idle box picks coding vs CI (#546) (#560)
  • universal per-assignment role — fungible box picks executor by claim (#547) (#559)
  • mothership PR-babysit driver — webhook-driven PR→merge lifecycle (dark) (#557)
  • enforce merge_decision — 'block' hard merge gate + production ask-writer (#496) (#552)
  • durable parent-less audit for approvals-plane actions (#497) (#550)
  • task↔PR link + PR-state projection sink (#543) (#551)
  • wire the approvals plane + issue/pr write verbs (#348, #491 — #476 slice 6) (#502)
  • cross-plane idle gate + per-box advisory claim guard (A2a) (#549)
  • relocate babysit decision core to domain, delete never-wired on-box loop (#548)
  • review memory as a text wiki with references, not pgvector (#260) (#540)
  • supersede prior in-flight review on a new push (#258) (#539)
  • comment-webhook → pr_review_reply dispatch gate (#258) (#538)
  • review-thread engagement — handle comments + store as KB (#258) (#537)
  • sticky 'review under way → done' status comment (#533) (#536)
  • model-driven reviewer with a repo-aware system prompt (#259) (#535)
  • default junk-file ignore before review (#532) (#534)
  • kubeez imagery + how-it-works OSS/paid split (#517) (#524)
  • mobile slide-in drawer nav + responsive fixes (#517) (#521)
  • surface platform capabilities on home, fix stale copy (#517) (#520)
  • richer self-hosted inline-SVG icons (#517) (#519)
  • Link-header pagination + runner-group robustness (slice 07) (#503)
  • email_route + token, task watch verbs, project/account extends (#476 slices 3-5) (#493)
  • Policy doctrine enforcement (slice 04, HIGH) (#492)
  • billing resource tool — BYOK keys, usage, portal, cap, log sink (#476 slice 2) (#486)
  • self-serve SSO admin — owners configure their org IdP (#484)
  • real /login — method chooser, org-SSO discovery, brand design (#483)
  • issue + pr + digest read resource tools (#476 slice 1) (#479)
  • fleet UI product polish — live refresh, honest errors, stream retry (#471)
  • email routes — /v1 CRUD + default/override routing (#325) (#388)
  • infra prod debug/ops tool (bun run infra) (#465)
  • URL-based org scoping with per-request account context (#464)
  • BYO database URL log sink for extended CI/review log retention (#461)
  • weekly gardener — drift/update sweep for managed repos and boxes (#463)
  • concise per-runner system prompt (#462)
  • cross-org visibility for user-owned runners (#459)
  • ensure .mcp.json with codegraph on managed repos via bot PR (#458)
  • per-org SSO login links to existing user by verified email (link-or-JIT) (#457)
  • solo pricing ladder + OpenClaw comparison page (#450)
  • solo tier with graduated per-agent price ladder (#454)
  • load MCP servers from project .mcp.json (#449)
  • runner-ownership model — shared | private-to-org | private-to-user (#442)
  • multi-org seed — sebi ⇒ developerz-ai + tesote orgs (#441)
  • per-org unlimited-fleet entitlement (internal dogfood orgs) (#439)
  • per-org inbound SAML SSO — unified OIDC+SAML strategy, entitlement-gated (#438)
  • admin.developerz.ai radar UI — overview, orgs, users (#433)
  • admin.developerz.ai radar backend — reads + MCP writes (#432)
  • per-org inbound SSO — DB-resolved OIDC IdP, sealed secret, entitlement gate (#422)
  • verified-or-silent grounding gate — beat CodeRabbit on signal density (#427)
  • queued dispatch — capacity-aware fan-out sink, backpressure + queue visibility (#416)
  • hero subhead → "a better Devin" positioning (#418)
  • Login with Tesote — first-party OIDC leg + JIT provisioning (#413)
  • home/pricing rework + docs overhaul + QA (slice 11) (#407)
  • OSS fence + public stats + marketing (slice 10) (#406)
  • realtime streams + PWA + notifications (slice 09) (#405)
  • dashboard grammar + renderer + pager (slice 09) (#404)
  • artifact storage BYO S3 — slice 08 (presign, table, reaper, contract tests) (#403)
  • CI jit-exec + log sink + e2e (slice 07 — Blacksmith competitor) (#402)
  • JIT runner client + webhook + assigner + ci_jobs (slice 07) (#401)
  • PR webhook → review task + runner handler + babysit + e2e (slice 06) (#400)
  • config-translation fixtures + finding-schema tests (slice 06) (#399)
  • KB wiki + gardener lint — slice 05 (#55, #63, #293) (#398)
  • 3-layer system prompt + prompt-var KV (slice 05) (#397)
  • LLM pool + cross-repo DAG + idle-CI reuse + non-PR outcomes (slice 04) (#395)
  • smart setup + box specs/names + .mcp.json provisioning (slice 04) (#394)
  • PR babysit loop + auto-merge default flip (slice 04) (#393)
  • Idempotency middleware on all write verbs (slice 03) (#391)
  • REST list-query grammar + verb-parity + contract tests (slice 03) (#386)
  • weekly digest archive — read API, dashboard reading view, worker cron (#328) (#381)
  • verb/scope matrix script + drift guard (slice 03 final) (#384)
  • mark multi-org delivered in specs (#383)
  • GitHub App user login + role enforcement (slice 02) (#382)
  • identity schema — users, memberships, backfill migration (slice 02) (#380)
  • Stripe seat billing slice 01 — entitlements, proration, webhook idempotency (#375)
  • pricing tiers + entitlements (slice 01) (#373)
  • ingest scout plan_authored into the task queue (idle workers claim scout-authored work) (#370)
  • advertise box SSH endpoint (address) via heartbeat + box_list (#369)
  • multi-provider LLM pool — cerebras/minimax/custom + per-task provider×model pick
  • close the dispatch loop — live direct sink + GET /v1/tasks + fleet queue UI
  • self-serve PAT lifecycle + wire template_* MCP verbs
  • repo-detail sub-tabs — Overview/Policy/Pending/Audit/Settings (#195) (#351)
  • add /feature end-to-end workflow command
  • onboarding wizard — spinners, done handoff, loading skeleton (#193) (#343)
  • adopt DD logo across marketing + dashboard (#341)
  • fonts + repos table + digest drawer, design polish (#329)
  • Comprehensive intake normalization tests (#335)
  • on-VM coding tools — WorktreePool, multiBash, CI-fix (#127 #125 #128) (#331)
  • pluggable adapter + per-box env-profile + adapter tests (#284 #285 #27) (#330)
  • responsive layout + accessibility pass (#201) (#327)
  • multiBash + background processes + shell hardening (#125) (#277)
  • Home / overview — real landing page (#192) (#322)
  • task state machine — CAS + SKIP-LOCKED claim (#120) (#281)
  • NATS + JetStream transport foundation for the fleet (#317)
  • BYOVM runner enroll + heartbeat plane (#110) (#278)
  • repo_ask — cite-or-refuse grounded repo Q&A (#214) (#275)
  • BYOVM coding toolset — code.read/write/edit/grep/glob/bash (#124) (#276)
  • CodeGraph mount — stdio MCP transport, allowlisted tools, structural triage (#274)
  • formatCommand before commit (#126) (#267)
  • blog images via kubeez MCP with rotating OAuth pair (#253)
  • user-facing MCP front door — conversational → dispatch (#211) (#266)
  • threshold compaction fallback for huge CI logs (#265)
  • PlanGraph DAG — plan splitting, dependsOn gating, plan_groups persistence (#264)
  • planner tier — raw input → TaskEnvelope(s) + schedule (#255)
  • dispatch router + Dispatcher port + sink selector (#251)
  • BYOK embeddings light up pgvector recall (#78) (#241)
  • self-serve spend-cap editing (#237) (#240)
  • surface billing-paused state in the Usage view (#235) (#239)
  • alert on billable_events stuck unreported past the dedup window (#228) (#234)
  • signed Stripe invoice webhooks → pause/resume (#155) (#233)
  • metered subscription attach + reported-to-Stripe line (#155) (#232)
  • Stripe billing-portal endpoint (#155) (#227)
  • Stripe usage reporter — meter-events drain (#155) (#226)
  • live-session view over SSE (#212) (#225)
  • BYOK provider out-of-credits → pause + email (#213) (#223)
  • dashboard login — Zitadel OIDC → httpOnly session cookie (#221) (#222)
  • add z.ai (Zhipu) BYOK provider (GLM, high limits) (#220)
  • audit timeline — outcome chips, reasoning, trust markers (#210)
  • style BYOK Keys view — status chips, provider monogram, modal a11y (#209)
  • global loading/error/empty states + repos list wiring (#206)
  • dark monochrome console shell + real repos/usage wiring (#205)
  • pause dispatch when an account is over its spend cap (#186) (#202)
  • per-account spend cap + alert thresholds (#156) (#187)
  • Usage + billing view — handled-unit rollup (#157) (#185)
  • wire AccountKeys — add/revoke BYOK key modals (#107) (#181)
  • SEO & assets — OG restyle, self-hosted fonts, JSON-LD (#175)
  • register es locale + i18n tests green (#174)
  • Nav / Footer / Layout shell + chrome tests (#171)
  • Drop Bootstrap, self-host fonts (Inter + JetBrains Mono) (#170)
  • i18n namespace, locale readiness, fast CI + Lighthouse budget (#169)
  • contact form → email — tests (#167)
  • blog generation pipeline — slice 07 (#166)
  • R2 wrapper — package, image, keys, tests (#164)
  • posts table — schema, queries, migration, tests (#163)
  • SSR shell + locale routing — slice 01 (#160)
  • UI Theme (SCSS) + Components — slice 02 (#159)
  • usage metering — audit-derived billable-event ledger (#149) (#154)
  • make the onboarding funnel state-driven (#106) (#153)
  • dev session/login — authenticated /v1 client (#108) (#152)
  • verify BYOK key against provider before key_set (#105) (#151)
  • BYOK capture endpoints — /v1/billing/keys (#104) (#147)
  • mount /v1 + bearer auth; wire onboarding + me (#102, #103) (#143)
  • onboarding lane — provision tenant rows from install lifecycle (#101)
  • wire policy MCP servers into the agent session + secret store (#77) (#80)
  • repo-steered KB — repo_notes + kb block in .maintainer.yml (#29) (#79)
  • in-repo Playbooks under .maintainer/playbooks/*.md (#30) (#76)
  • idempotent webhook re-entry — reconcile side effects (#31) (#75)
  • cost accounting from totalUsage + cacheReadTokens (#22) (#55)
  • remove the step-count leash; budget kill at the boundary (#21) (#54)
  • annotate-expected-before-acting (#26) (#53)
  • wire memory writeback so session.completed persists repo_memory (#19) (#51)
  • wire email + routing ports into the agent-run tool context (#16) (#49)
  • wire search.* to the DB — dedup, repo memory, contributor history (#15) (#48)
  • issue triage — scoped plan + confidence gate (#27) (#47)
  • semantic model tiers + price/context registry (#28) (#46)
  • route PR review threads by author tier + free praise resolve (#25) (#45)
  • pin PR CI to head SHA + split CI timeout from failure (#24) (#44)
  • thread bot-signal + entity context into the session prompt (#14) (#43)
  • dispatch entity -> loop (select tools + compose prompt by kind) (#12) (#42)
  • buildSdkTools accepts a pre-selected loop tool list (#13) (#41)
  • strip forbidden mutating tools per loop at assembly (#32) (#40)
  • persist issues/PRs on agent-run so entityRef resolves precise rows (#35) (#39)
  • DB-backed AuditStore + fix prev_hash canonicalization (#34) (#38)
  • wire agent-run consumer into startup (#11) (#36)
  • v1 REST surface — repos, issues, prs, me + middleware (#20)
  • BYOK envelope crypto + dashboard SPA + onboarding state machine (#10)
  • escalation engine + email notifications (#9)
  • memory writeback — embed + persist on session.completed (#8)
  • agent loop on Vercel AI SDK + agent.run consumer (#7)
  • capability enum in packages/policy (#6)
  • audit writer + hash-chain integrity (#5)
  • agent.run payload + entity types in queue package (#4)
  • GitHub App client + ingest webhook verify/enqueue (#3)
  • policy schema + validator + JSON schema publish (#2)
  • loadSecret helper for the *_B64 convention
  • MJML templates + SMTP transport via Stalwart
  • deployable shells for all 5 apps + Dockerfiles + CI/CD

Bug Fixes

  • request BYOK structured output via tool-calling (#1443)
  • tenant-scoped acting resolve for Sentry/Linear intake (#1420) (#1436)
  • seat the /world progress bar clear of the nav pill (#1433)
  • propagate runtime env (GH_TOKEN) to gh subprocess in bunGh (#1430)
  • serve /art/<variant>/ stills so the light theme renders (#1431)
  • attest repo-less fleet runs so the audit outbox stops wedging (#1424)
  • one font family site-wide, and no em dashes in the copy (#1407) (#1408)
  • the approval row names the PR and its author (#1396) (#1404)
  • /world polish — em dashes, progress bar, footer font (#1403)
  • destructive text contrast + dead audit links (#1401)
  • a PAT names its human on every audit row, and two local-only verify failures (#1402)
  • world:publish uses a separate R2_ADMIN token for PutBucketCors (#1397) (#1398)
  • brand text is unreadable on the dark theme (#1393)
  • navigate before probing, or the viewport reads 980px (#1392)
  • CTA band button is unreadable on the dark theme (#1391)
  • gate the migration generator's baseline against the journal (#1379) (#1382)
  • skip link fails AA contrast in axe's blind spot (#1377)
  • drop inbound_events.processed_at — a column with no writer (#1378) (#1380)
  • hide #world-scenes before mounting the scroll-world engine (#1346 follow-up) (#1372)
  • give a template the endpoint its compatible backend needs (#1361)
  • setup must 'codegraph init' a fresh checkout, not 'index' it (#1354)
  • bound the expectation repair loop — stop offering repair after two rejections (#1349)
  • fence the monorepo's own source with review.enabled false (#1341)
  • declare policy.defaultTier GREEN so non-deploying issues stop parking (#1339)
  • name WHICH cause an unmet expectation has, per action (#1324)
  • enforce the art immutability rule, and drop the duplicate video poster fetch (#1325)
  • give issue-loop step 6 a fleet branch, and a catch-all for the next mode (#1323)
  • stop waking a maintainer session on check transitions that carry no verdict (#1322)
  • AgentBackend was missing openai-compatible, and its mirror guard was a hand-written copy (#1317)
  • unstick the closing CTA band, paint its art, and add the enterprise visual layer (#1319)
  • the unmerged-index gate ran before staging, refusing every conflict resolution (#1312)
  • BYOK is 13 providers + any OpenAI-compatible endpoint, not three (#1311)
  • make a DZ_UPDATE_PUBKEY disagreement loud — boot assertion in the api, box-boot warn in the runner (#1305)
  • delete limits.max_comments_per_issue_per_day, and with it the whole limits: block (#1302)
  • delete limits.max_steps_per_session — a published knob nothing read (#1297)
  • /docs/byok advertised 3 providers; BYOK accepts 14 plus any OpenAI-compatible endpoint (#1295)
  • recognise the team AI gateway as a flat-rate subscription endpoint (#1282)
  • correct the byok_keys.kind comments that promise a dashboard edit path that does not exist (#1280)
  • bound fleet-event redeliveries so a permanent failure can't pin the lane (#1278)
  • restore the e2e exclusion in the package test script (#1277)
  • disclose when a deep review could not run (#1268)
  • harness-owned conflict resolution (#1232) (#1256)
  • journal orphan migration 0116 — runner_minutes exists in no migrated DB (#1241)
  • pin per-stream max_msg_size above app-level payload caps (#1236)
  • drop synthetic queue-standing frame from liveRows (#1233)
  • widen runnerReleaseTargetForArch to the real os.arch() spellings (#1230) (#1231)
  • emit queue-standing frame alongside tasks topic (#1012) (#1227)
  • boot-time identity assertion — warn when box runs on a personal OAuth token (#1225)
  • prefer DZ_INSTALLATION_TOKEN over GH_TOKEN — close the impersonation half of #1148 (#1224)
  • sweep-side abandon backstop + stop acknowledging bot quota notices (#1210)
  • a PR closed without merging now retires its babysit state (#1185)
  • fleet handoff mode + broadcast hardening (#1026, #1023) (#1201)
  • project refusal_reason on ci runs so refused pills distinguish permission_missing (#1189)
  • per-claim GH_TOKEN delivery (#1161) + per-IP rate limit on /v1/runners/enroll (#1084) (#1184)
  • key the follow-up id on attempt — the retry loop has never retried (#1182)
  • donate wizard modal width + donations/received section spacing (#1181)
  • journal orphaned 0068 FK indexes + thread parallelSafe through dispatch (#1014, #1016) (#1180)
  • a bot comment no longer pins a PR one branch above merge (#1179)
  • three faults that left every enrolled box stale, mute and burning tasks (#1177)
  • Fleet UX fixups — display_name, roster order, Coding band cell (#1172)
  • hide GitHub-only members from Roster; dedup on every account (#1160)
  • collapse developerz-ai roster by verified email + add service identity (#1155)
  • approve Ivan operator user (#1144) (#1145)
  • blog cron advances through seed topics instead of rewriting one post (#1139) (#1140)
  • gate color-contrast — settle the animations, then fix the 9 real failures (#1133), and verify #1136 (#1138)
  • gh.prs.merge reads platform review verdict, not just external reviews (#997)
  • solo ladder levels off at $2000/AI dev, matching the published price (#1137)
  • make the classifier deadline test deterministic, stop useNativeHttp silently no-opping (#1134)
  • close the babysit review-absence hole + egress lane re-assert + test-mock leakage (#1080, #1081, #1119) (#1127)
  • correct canonicals, sitemap coverage and social meta; add drift guardrails (#1126)
  • make blog-gen.test self-sufficient — stop inheriting another package's global SDK mock (#1119) (#1130)
  • page-walk the babysit observation reads — a page-2 signal no longer reads as permission (#1079) (#1118)
  • re-arm a session for a delivery that landed mid-run (#885) (#1117)
  • destructive dashboard path becomes opt-in + three refusal fixes (#1099, #1100, #1101, #1102) (#1104)
  • zombie-runner reaper + consumer task_reassign + babysit dedup + audit-relay error (#1092)
  • re-drive a crash-orphaned agent.run after the stuck-session reap (#750) (#1029)
  • a defect asking for a clearer message is a bug, not enhancement (#762) (#1022)
  • suppress z.ai glm-5.2 reasoning on the bounded classifier (#804) (#1021)
  • enforce escalation category vocabulary at the tool boundary (#776) (#1017)
  • plan-DAG lifecycle batch — tenant-fenced task↔PR link, merged flip, stale-repo-row resolve, late-upstream back-fill (#995 #990 #988 #991) (#1013)
  • decode the repos-list last-activity timestamp to a real Date (#999) (#1000)
  • login sync never demotes an existing membership role (#982) (#998)
  • a deduped force-escalate keeps the operator's new reason (#593) (#960)
  • revoke removes the box from the fleet roster (#953) (#954)
  • stop the sidebar clipping the org-switcher popover (#934) (#938)
  • surface the real failure reason + provider brand marks (#801) (#937)
  • action feedback everywhere + pagination for long lists (#924) (#926)
  • onboarding never leaves "Validate" when .maintainer.yml was already validated (#923) (#925)
  • reload the page on an org switch (#921) (#922)
  • five console UI bugs — invite, panels, rail, spacing (#916) (#917)
  • Merge-gate hardening + CI-wait ceiling (120 min) (#914)
  • classify low_confidence / ci_timeout escalations (was 'unknown') (#906) (#907)
  • run the #897 model probe on the only live verify path (#902) (#903)
  • onboarding never completes (#896) + BYOK verify never tests the model (#897) (#899)
  • promote operator to owner of its own org (#895) (#898)
  • verify + delete org BYOK keys, and complete onboarding (#892) (#894)
  • approve the operator user — closed-beta bootstrap unblock (#863) (#889)
  • agent.run durability + stuck-session reaper (#750) (#881)
  • never replay a pending ledger row as success (#879)
  • filter fleet dispatch to coding-capable runner roles (#877)
  • one session lease + a bounded SIGTERM drain (#875)
  • bump happy-dom 15→20 — repairs broken DOM sibling chains (#864)
  • seed the missing use:integration:slack scope + a parity guard (#859)
  • distinct bell-ring icon for the push toggle (#860)
  • pass env to spawns — bun 1.3.14 drops runtime process.env mutations (#857)
  • seed a valid audit hash-chain in repo-detail dev seed (#777) (#846)
  • provider-aware fallback ceiling for metered unregistered BYOK ids (#780) (#821)
  • route missing-key fallbacks through t.has() (#790) (#820)
  • org-SSO interactive legs bounce with ?login_error, never raw problem+json (#787) (#791)
  • flat-rate BYOK keys book $0 and never trip the session cap (#781)
  • only landed follow-ups may retire a human PR comment (#782) (#783)
  • waitlist CTAs, orchestrator-honest hero, light-theme logo (#778)
  • make expectation reconciliation resilient to split batches (#757) (#774)
  • steer a rejected check to re-check the same expectation, not split (#757) (#765)
  • suppress redundant classifier fallback after a substantive comment (#758) (#760)
  • re-check the same expectation instead of splitting (#757) (#759)
  • dedupe PR trigger replies (#747)
  • route PR conversation comments to PR loop (#745)
  • recover bounded classifier attempts (#742)
  • attach the weekly digest cron — deliver stored routine escalations (#738)
  • enforce the free-tier session cap — waived accounts get a hard monthly ceiling (#737)
  • set_tier writes verified_oss_at — tier and OSS verification can no longer diverge (#736)
  • Policy tab / project.inspect return the effective policy — tier gate applied to the display path (#735)
  • wire the triage boot memory to the live similar-issues search (#734)
  • apply the free-OSS auto-merge tier gate on the loop path (#732)
  • allow ns:name colon in RefName so integration refs parse (#711)
  • restore reconciled expectation aliases (#709)
  • repair GLM label arrays (#707)
  • require expectations before mutations (#705)
  • route GLM JSON through schema prompt (#704)
  • atomic org-member mutations — close the last-owner TOCTOU (#584) (#634)
  • make expectation IDs copy-safe and repairable (#701)
  • ground issue questions in repo files (#700)
  • retry empty structured OpenRouter responses (#697)
  • fail closed on inconsistent model output (#695)
  • repair remaining GLM tool shapes (#693)
  • replace phantom pause with honest defer (#691)
  • repair known GLM tool argument shapes (#690)
  • answer PR mentions without self-triggering (#688)
  • activate native review and credential-mode replies (#684)
  • preserve task branch identifiers (#681)
  • require task marker in coding PRs (#678)
  • bound structured classifier calls (#666)
  • persist fleet run audit (#664)
  • reconcile consequential custom tools (#660)
  • scope push and installation tool surfaces (#659)
  • reconcile digest queue writes (#658)
  • persist terminal audit before session projection (#657)
  • make issue-loop transitions deterministic (#656)
  • ground completed sessions and event order (#654)
  • harden OpenRouter structured classification (#647)
  • hard-stop ended sessions and dedupe greetings (#610) (#641)
  • respond to mention comments (#612) (#627)
  • ground-truth session.check — reject a phantom pass (#615) (#624)
  • persist terminal session state (#625) (#626)
  • durable audit on approvals no-op + failure branches (#583) (#608)
  • issue triage qualifies FIRST, then behaves per type (#611) (#614)
  • durably audit forced handoff/escalate failures (#583) (#592)
  • read arbiter coding demand over the box's claim scope (#586) (#594)
  • token.mint must exclude admin:* from the default scope set (#585) (#589)
  • terminal-state guard in applyPrCore — no merged→open downgrade (#587) (#607)
  • babysit address-once for human comments + sweep ceiling (#581) (#604)
  • version escalate idempotency key by PR head sha (#580) (#597)
  • seed enum-valid handoff_status values in the repo-detail seed (#501) (#563)
  • surface thrown HTTPExceptions as problem+json, not a masked 500 (#498) (#553)
  • idempotent forced escalate — one open escalation per (issue, category) (#500) (#558)
  • point policy + runner empty-state CTAs at their real targets (#377) (#555)
  • balance the /pricing tier grid into 2 + 3 (#529)
  • real loop-card images, styled cost calculator, closed-beta badge (#517) (#523)
  • maskable icon + waitlist error alert (#517) (#522)
  • Return real count from deleteExpiredIdempotencyKeys (#507)
  • Frontend correctness — SolidJS (slice 09) (#506)
  • real telemetry on failed/escalated (task 46) (#505)
  • Runner runtime robustness hardening (PR#9, final) (#504)
  • Validate X-Dz-Account shape + uniform error contract (#495)
  • path traversal validation + format_command trust boundary (#494)
  • accept the uuid ids the list emits on issue/PR detail routes (#485)
  • require reconcile ledger for mutating tools (fail closed) (#477)
  • dedup PR/ops_action by task_id on reaper reassign (#473)
  • lighthouse workflow nits — never cancel live audits, red nightlies, re-audit labeled pushes (#472)
  • stop pruning GHCR by version count; disable buildx provenance (#392)
  • unify secret redaction across all provider key shapes (#469)
  • DX correctness — local dev loop (setup, dev-stack, new-package, editor config) (#409)
  • install CTAs link straight to the GitHub App page (#323) (#376)
  • finished wizard offers the GitHub App install link (#323) (#352)
  • repo-detail hardening — honest counts, pinned refetch, deflaked tests, axe every tab (#357) (#360)
  • reaper revives a DB-offline runner whose presence is live (offline->online reconcile) (#372)
  • scout declines re-authoring a scout-authored task (breaks re-scout loop) (#371)
  • #367 event-sink reconciles task lifecycle (run_started→in_progress, run_finished→completed, error→failed)
  • grant $JS.API.CONSUMER.LIST.FLEET_TASKS in runnerSubjectScope
  • narrow it.each llm tuples with as const
  • grant $JS.API.INFO in runnerSubjectScope — views.kv() needs it against an operator-mode server
  • #361 hardening — onError catch-all + graceful login_error on callback DB/IdP failures
  • transparent logo — drop baked-in white background box (#364) (#365)
  • honest overview — drop unreachable last-release stat (#356) (#363)
  • zero-config dev bootstrap — same-origin API base (#354) (#359)
  • point vite dev proxy at API's actual port 3001 (#345)
  • reconcile duplicate 0025 + stranded platform_tokens (#333) (#339)
  • swallow Stripe duplicate-identifier 400 in reportMeterEvent (#319)
  • COPY assets/ into marketing image — build:icons needs the repo-root logo (#316)
  • real logo for OG/favicon + restyle contact form (#244) (#280)
  • build the real SolidJS SPA, not a placeholder (#249) (#268)
  • COPY packages/mcp/package.json in all 5 app Dockerfiles (#271)
  • prune inbound_events on a retention window (#254)
  • retry GHCR prune once — delete API 500s intermittently (#246)
  • run api image from source to fix ReadOnlyFileSystem boot crash (#242)
  • exact per-(account,window) ordinal for spend-cap crossing (#191) (#224)
  • hard spend-cap ceiling via atomic in-flight reservation (#203) (#218)
  • drop the reversed repo-count pricing gate (usage billing) (#217)
  • bun dev + per-app ports so the local stack actually starts (#207)
  • restore broken layout CSS, fingerprint assets, add logo + brand illustrations (#204)
  • accept raw-UUID BYOK key ids on revoke/verify (#179) (#182)
  • run worker + ingest from source (bun build bundle broke them)
  • marketing build actually runs — fonts + correct invocation
  • build marketing with real pipeline, run SSR from source
  • copy packages/storage into image build context
  • serve /schemas/* + /docs/maintainer-yml (#140) (#146)
  • reliable test harness — no SSR false-red, no dist phantoms (#57) (#141)
  • redirect / to /repos + catch-all 404 (#136)
  • harden onboarding lane — defensive account kind + durable dedupe (#135)
  • concise event summary in boot prompt, not raw webhook JSON (#99) (#100)
  • don't RepoIdSchema.parse a bare-uuid repo id in memory write-back (#91) (#98)
  • wire a BYOK-backed Classifier so classify.* tools resolve (#92) (#96)
  • wire a production SessionSink so session.* tools resolve (#86 follow-up, fixes #90) (#93)
  • rewrite dotted tool names at the OpenAI/Gemini wire (#86) (#88)
  • free dispatch jobId on terminal state so repeat events run (#85) (#87)
  • persist agent_sessions + type session ids as text (#82) (#84)
  • sanitize colons from dispatch jobId (BullMQ rejects ':') (#81) (#83)
  • update en.json to match index.ts t() keys

Performance

  • responsive AVIF art ladder, a looping sci-fi hero video, and foreground parallax (#1320)
  • fix three confirmed memory leaks + cut the per-edit typecheck tax (#1213)
  • shard the suite across cores and stop paying for DOM diffs (#1129)
  • assigner concurrency + event-sink partitioning (#1109)
  • quick wins — presence batch, consumer create, kick-primary + measurement (#1066)
  • journal plan_groups_task_id_idx — orphaned 0068 never applied (#1007) (#1015)
  • Playwright browser cache, parallelize build, gate release image builds (#603)
  • batch four N+1 query sites in the worker (#588)
  • batched fleet presence read — kill fleet_status N+1 (#582)
  • batch playbook loading into one GraphQL request (#579)

Assets

  • smooth logo.svg (high-res re-trace, no more choppy edges) (#755)
  • replace stale logo.svg with robot-head vector trace (#752)

Build

  • bundle seed-org-sso into the image (/app/seed-org-sso.js) (#434)

Chores

  • runner v0.0.4 — bunGh env propagation (#1430) (#1432)
  • delete the legacy paths the Non-negotiables already forbid (#1423)
  • this repo carries its own managed .mcp.json (#1405) (#1406)
  • move /world waitlist CTA to a bottom outro band (#1400)
  • commit the sweep command and make its mobile pass runnable (#1381)
  • runner v0.0.3 — review-lane per-claim App token (#1331)
  • bump to v0.0.2 + dogfood-loop-closed progress note (#1229)
  • adopt merge.crDisabledFallback: self-attested (#1211)
  • retry release after re-seeding R2 secrets (#1173)
  • retry release with fresh PKCS#8 signing key (#1166) (#1171)
  • publish signed release for new pubkey (#1166 rollout) (#1162)
  • compress .claude config and fix stale command docs (#1125)
  • untrack operator-local MCP + editor config
  • pass GIT_SHA into the dashboard image — commit-stamped SW versions (#979) (#1002)
  • onboard agent-pipeline config (ci-only review gate) (#893)
  • no-worktrees rule + /feature and /planx commands
  • drop NOTES.md, add no-worktrees rule + feature/planx commands
  • commit our own .maintainer.yml (#771)
  • remove orphaned 0073_deep_pretty_boy migration (#665)
  • wire codegraph MCP server (#425)
  • move non-gating Lighthouse audit off the per-PR path (#350)
  • provision-dev-worker.sh — 24/7 autonomous build worker on a VPS (#282)
  • --live flag for the one intentional prod Stripe provision (#155) (#243)
  • drop the orphaned billing_periods table (#155) (#236)
  • collapse vestigial account.tier team_1/5/25 → paid (#216) (#219)
  • full green gate (typecheck+lint+test) (#177)
  • gitignore local actionlint binary
  • align config with current conventions
  • add .env.test dev-env template
  • add /planx execution-plan command
  • run runtime images as non-root bun user (UID 1000) (#139)
  • gitignore aitm local state (.ai-task-master/) (#50)
  • refresh bun.lock after mjml v5 → v4 downgrade
  • scaffold monorepo base, CI, .claude, coderabbit, i18n
  • bootstrap repo with idea specs, README, and CLAUDE.md

Ci

  • add Aggregate CI gate; consolidate requiredChecks (#1220)
  • pass R2_ENDPOINT so the runner release lands (#1166) (#1169)
  • pass R2_ENDPOINT so the runner release lands (#1166) (#1168)
  • Wire new e2e lanes into CI (#993)
  • dual-push images to DOCR (developerz.ai DO account) (#440)
  • gate typecheck+build on detect.filter, cache .tsbuildinfo, test changed-workspaces (#408)
  • restore gates the change-detection rework dropped (#353) (#358)
  • one all-cores test job + workspace change detection (#347)
  • gate Dockerfile COPY set vs workspaces on PRs (#272)
  • keep 10 GHCR versions, not 3 — stop pruning in-use digests
  • drop dead Komodo DeployStack job — deploy is pull-based via Image Updater
  • drop seal-ghcr-pull throwaway (push token also lacks pull on developerz-* pkgs)
  • make pull-check informational, seal regardless
  • fix seal-ghcr-pull YAML (cert as single base64 line)
  • one-shot to seal ghcr-pull from push token (cluster can't pull private pkgs)
  • drop ghcr-visibility workflow — package visibility is UI-only (no REST API)
  • use GHCR_PRUNE_TOKEN (package admin) for visibility step
  • one-shot workflow to set developerz-* GHCR packages internal
  • push GHCR via PAT + tag images with OCI source label
  • declare Blacksmith runner labels for actionlint
  • fix actionlint runner + bump to latest versions

Docs

  • publish OpenAPI document URL (#1427)
  • Delete stale API/MCP claims (#1426)
  • repoint the KEK follow-ups at #1384/#1385 now that #1300 is closed (#1386)
  • weekly box report — August 2026 (#1369)
  • reconcile platform-vision-arc status.yml against real code (#601) (#1365)
  • point the open KEK half at #1300 now that #1281 is closed (#1303)
  • close slice 06 on the shipped KEK rotation, and make status.yml parse again (#1296)
  • correct the feature-flag example — FLEET_UNIFIED_ARBITER is ON in prod (#1271)
  • close bug #14 and mark slice 03 done (#1054) (#1261)
  • port hive-mind /feature workflow
  • add plan-authoring constraint doc (#1054) (#1234)
  • add 2026-07-30 progress note (#1228)
  • codify PR body convention — no emoji, no codesmith:footer (#1212)
  • per-VM enrollment recipe + rollout-runbook-v2 (steps 7-8) (#1170)
  • fold in the three OSS-donation decisions (payment, hours cap, $50 scope)
  • OSS autopilot — free public repos, paid private, donated capacity
  • teach the ui-debug skill the v1.6.0 persona flow (#1132)
  • de-stale the BYOVM P3 status line in CLAUDE.md (#1076) (#1078)
  • KEK security decision + plan 101 truth-up fixes (#1065)
  • pin the work→PR→review→fix→merge flow (plan 101)
  • versatile VPS agent — team of subagents (plan 101)
  • flat-rate keys trip the session-count cap by design (#805) (#1018)
  • Record the OpenAPI decision (#994)
  • external-client PAT onboarding page (mcp-clients) (#835) (#939)
  • document STRIPE_PRICE_ENTERPRISE env var (#959)
  • finish-platform gap closure — 12-slice plan from 8-agent deep audit
  • simplify the no-worktrees note in CLAUDE.md
  • add NOTES.md project summary
  • reconcile releases.md with the shipped ReleaseSchema (#845) (#847)
  • integration guide pages for Copilot, Claude Code, OpenHands (#799)
  • pricing — human seats free, billing per AI dev (#751)
  • refresh README + architecture docs (rich links, current topology, seat pricing) (#749)
  • Regenerate policy docs with memory fields (#728)
  • memory gardener + runner env hygiene plan (102)
  • rollout, e2e, canary — close CI/CodeRabbit drop-in plan (#717)
  • CI runners + CodeRabbit drop-in finish plan (#667)
  • add a human-facing README to every workspace (#606)
  • derive verb/scope tables from the army catalog — kill mcp-doc drift (#499) (#556)
  • army orchestration vision (epic #509) (#514)
  • fix doc rot in package CLAUDEs and dependencies (#508)
  • full-codebase audit fix plan (101)
  • consolidated live-status verification 2026-07-12 (#437)
  • runner-enrollment runbook + readiness audit for C&C VPSes (wave-2 2e prep) (#436)
  • reverse "Login with Tesote" go-live result (#435)
  • stale-PR close audit 2026-07-11 — 0 closed, 6 left for review (#431)
  • deployment smoke-test 2026-07-11 — platform live, 3 surfaces NXDOMAIN (#430)
  • wave-2 space-reconcile design — admin-MCP verb map + build plan (02c) (#429)
  • index built for all 5 managed repos (build pass) (#428)
  • codegraph .mcp.json sweep complete — 5/5 repos wired (#426)
  • enterprise SAML design + feasibility (m18) (#424)
  • fleet PR triage — 42 open PRs classified (2026-07-11) (#423)
  • wave-2 space-configs.yml — per-space config_entries (scope='space') (#421)
  • wave-2 KB digests (spaceContext) for both orgs (#420)
  • wave-2 engineering-spaces roster for both orgs (#419)
  • competitive positioning — "a better Devin" (#417)
  • .mcp.json + codegraph compliance audit (#415)
  • CodeRabbit comparison study + harvest script (#414)
  • README index + Local development section (#412)
  • sync CLAUDE.md to current workspaces + phase status (#411)
  • vision arc — smart agent templates: #{{key}} interpolation from scoped prompt-vars KV (tesote prompt-cascade pattern)
  • vision arc — model tier tags (smart/general/fast), tier-based routing
  • vision arc — LLM pool (multi-provider, multi-key, per-task model routing + explicit override)
  • vision arc — REST stays concrete with uniform list-query grammar (page/sort/filter/search); meta-pattern is MCP-only
  • vision arc — bible ch.07 MCP doctrine (parameterized meta-tools) + ch.11 context economy (budgets, load-on-demand)
  • vision arc — brownfield drop-in vs greenfield gold-standards scaffold; setup mode interactive like scout
  • vision arc amendments — sealed/materializable secrets, sustainability + senior persona, box specs/stats/names, hybrid setup
  • platform vision arc — pricing, multi-org, MCP control plane, fleet autonomy, review, CI runners, storage, dashboards, OSS donations (#101)
  • fleet box networking — inbound SSH only, runner dials out
  • command-center doctrine — cockpit, scout/setup/worker/monitor, provider economics, scaling recipe
  • NATS army sweep — README stack table, roadmap P3/P4, runner e2e (#344)
  • capture sponsorship/donation marketplace idea (pending planning) (#270)
  • realign to the 4-phase model + k3s + usage billing (#215)
  • refresh CLAUDE.md — "spec phase, no code yet" → live in prod (#208)
  • document agent-run consumer secrets (#33) (#37)
  • worker agent.run fail-fast secrets gate (#33) (#158)
  • deploy is k3s+ArgoCD now, not Komodo (migration complete)
  • marketing site overhaul plan; chore: add kubeez MCP server
  • marketing site + AI blog pipeline execution plan
  • Phase 2 money model → usage-based (per PR/issue handled) (#150)
  • reconcile Phase 2 money model — tier/repo-count, defer metering (#137) (#148)
  • distil ai-dev prior art into docs/ai-dev-distillation
  • tighten deps + document append-only invariant (#1)
  • releases.md — agent cuts GH Release, user's CI publishes
  • drop self-hosted edition entirely (SaaS-only, no on-prem)
  • clarify SaaS-only delivery (CodeRabbit-style install)
  • clarify repo is closed-source and proprietary

Ingest

  • route workflow_run and stop persisting unsupported events (#883)

Marketing

  • enterprise redesign — waitlist funnel, solutions pages, old logo, company footer (#518)

Other

  • Task #15: Soft-cost warn + real terminal cause (#482)
  • DX ergonomics — scripts + editor + pins (#410)
  • Merge origin/main (repo-detail tabs, webhooks, brand fixes) into fleet work
  • Merge branch 'worktree-agent-a8fa373195d219f10' into integration
  • Merge dispatch-sinks branch (direct sink + GET /v1/tasks + fleet queue UI)
  • test(db),ci: live-DB auth/token/onboarding coverage + CI integration lane (#144) (#238)
  • a11y: reveal markup + CLS/contrast pass (#176)
  • ignore

Quick

  • Polish batch (#981)

Refactors

  • replace comparison table with differentiator cards (#1203)
  • shared edge validation + problem+json + dedup (#987)
  • remaining god-file splits (army/agent-run/worker-index/review/ci-boxes/wiring) (#985)
  • split index.ts's buildApiDeps into per-domain builders (#983)
  • Replace hardcoded app origins with APP_ORIGIN (#950)
  • RAII lifecycle guards — using + settlement guard + WorktreeHandle dispose (#573) (#578)
  • unify account id format — acc_ text ids (#145) (#183)

Runner

  • run-state machine, resume-on-redelivery, and crash-resume proofs (#1071)

Style

  • proper technical-docs styling (#517) (#525)

Tests

  • assert every /world art URL actually loads (#1434)
  • run the REAL join script in a container, and fix the ring it drops (#1388)
  • add #1004-tagged acceptance tests for merge-gate platform-verdict surface (#1221)
  • prove model brain → grounding → posting wiring (#806) (#1214)
  • e2e for Admin + RepoDetail + donateBadgeSnippet contract (#1202)
  • e2e for Notifications + GithubToken routes (#1198, #1199) (#1200)
  • e2e for README badge + /oss surfaces (#1193, #1194) (#1197)
  • regression test pinning pricing.tiers.oss_free copy (#1195) (#1196)
  • live OSS tier-gate 402 + donor wizard post-paywall tabs (#1190, #1191) (#1192)
  • cover repo-visibility ingest, webhook, backfill (#1142)
  • live-DB proof of the free-OSS auto-merge doctrine (#1046) (#1122)
  • full green gate + live-probe fixes (arc 101 task 98) (#1121)
  • MCP client discipline + prove the seam with a second service (#1103)
  • prove repo secrets never touch disk/argv/event (#1094)
  • RAII foundation — disposers everywhere (#1067)
  • MCP scout entry + API parity (slice 07) (#1049)
  • fleet scheduler — isolation, hardening, arbiter default-on (06b) (#1045)
  • reordered funnel + rail test coverage (#1042)
  • prompt-cascade layer order + floor-unweakened guard (#1031)
  • route-container tests for the four routes that had none (#936) (#940)
  • prove idempotent replay over the MCP transport (#873)
  • happy-dom form.nextSibling canary (#481) (#773)
  • cover defaultCiExecDeps' real archiveLog wiring end-to-end (#676)
  • story-driven e2e for mutation + account flows (#531)
  • story-driven e2e coverage for critical flows (#527)
  • Playwright story suites for dashboard + marketing, gated in CI (#516)
  • installer shell + DAG-readiness assigner tests (slice 04) (#396)
  • cover #361 session-write failure path (session_create_failed) (#374)
  • unit tests for janitor-cron framework (#293) (#342)
  • SSE stream integration tests for FleetAudit (#61) (#340)
  • control-MCP fleet tests + template CRUD verbs (#57) (#338)
  • monitor STALLED/OK verdicts + load-aware selection tests (#53) (#337)
  • replay + scout tests (#49) (#336)
  • vault tests — KEK roundtrip, hygiene, gateway audit (#41) (#334)
  • enroll e2e — join script + NATS KV presence (#37) (#332)
  • runtime integration test — connect → register → pull → emit → drain (#23) (#326)
  • NATS+PG integration tests for fleet dispatch plane (#324)
  • live-PG integration tests — tasks CAS, task_run_events verifyChain, outbox drain-once (#320)
  • route tests + HowSteps section tests + contact island assertion (#173)
  • home sections tests + i18n coverage (#172)
  • add jsonld + canonical unit tests (#168)
  • blog index, slug, and RSS feed tests (#165)
  • MDX pipeline + docs slug route tests (#162)
  • route render tests — slice 03 (#161)
  • cover all components + routes (#58–#73) (#142)
  • replay-fixture harness for the agent loops (#23) (#74)
  • E2E smoke for issue/PR/release loops happy-path (#18) (#56)
  • verify release.cut tag_only path + guard bump tiers (#17) (#52)