Repository navigation
Releases: Smana/maku
Release list
v0.32.3
What's Changed
- chore(deps): bump the github-actions group with 3 updates by @dependabot[bot] in #269
- ci: native arm64 builds, the release gate once, and harness-checks red only for the harness by @Smana in #305
- docs(readme): a light-mode screencast of the room list and a factory run by @Smana in #307
- fix(triage): an oracle class's classification names its fallback, so the Task's status is valid by @Smana in #306
Full Changelog: v0.32.2...v0.32.3
v0.32.2
What's Changed
- fix(factory): an approval binds to the head it reviewed, not to GraphQL's moving commit oid by @Smana in #301
- fix(factory): write a merge's and a revert's decision as soon as GitHub takes it by @Smana in #302
- fix(factory): the decision record prints paused and capped as unread before the gate reads them by @Smana in #303
Full Changelog: v0.32.1...v0.32.2
v0.32.1
What's Changed
- fix(harness): a path the judge names is matched whole, so 'path.md: proves' no longer reads as missing by @Smana in #297
- fix(migrategroup): a delete that races the controller is retried on conflict by @Smana in #298
- feat(ui): the room list refreshes on its own, every 10 s by default by @Smana in #299
- feat(ui): the run page's strip says what each fact is, and one thing next by @Smana in #300
Full Changelog: v0.32.0...v0.32.1
v0.32.0
What's Changed
- docs: the maku.ogenki.io group move runbook; the gate refuses the old group and metric names by @Smana in #289
- docs(migration): rollback resume order and pod wait; GHCR cleanup drops the old names by @Smana in #290
- fix(migrategroup): dry run predicts a copy the server would prune or reject by @Smana in #291
- feat(factory): a maintainer's approval merges an agent pull request by @Smana in #292
- feat(factory): the scoper's end in the harness, inline Acceptance, the reviewer brief by @Smana in #294
- feat(harness): the judge round waits on pending checks and quotes the failing log; run cost by role by @Smana in #296
- feat(factory): shadow before the blockers, factory/drill, and the breaker's recovery by @Smana in #293
- feat(factory): the decision record, the human-path metrics, and the tally's replay by @Smana in #295
Full Changelog: v0.31.0...v0.32.0
Upgrading
Deploy order. crossplane-configuration v0.9.30 (the AgentRun XRD lets a reviewer carry its brief, crossplane-configuration#70) and its maku-harness digest bump must reach the cluster before this factory. Without them the reviewer runs on the pull request alone and posts one room note, and the harness changes below do not reach runs.
New switches, off by default. A factory upgraded without a config change behaves as v0.31.0, except where noted.
| Key | Effect when set |
|---|---|
merge.approveToMerge: true |
A maintainer's APPROVED review of an agents pull request's current head arms the merger, outside the caps, recorded as a human merge (factory/approved-merge, outcome approved_merged). Approvals, the next UTC day and a lifted pause return a handed-off task to the gate. |
merge.breaker.recoverAfter: N (0 ≤ N < window) |
A tripped class resumes once its N newest merges are clean, mature and newer than its newest bad merge. |
Changes without a switch.
- Shadow decisions are no longer stopped by
class_pausedorauto_merge_cap. They still read both, and the record sayspaused=andcapped=. - A maintainer's
factory/drillon a merged pull request, set beforefactory/revert, makes its revert a drill the breaker does not count. - Every merge decision carries a replayable
agent-factory-decisionrecord. - The scoper ends in the harness: nudged at
scoper.nudgeAt, stopped atmaxToolCalls, outcomebudget_calls. An inlineAcceptance:paragraph counts. - A pending-only
not_yetwaits for the checks within StuckAfter, with progress notes.
Metrics.
- New:
maku_factory_class_paused{repository,class}andmaku_factory_handoff_to_merge_seconds{class,reason,how}. - New labels:
merge_decisions_totalgainsrepository,human_wait_seconds_totalgainsreason,class, andrun_cost_usdgainsrole. A dashboard that sums these series is unaffected; one that matches the old label set exactly is not. pr_outcomes_total{outcome="reverted"}includes drill reverts.
CRDs. The Task CRD gains optional fields (approvedBy, mergedHow: approved, drill, handedOffAt, handedOffReason). Apply the chart's CRDs. Tasks already in AwaitingHuman have no handedOffAt, so their merge records no hand-off-to-merge observation.
v0.31.0
What's Changed
- feat: the CRD group moves to maku.ogenki.io by @Smana in #284
- feat: maku-broker migrate-group, the one-shot CRD group move by @Smana in #285
- feat: v0.31.0 serves maku_rooms_* and maku_factory_* only by @Smana in #286
- test: kind e2e for the CRD group move by @Smana in #287
- ci: a weekly GHCR cleanup, a dry run until GHCR_CLEANUP_APPLY is set by @Smana in #288
Full Changelog: v0.30.4...v0.31.0
Upgrading: breaking
Room,Taskand the quickstart'sAgentRunare served undermaku.ogenki.ioonly. On a cluster with live objects, move them withmaku-broker migrate-groupin a quiet window: follow docs/maku-group-migration.md. Do not upgrade outside that window. A fresh cluster needs no migration.- Helm never installs
crds/on upgrade: apply them first withhelm show crds oci://ghcr.io/smana/charts/<chart> --version 0.31.0 | kubectl apply --server-side -f -. - The broker's RBAC must grant
rooms,rooms/statusandrooms/finalizersonmaku.ogenki.io. - Metrics are served as
maku_rooms_*andmaku_factory_*only, including the broker-servedmaku_rooms_bridge_*.metrics.makuNamesis refused at startup: delete it from both configs. - The label and annotation keys
agents.ogenki.io/*, ServiceAccounts, Services, leases and audiences keep their names.
v0.30.4
What's Changed
- docs(contributing): the release table names the maku chart and crd-agentruns.yaml by @Smana in #281
- fix(ui): the Now line shows plain text, and a chip link's touch target reaches 44 px by @Smana in #282
- feat: controllers leave a migrate-group copy alone until its status is written by @Smana in #283
Full Changelog: v0.30.3...v0.30.4
v0.30.3
What's Changed
- fix(factory): the scoper hands off before it explores, runs at the task's tier when offered a split, and an unscoped end is said by @Smana in #278
Full Changelog: v0.30.2...v0.30.3
v0.30.2
What's Changed
- fix(factory): a request the daily task cap would reject is refused at POST /v1/tasks, and factory/publish names the rejection by @Smana in #276
- feat(factory): provider aliases and loops..models for public tasks (v3 F15) by @Smana in #274
- fix(harness): a judge continuation is boxed in time, so a finished run's resume ends with the loop's reason by @Smana in #275
- fix(factory): the scoper's handoff sentence names split as an argument of the same call, and a split left in the summary is said by @Smana in #277
Full Changelog: v0.30.1...v0.30.2
v0.30.1
What's Changed
- feat(ui): the room list speaks the room page's status line by @Smana in #270
- docs: the maku rebrand phase 2 plan (the CRD group in a quiet window) by @Smana in #271
- docs(web-ui): live frames with the status line first: the room page and the phone by @Smana in #272
Full Changelog: v0.30.0...v0.30.1
v0.30.0
What's Changed
- feat!: maku phase 1 — module, binaries, images, charts, CLI and metrics under the maku name by @Smana in #268
Full Changelog: v0.29.12...v0.30.0
Upgrading to the maku names
- Images and charts are
ghcr.io/smana/maku-*andoci://ghcr.io/smana/charts/{maku,maku-factory}; the old names stop at v0.29.x. Signatures are bySmana/maku/.github/workflows/release.yaml: a cosign or Fluxverifyidentity that namesSmana/agent-platformmust also acceptSmana/maku. - The CLI is
maku(release assetsmaku-<os>-<arch>,maku.sha256). Its first run copies the roomctl config directory into the maku one, so you stay signed in; the old directory stays, for a rollback. - Your agent's
factoryMCP entry still runsroomctl mcp: remove it, then runmaku setup <agent>so it runsmaku mcp.maku setupandmaku doctorname the entry and the exact command when they find it. - Metrics are served under both names in this release (
maku_rooms_*,maku_factory_*); v0.31.0 dropsrooms_*andagent_factory_*.metrics.makuNames: falseserves the old names only. - ServiceAccounts, Services, audiences, routes and config keys keep their names, so a Helm upgrade is in place, and
roomctlandmakuwork against either broker version.