-
v0.21.0
StableSome checks failedci / gate (pull_request) Has been cancelleddrift / govulncheck (pull_request) Has been cancelleddrift / surface-diff (pull_request) Has been cancelleddrift / forgejo-smoke (pull_request) Has been cancelledci / gate (push) Has been cancelleddrift / govulncheck (push) Has been cancelleddrift / surface-diff (push) Has been cancelleddrift / forgejo-smoke (push) Has been cancelledreleased this
2026-10-23 23:50:52 +00:00 | 19 commits to main since this releaseChangelog
Features
e6c2355feat!: a forge content write into an empty repo refuses and names madtea init2a800a8feat!: a revert opens its own issue and its merge closes it32766cafeat!: every PR merge through madtea closes its branch issue, checked at the merge send seamd1f2d7ffeat!: every first push asks a person, with MCP answers bound to single-use request states, and finish creates a missing forge repof0fd1f4feat!: finish makes a first push into an empty repo only after a person answers yes5c49073feat!: finish takes no close inputs and refuses before the forge when its issue cannot closecdd45ddfeat!: repo topics are append-onlyb7d810cfeat: a repo create that seeds content asks the new-repo question, and an init suggestion shows only in the question textd809cf8feat: a revert retry reuses its open revert issue, and a later failure names that issue6e144cdfeat: an unreadable forge needs a tracking ref before a push, and a revert retry reuses only safe leftoverse21da27feat: finish refuses an origin on another forge host and a dir= target with an empty forge repo977636cfeat: read the dependency setting on a 404, and refuse an unknown state or a hidden dependencyc157c07feat: run staticcheck and modernize before the heavy gate block, and stop on a findingbe46d0ffeat: run the internal/docs tests in the docs-only gate, in parallel
Bug Fixes
6d788d5fix!: clone reports the checked-out branch or tag, not a default branch (#684)bd1bbd2fix: clear the two staticcheck findings in the adr service37bd03dfix: decide the first push into an empty repo from the forgeeaf7733fix: keep git push output off the process stdout and quiet under MCPb190c6bfix: keep rendered-help records per command and check Short too069d6b5fix: list only the called action's arguments on an unknown argument50002aefix: name finish title and summary, and the search query concept on q05822abfix: read call-string action sets from the served tool schemas67af3a1fix: read every page of an issue's dependency list so an open dependency past page 1 refusesc8598c0fix: refuse a push refspec that begins with '+', so no push can force an update7d83504fix: refuse a push with no local default and ask on an unparsable create body6aecd97fix: resolve status identity through one resolver for every path07839d3fix: resolve the repo edit suggestion command token (#813)87631fefix: return a schema-valid empty result from madt_api_calle814305fix: route five git pushes through the guarded writerba9240cfix: run the dependency cycle check before blocks_add writes an edge9d75b87fix: say finish summary fills the PR summary section, and make it optional in the prompt4607be5fix: take the status host from the API forge resolution683fffefix: update hono to 4.13.13 in the conformance harness lockfile for GHSA-5r4p-p66f-jhc7
Documentation
8f45074docs: ADR 0036 names adr check --skip-forge-checks, and ADR 0044 drops the removed npm lockfile9954db6docs: MCP init shows the agent's values as suggestions that a person confirmsaa2a181docs: a person picks owner, name, and visibility when finish creates the forge repo611206edocs: accept ADR 0045 and ADR 005731d5bafdocs: accept ADR 0056, one git-run chokepoint owns output disposition (#806)357ee88docs: accept ADR 0058, only madtea writes close and reopen wordsf33cb11docs: accept the docs-only gate record3274743docs: accept the finish close-inputs record, with its record issue as the decision issue804b4cbdocs: add ADR 0056, one git-run chokepoint owns output disposition (#806)1c8a122docs: add ADR 0057, repo topics are append-only (#815)ec96b58docs: add ADR 0058, only madtea writes close and reopen words8296464docs: add a glossary of the abbreviations the docs use8c4e2c7docs: bind each MCP first-push answer to a question that madtea asked9308399docs: cover every doc abbreviation in the glossary and lock it with a test66416f9docs: describe the close rule for every merge and drop the stale close-input adviceb026523docs: describe the person's yes for every first push, the init questions, and the empty-repo forge write refusal2321ea1docs: document the gate's docs-only mode1ea9ee4docs: drop line numbers from the repo setting recordc1e2be0docs: drop the legacy numbering sentence from the adr helpcb96671docs: every first push into an empty repo needs a person's yes56155b7docs: extend the close rule to every merge path as one guard limit2dd82c7docs: follow the MCP protocol standard for the person question, and name forks as seeded createsb4eaeb7docs: index ADR 0057, repo topics are append-only (#815)fca4ae1docs: link the repo-targeting map from the docs indexc81853bdocs: map how each surface picks its repo, forge, and credential (#685)7708bfadocs: point the finish close record at its decision issue2877308docs: point the multi-repo and close-word records at the finish close rulef1a7cb7docs: propose one repo setting that names a forge repo, with one meaning5f7b4f9docs: propose that finish takes no close inputs and refuses before the forge432fa7fdocs: remove the glossary and its testsa82970edocs: require tests for new or changed behavior in CONTRIBUTING.md469fe91docs: rule origin, request-state use, CLI proof, API first writes, revert retries, and dependencies off7ba7e43docs: rule the five open points of the finish close-inputs recordcac2ad7docs: rule the resumed-PR close line and the empty-repo first push for finishbbb5df0docs: rule the round-three open points of the first-push and revert rulescc77380docs: state the one-issue branch rule in the contributor notesa8bb29edocs: state the real output disposition in the RunGitAuthDirWithStderr comment0069d11docs: sync the ADR index row for 0056 to accepted690c227docs: use a plain hyphen in the gate command line
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.20.0
StableSome checks faileddrift / govulncheck (pull_request) Has been skippeddrift / surface-diff (pull_request) Successful in 30sdrift / forgejo-smoke (pull_request) Has been skippedci / mcp-conformance (pull_request) Successful in 1m33sci / mcp-conformance (push) Successful in -31sdrift / govulncheck (push) Has been skippeddrift / surface-diff (push) Successful in -39sdrift / forgejo-smoke (push) Has been skippedci / gate (push) Failing after 2m21sci / gate (pull_request) Failing after 9m20sreleased this
2026-10-18 05:28:05 +00:00 | 121 commits to main since this releaseChangelog
Features
33173ccfeat(adr)!: #530 resolve cross-repo record links and rename the skip flagf6fc229feat(adr)!: adr check reads only the Decision issues listfcff867feat(adr): #492 group adr check problems by file with plain messages and JSONf4a7763feat(adr): #508 add adr rebuild and report index status/title drift8f514e4feat(adr): #508 flag an index date drift in adr checkbc222e8feat(adr): read a cross-forge decision-issue link on its own forge75f9c1afeat(adr): remove the legacy docs/adr layoutf5a8416feat(adr): verify every file reference in a record5929085feat(forge-test): #796 cache pinned binaries in a host store and copy them into the VM1c9eea6feat(gate): scan every lockfile with osv-scanner975e6d1feat(git): require git 2.38, run git in the C locale, and pin the porcelain format9dedee7feat(guard): #653 add the guard package with its three write effects4e97354feat(guard): #654 declare effects for every operation and spec endpointa702760feat(guard): #659 route git pushes through a guarded writer999b838feat(guard): #660 enforce the ADR 0046 forge write guard on the first-class CLI and MCP surfacesb948530feat(guard): #665 remove the default-branch commit override04f2520feat(guard): #666 require forge proof before a removal destroys a refcb566d0feat(guard): #784 #785 route the raw api passthrough through the write guard9f9ad88feat(httpx): add the hardened HTTP client builder675f981feat(install): one verifying install commandbccf0c2feat(mcp): refuse owner_repo= forge writes to a populated repo outside the session's scope3667635feat(serve): add pi (Oh My Pi) as a first-class MCP harness08a73e2feat(testforge): #677 forge-test harness scaffolding (work in progress, not yet compiling)4c28163feat(testforge): #677 test each forge at a baseline and latest versionb0606edfeat(testforge): #692 bring the forge-test VM standup into the repo
Bug Fixes
10f6646fix(auth): strip userinfo from the URLs that whoami prints5d17aa8fix(config)!: remove the legacy OAuth client-id fallbackfd7e0d6fix(config): #715 run RequireSecureScheme in the env credential resolverd870ef9fix(config): key credentials by the forge host alone, per ADR 00250dab4acfix(config): refuse a token over non-loopback http on every config request7d33b59fix(config): refuse a token over non-loopback http on every config requestde0de75fix(config): require consent for the plaintext git helper, and URL-parse credential host keys571d05ffix(config): route the bootstrap HTTP client through internal/httpx871c75cfix(conformance): bump mcp SDK and proxy-addr past known CVEsc18b0e6fix(forge): provision removes stray VM devices and asserts the device setd87ec34fix(forge): reset via snapshot revert, drop the manual stop dance7de976afix(forge): surface incus start and stop errors, stop swallowing them3981659fix(gate): check only git-visible Go files for formattinge06ed72fix(gate): run the osv-scanner step on a copy of the files that git listsc665828fix(git): #710 guard tag create name and ref against a leading dash2460e6bfix(git): write a per-repo plaintext token only with recorded consent67998abfix(gitea): #711 escape repo-flags path segmentsec55514fix(gitea): escape every value joined into an API path or queryc3d5a96fix(gosec): enforce G104, drop dead G704, record kept exclusions8890a34fix(guard): #666 give the forge-reachable test worktree its own branch6a4bd2bfix(guard): #786 classify the diffpatch endpoint as a content write9494fcefix(http): strip the Authorization header on a non-same-origin redirect hopf5c1cf0fix(install.sh): read only primary fingerprints, and never run an unverified binaryaed5df0fix(licenses): declare the vendored MADR templates, and fail on undeclared vendored licenses4a101f8fix(mcp): bound the run_watch summary and stop the watch on cancel78b4336fix(mcp): bump go-sdk to v1.8.0 so tool results carry resultTypef762fd5fix(mcp): cap the inline artifact download at 10 MiB93edff6fix(mcp): carry resultType on unknown-argument rejections9b15ef3fix(mcp): lower the inline artifact download cap to 1 MiB597729afix(mcp): remove serve KeepAlive that the current client drops5912825fix(remote-add): route the credential write through the posture-aware helpera752300fix(scripts): cite the reason, not a tracker number, in shipped strings5e144e8fix(test): stop a config test writing into the source tree7310b3dfix: reject leading-dash values passed to git in option position
Refactors
655929brefactor(forge): push the committed tree into the VM instead of mounting it69c965frefactor(gitea): build HTTP clients through internal/httpx4109bc7refactor(guard): #654 use slices.Contains in effect membership checks4de3b7crefactor(setup): route the connectivity probe through internal/httpx
Documentation
2a93f4bdocs(adr): 0052 keeps forge-test caches on VM-local disk9d22505docs(adr): accept 0053, the gosec gate exclusions record647291fdocs(adr): accept ADR 004908d3f35docs(adr): add ADR 0046 and 0047, accept 0039, and edit 0031, 0037, and 0043 in placef1169f7docs(adr): add proposed 0050 and 0051 for release-notes and attribution gates9029a95docs(adr): add proposed ADR 0049 for the HTTP transport chokepoint1941c93docs(adr): align ADR 0039 and WirePi output with official omp docs7065973docs(adr): consolidate the decision records into their end-state form6a98932docs(adr): forge tests run against throwaway Forgejo and Gitea servers25c5602docs(adr): propose that the MCP surface reads no local filescb2ae89docs(adr): record that adr check enforces a stricter version of MADR 4.0.0 (0037)1c5a465docs(adr): record the forge-test rules as 0052 and point 0014/0017/0022 at it2d42584docs(adr): track the ADR 0039 phase-2 follow-ups as issuesbdbf046docs(adr): write ADR 0039 with plain hyphens01f3e6fdocs(ci): state that the CI checks on main are advisoryd11ad0edocs(mcp): use a plain hyphen in the madt_branches_remote description69c2eabdocs(security): report vulnerabilities by email onlyf4f7d02docs: finish a green branch at once, never hold or batch0c07f78docs: replace undefined acronyms and invented jargon with plain language
Other
efbc3bbbuild(gate): time-box staticcheck while it lacks Go 1.27.2 supportb1f9ad6revert(gate): restore ADR 0039 to proposed — acceptance is the decision-maker's call2fdf502style: apply gopls quick fixes9651258style: apply the gopls quick fixes and fix their stale commentsc33a0a7style: restore the whoami dash and fix the failResult comment
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-
v0.19.0
StableSome checks faileddrift / govulncheck (pull_request) Has been skippeddrift / surface-diff (pull_request) Successful in 1m10sdrift / forgejo-smoke (pull_request) Has been skippedci / mcp-conformance (pull_request) Successful in 2m6sci / mcp-conformance (push) Successful in 13sdrift / govulncheck (push) Has been skippeddrift / surface-diff (push) Successful in 4sdrift / forgejo-smoke (push) Has been skippedci / gate (push) Failing after 3m22sci / gate (pull_request) Successful in 15m22sreleased this
2026-09-15 21:54:58 +00:00 | 233 commits to main since this releaseChangelog
Features
6bb5726feat(adr): MADR 4.0.0 tooling for adr new/check, plus a new adr init9bce364feat(git): pre-push signature guard gated on the target repo's require_signed_commits protection (#425 item 2)8f3fce5feat(prs)!: remove force_merge/--admin, madtea never overrides required CI checks0435be6feat(repos): show a mirror's upstream source and last sync in repos get
Bug Fixes
05eb2acfix(adr): rename check --offline to --skip-remote-issues; CI checks only the record files3b88964fix(finish): attach the reconcile steer to the out-of-date-with-base merge failure, still non-retryable (#456)b924051fix(git): let the forge judge commit signatures, refuse only unsigned commits locally96971c3fix(prune): give squash-merged remote twins their own result class and heading, drop the dead skipRemotes guard (#449)
Documentation
7d9ac46docs(adr): amend 0033, the forge edge is open to the Go proxy and the GOPRIVATE note is retired (#440)bba01b3docs(adr): migrate the decision records to MADR 4.0.0 under docs/decisions5a89e5fdocs(adr): record the fork-PR CI trust model (0035)4c6f88cdocs(readme): add the OpenSSF Best Practices badge
Other
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
2 downloads
-
v0.18.5
StableAll checks were successfuldrift / govulncheck (push) Has been skippeddrift / surface-diff (push) Successful in -2sci / gate (push) Successful in 22m39sdrift / govulncheck (pull_request) Has been skippeddrift / surface-diff (pull_request) Successful in 1m8sdrift / forgejo-smoke (pull_request) Has been skippedci / mcp-conformance (pull_request) Successful in 1m53sci / mcp-conformance (push) Successful in 7sdrift / forgejo-smoke (push) Has been skippedci / gate (pull_request) Successful in 24m1sreleased this
2026-09-09 21:45:10 +00:00 | 247 commits to main since this releaseChangelog
Features
3962268feat(finish): schedule auto-merge-on-green when a merge is gated on required CI checks (#438)
Bug Fixes
301ef4efix(commit): count files for a root commit with diff-tree --root (#454)f09a263fix(finish): surface real merge errors verbatim, classify non-retryable, re-check landed state after a 5xx (#456)c7b23f7fix(prune): classify a does-not-exist 500 on remote branch-delete as already-gone, not an error (#449)680d199fix(status): report the repo's own origin host in status --json, not the auth target (#429)
Documentation
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
4 downloads
-
v0.18.4
StableAll checks were successfuldrift / govulncheck (pull_request) Has been skippeddrift / surface-diff (pull_request) Successful in 54sdrift / forgejo-smoke (pull_request) Has been skippedci / mcp-conformance (pull_request) Successful in 2m9sci / mcp-conformance (push) Successful in 2sdrift / govulncheck (push) Has been skippeddrift / surface-diff (push) Successful in -6sdrift / forgejo-smoke (push) Has been skippedci / gate (push) Successful in 12m42sci / gate (pull_request) Successful in 17m51sreleased this
2026-08-27 02:51:26 +00:00 | 255 commits to main since this releaseChangelog
Features
0e6f827feat(git): resolve commit author/committer from the target repo's local config and add a pre-push identity guard (#425 item 1)5736e90feat(help): add init help topic and route madt_init to cli-setup0fc7f6cfeat(mcp): adopt the 2026-07-28 protocol (go-sdk v1.6.1 -> v1.7.0)f3d81eefeat(prune): dry run previews the full set, incl. remote-only orphans90c68c2feat(release): narrow plugin vendor to hooks+skills, idempotent, marketplace-owned manifest9881998feat(repo): add branch-protection set (create-or-update upsert)077e467feat(repos): add fast-forward-only and rebase-explicit merge flags; fix allow_rebase_update description; cross-reference branch protection (#431, #432)4e6fb7bfeat: home distribution and the self-updater to cheshirecube
Bug Fixes
7224170fix(config): resolve the forge from the working context, not a stale global default87f9c08fix(conformance): mark the ambiguous-forge probe's expected server ERROR logabcea12fix(install): use Forgejo's releases/download/latest URL, not GitHub's latest/download (404s on the forge)d5f4d80fix(pull): allow the first fast-forward into an unborn branchb3b11bffix(release): pin the plugin-vendor commit to the public author identityb8a0382fix(repos): rename --allow-ff-only to --allow-rebase-update, matching the live forge field allow_rebase_update it sets
Refactors
ef0e688refactor: migrate module path to madtea.lol and repoint distribution to the GitHub edge
Documentation
7b32350docs: document the release PAT storage and rotation via systemd-creds (#380)7b1f4a1docs: record public-home + GitHub-edge decision (ADR 0032, #380)53f9486docs: remove pre-launch hedging now the forge and madtea.lol are liveb95d434docs: scope the release PAT credential name to madtea-release-pat (#380)4b410d0docs: store the release PAT via read+printf to avoid a stray newline (#380)
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
3 downloads
-
v0.18.3 Stable
released this
2026-07-28 17:42:56 +00:00 | 284 commits to main since this releaseChangelog
Features
7089fb4feat(clone): diagnose directory-already-exists with origin comparison (#350)11d52a4feat(git): loud what/why/action messaging on the local git and finish surfaces5c0fe35feat(issues): add owner_repo= to madt_issues action=import (#351)
Bug Fixes
c8817cffix(clone): correctly diagnose same-repo when using shorthand; mask URL credentials in requested-display6854adffix(clone): dir-exists diagnosis requires the dir to be its own repo root (#350)91ff288fix(hooks): steer git pull and stop compound chains slipping the branch-d guard (#352)0b3d43bfix(import): add path-traversal and injection guards to CLI --repo path, shared via util.ValidateOwnerRepoSegments, and add routing coverage test
Documentation
ef90eebdocs(mcp): clarify ; vs , in expr param description for deps_add (#353)d8c03e4docs(security): drop the pre-release reporting note now the repo is public
Other
6baf3b1style(opspec): plain hyphen in the expr separator one-liner
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
5 downloads
-
v0.18.2 Stable
released this
2026-07-22 18:54:19 +00:00 | 297 commits to main since this releaseChangelog
Features
65c35d1feat(ssh): clone over SSH natively in ssh modes - no HTTPS URL construction, no credential resolutionb68707ffeat(ssh): create pull requests over AGit in ssh-only mode61ee200feat(ssh): finish and push legs over SSH in ssh modes; API legs gate on the token
Bug Fixes
fa3c00dfix(auth): ssh-only login names a leftover stored token instead of stranding it silently645baeffix(orchestrate): enforce the batch-merge pre-flight; bisect errors record a Failure
Documentation
07d5886docs(claims): update orchestrate rows for the landed #331/#332 fixesced7a0adocs(setup): ssh-only ignores a passed --token rather than rejecting itc5cb020docs(ssh): SSH-first setup path as a peer of the token path (#299)d7fbeb1docs: CLAIMS.md behavioral-promise register with a staleness guard
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads
-
v0.18.1 Stable
released this
2026-07-22 17:51:20 +00:00 | 311 commits to main since this releaseChangelog
Features
fab96f4feat(docs): every generated reference page opens with a plain-English summary7967f8afeat(finish): rerun promise pinned end to end; stale index.lock self-heals or teaches9476f0afeat(releases): asset download lists every downloaded file with sizes155bd0ffeat(ssh): auth-side SSH preflight - key presence, known_hosts steer, identity probef5a5797feat(ssh): protocol mode - persisted git-protocol choice at auth login5298e6dfeat(ssh): typed degradation errors for API-dependent commands in ssh-only mode
Bug Fixes
7a771c2fix(actions): unshadow the per-run artifact listing as run-artifacts; guard sibling name collisionsf3d886bfix(ci): drop the workflow permissions field - Forgejo ignores it with a warning09d8653fix(finish): leftover trailer names files and tree path (#309)f5230adfix(git): stale-lock recovery covers commit and worktree-add legs; re-stat before removal02df6e1fix(guides): remove fabricated flags from tour pages9480d73fix(mcp): worktrees rebase summary back under the anti-bloat ceiling50f1056fix(prune): deletion output names every deleted branch; preview-first hint for the widened --remote set0b7b9fffix(security): bind host-agnostic tokens to a recorded forge host4ae93bcfix(security): foreign-guard use-ssh dir=, 0600 analytics log, no exec of user-writable stale candidates, redact 403 hintb1a79ddfix(ssh): strip control chars from the probe greeting; success line names the trust boundaryb9179cafix(users): emails delete confirmation names the deleted addresses
Documentation
947154fdocs(#315): backtick-quote angle-bracket placeholders in prose68a8287docs(guides): add install.md as canonical install home; slim README to headline one-liner9b0e1fddocs(guides): move README workflow tours into docs/guides (#316)aba7ae1docs(install): adopt the voiced Take a Seat install guide as the canonical text6e3ac7bdocs(install): restore the update --verify drift-repair pointer3cb9148docs(mcp): restore the two trimmed description fragments; hyphen frees the byte budgetba1b31fdocs(public): neutralize private forge hostname in fixtures; retire Gemini from all live client listingsc9dc42bdocs(public): reword decision attributions to neutral voice; neutralize private example pathsee75221docs(security): updater trust model + sudoers caveat in SECURITY.md; honest ADR 0027 residual-risk boundary13acebadocs: canonical install guide at docs/guides/install.md; README leans on madtea.lolabdb2aadocs: mark legacy pre-migration tracker refs as non-autolinking (legacy tracker NNNN)3c42976docs: short ADR titles, dead-tracker purge, and render fixes from the docs-site review
Other
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
3 downloads
-
v0.18.0 Stable
released this
2026-07-19 00:23:35 +00:00 | 359 commits to main since this releaseChangelog
Features
273c57bfeat(auth): add forge-URL resolution chain to whoami output (#201)20f87dffeat(auth): madt_auth_whoami dir= local-resolution identity report (#155)ca53f60feat(clients)!: retire gemini client to a deprecation stub, verify antigravity wiring (#226)027c144feat(commit)!: refuse committing on the default branch by default507b9e6feat(mcp): add release and reconcile workflow prompts (#242)d79e0c9feat(release): patch tier for 0.x feats + 24h daily-cap gate (#244)f86f867feat(release): shipped-prunable report + --prune opt-in (#221)62c0ee3feat(status/finish): warn when default branch is ahead of origin (#224)
Bug Fixes
569298bfix(docs): index rows for toolless Intro-bearing domains - destructive.md rejoins the generated reference index
Documentation
66641ffdocs(arch): add prompts-vs-skills boundary note and drift guard (#241)3d162d3docs(architecture): sweep six drift candidates against current code (#246)50fecb1docs(release): correct stale breaking-weight comments to 15 in the reporter headerse85f199docs(release): fix stale 0.x tier descriptions - remove feat-bumps-minor from releasing.md:189, release.sh header, and ADR index (#244)f65580adocs: public-release accuracy sweep - every prose doc reconciled with current codea0f263bdocs: repo-wide cross-link sweep (#245)
Other
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads
-
v0.17.0 Stable
released this
2026-07-17 18:49:04 +00:00 | 377 commits to main since this releaseChangelog
Features
f00d40bfeat(auth): whoami split-brain cross-check + full resolution chain (#200 #201)b3938d4feat(cli): add worktree status and rebase subcommands (#170)0a8573bfeat(delete)!: omit all irreversible forge-data deletes from every surface (#209)7ab4037feat(install)!: mcp-config prints only; all client wiring moves tomadtea install343a046feat(install): consolidate setup under install for #1720ce0669feat(install): replace --yes with --yes-sudo and --yes-delete-stale (#204)db218e6feat(release): add windows/arm64 to build matrix (#161)2109b17feat(release): tier-weighted score + train-grace gate (#217, #218)84a5e8cfeat(worktree)!: align CLI add with git's signature (-b creates, positional checks out) (#171)5af4dccfeat(worktree)!: remove force-discard from both surfaces (#208)
Bug Fixes
354947efix(actions): bridge run_number/id mismatch, limit passthrough, strip event_payload (#157)08b7116fix(clone): treat full-URL clone host as the forge (#197)74ca99ffix(errors): context-rich repo-scoped 404s + live Forgejo marker (#199, #185)b3fbd57fix(mcp-config): --install for the Claude Code target refuses with a pointer, never exits 0 having installed nothing0bf65c6fix(release): breaking weighs 15 - one pending breaking change crosses the soft line alone; add release-due banner tests23d3350fix(release): herestring the tier greps - pipefail + grep -q SIGPIPE silently dropped feat/breaking detectionea394d2fix(worktree): sweep force from CLI revert conflict rail (#208)
Refactors
0754ebdrefactor(cmd): unify service construction - drop gitea.NewClient in cmd layer (#192)182a96drefactor(install): drop dead confirm() - consentOrDecline owns consent; test promptYesNo directly
Documentation
1a83a97docs(adr): ADR 0031 - recoverable-guard tier: refuse wrong-workflow acts, per-call allow override0da9ed0docs(adr): restore ADR navigability stripped bycc3fa200+8e3a5d5dsweepsce59f32docs(install): fix README no-TTY description for #204 flag split214f2a4docs(release): update cadence docs for score-based gate and train-grace (#217, #218)
Other
aebfa72merge main: ADR index carries both 0030 and 00312cfd4bamerge main: keep whoami enrichment, take post-#172 mcp-config row9f0483emerge main: reconcile worktree force-removal (#208) with git-signature add (#171) and hook-flow removal (#172)f244254merge main: retire the elicitation seam (both consumers gone via #208+#209), reconcile README to strict-omission
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads