Skip to content

Releases: phmatray/tagout

v4.1.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 19:08
30d3521

4.1.0 (2026-10-28)

Features

  • implement-issue: the ready-flip refuses without a recorded review (#729) (7b7f0c0)
  • merge-pr: a draft is flipped ready only through guarded-ready, after a review if none is recorded (#732) (31fbadd)
  • review-sessions: a failure that recurs after a prose-only fix files for a barrier (#726) (b4e7f54)
  • review-sessions: harvest the owner's corrections as a user-correction signal (#723) (#727) (7589fac)
  • review-sessions: report which skill references transcripts ever read (#730) (00b3111)

Bug Fixes

  • deps: update non-major dependencies (#721) (6bf9051)
  • tracker: the contract documents TRACKER_DETAIL and its precedence over --repo (#719) (a0ca077)

v4.0.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 02:39
3e0336a

4.0.0 (2026-10-10)

⚠ BREAKING CHANGES

  • init: profile-repo and setup-repo merge into init (#703) (#709)

Features

  • implement-issue: review a one-way-door diff at high and hold it from auto-dev (#694) (#696) (02f2e1a)
  • init: an init skill runs profile, plan, apply and refresh in one command (#701) (#704) (640c9a3)
  • init: profile-repo and setup-repo merge into init (#703) (#709) (9485205)
  • init: the profile and setup scripts live under skills/init, every consumer reads the new home (#707) (7178022)
  • tracker: the dispatcher hands a backend the profile detail it already resolved (#705) (02a5281)

Bug Fixes

  • deps: update non-major dependencies (#665) (7a4c1b7)
  • evals: bare init is not the kit's init (#712) (#714) (74786d5)
  • evals: the bench counts the bare init it stages; a foreign plugin's init still does not (#715) (#716) (3742a85)
  • hooks: roseline-gate denial is actionable and fails open on .slnx-only repos (#699) (#706) (e806983)
  • renovate: manage the generated plugin copies so source and copies bump in one PR (#711) (4e14ec6)

v3.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 16:54
8e0402b

3.2.0 (2026-09-26)

Features

  • create-pr: take a debug-issue fix off the default branch into a pull request (#636) (#684) (f1d668c)
  • plugin: the README, the site and the host table lead with Tagout and install both plugins (#612) (#681) (a1ba0b2)
  • tracker: a GitLab backend for create-issue (#508) (#692) (8bad0d1)
  • tracker: an Azure DevOps backend for create-issue (#509) (#690) (1475e96)

Bug Fixes

  • create-issue: wire-edges.sh resolves the tracker once and relays the backend's own dry-run format (#603) (#686) (8002bb1)
  • git-write-gate: share the substitution-span walk between quote states (#602) (#685) (d645a69)
  • implement-issue: branch worktrees off the remote default branch, not a hardcoded local main (#678) (#682) (b39f85e)
  • methodology: docs/methodology.md matches recap.md's current create-pr/debug-issue behaviour (#689) (#691) (2b9c344)

v3.1.1

Choose a tag to compare

@github-actions github-actions released this 21 Sep 00:41
8147474

3.1.1 (2026-09-21)

Bug Fixes

  • hooks: namespace the roseline gate's one-shot marker (#671) (c6a8f30), closes #666
  • implement-issue: a backticked command in a Files field is prose, not a path (#670) (17d729b), closes #654
  • review-sessions: count a hook-deny only for the kit's own gates (#672) (dc02450), closes #667
  • scripts: host-adapters skips gitignored junk in every tree walk (#676) (3c1aeee), closes #653
  • scripts: one spelling for the repository argument, and a usage line under the refusal (#668) (#673) (c577d6d)

v3.1.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 07:27
4429837

3.1.0 (2026-09-16)

Features

  • create-pr: open a pull request for a finished branch through one shared recipe (#635) (#638) (b1ca260)

Bug Fixes

  • auto-dev: pin the nesting-guarantee wording and add a landed-edit self-check (#656) (#663) (e9fd277)
  • evals: stage skills by copy so the eval runner starts on a Windows checkout (#624) (#633) (aeb216f)
  • hooks: the write-gate honours GIT_GATE=off only from the main thread (#643) (#646) (3fb74ac)
  • hooks: the write-gate judges a shell's -c string and eval's argument (#658) (#662) (0219a9f)
  • implement-issue: filter a rename's pending target through looks_like_path (#599) (#626) (108bedb)
  • implement-issue: let the liveness guard follow a branch into the worktree that holds it (#644) (#657) (9f2479f)
  • implement-issue: name the code-review dispatch's write risk and require a post-review diff check (#578) (#629) (e3411e5)
  • implement-issue: post-review-check.sh proves whether a code-review dispatch wrote past its own report (#659) (#664) (485f0be)
  • implement-issue: read a path an earlier task creates as SKIP, not MISSING (#640) (#651) (df474c7)
  • implement-issue: resolve every review diff range against a fetched origin/main (#601) (#627) (d782842)
  • implement-issue: resolve plan paths through cat-file stdin so Git Bash cannot rewrite them (#647) (#660) (7d0313f)
  • merge-pr: name needs-approval in the post-merge base-run report (#586) (#632) (244012b)
  • merge-pr: recognise this repo's own release automation so approve-runs can land the release PR (#622) (#628) (aa9d41b)
  • review-sessions: harvest.py counts a signal only when the kit was invoked, not merely mentioned (#645) (#655) (6faad13)
  • scripts: refuse a missing .NET 6 runtime as a prerequisite instead of failing run-all-tests' LegacyShop gate (#642) (#661) (d4e710c)
  • scripts: resolve bash through which() so decision-check reaches a verdict on Windows (#623) (#625) (4c3ce7e)
  • tests: check-shared-refs.py prints its refusal on a non-UTF-8 stdout (#648) (#649) (56669bd)
  • tests: run-all-tests' drift guard fails a coincidental first-line match instead of passing on it (#579) (#631) (5ac1f42)
  • tracker: repoint a stale origin so issue and PR searches stop returning empty (#637) (#650) (5318d89)

v3.0.1

Choose a tag to compare

@github-actions github-actions released this 15 Sep 09:57
c7781c2

3.0.1 (2026-09-15)

Bug Fixes

  • plugins: ship the two plugin trees as generated files so a Windows install loads its skills (#619) (#620) (96b4731)

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 08:08
dbdf6e6

3.0.0 (2026-09-15)

⚠ BREAKING CHANGES

  • plugin: rename the kit to Tagout — every shipped identifier, one major (#611) (#614)

Features

  • plugin: rename the kit to Tagout — every shipped identifier, one major (#611) (#614) (a9bc0b6)
  • plugin: two disjoint plugins, tagout and tagout-migrate, from one tree (#607) (#617) (ccc644b)
  • site: redesign the docs site on its own Jekyll layouts, the lock-out tag world (#604) (1151d2e)

Bug Fixes

  • plugin: keep an ai-migration-kit entry in both marketplaces so installs made before the rename still load (#618) (f12e52c)
  • site: drop the rail drawn through the hasp's locks (#609) (55a65c2)
  • site: point the three migrated-app links at the renamed repos (#613) (d26a026)
  • site: serve the docs site from /tagout, where the renamed repo now publishes it (#615) (b18d75e)
  • site: the hasp's locks open around their left leg and the minute rules sit on one line (#608) (29da975)
  • site: thirty visual defects found in the browser, from the record header to the print sheet (#606) (23fcee1)

v2.7.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 07:37
a2ea202

2.7.0 (2026-09-13)

Features

  • create-issue: file and edit issues through the tracker contract (#506) (#591) (2081c5b)
  • migrate: archify draws the architecture the migration phases could only describe (#476) (#593) (5083edd)
  • tracker: create-issue's decomposition wires its edges through the tracker contract (#507) (#598) (65246dc)

v2.6.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 09:42
26a43f1

2.6.0 (2026-09-13)

Features

  • implement-issue: send lifecycle hand-offs to a fresh session and shrink inline runs to one task (#523) (#584) (a85c0d3)
  • profile-repo: name GitLab and Azure DevOps trackers in the profile (#504) (#568) (265b0e4)
  • skills: close GHE host-resolution gaps left after #514 (#530) (#581) (9388358)
  • tracker: one tracker contract, and a capable verdict at Step 1 (#505) (#583) (6336d9b)

Bug Fixes

  • auto-dev: fail open when a credential's literal '@' makes the userinfo unparseable (#546) (#564) (dfba5cc)
  • auto-dev: retro-taxonomy steering category no longer claims the kit ships no AGENTS.md (#557) (#563) (3cf9e0b)
  • ci: the plugin-manifest JSON check covers every manifest host-adapters.py knows about, not a shorter hand-typed list (#556) (#576) (87d5adf)
  • deps: update non-major dependencies (#577) (c191c9f)
  • hooks: deny a named-path checkout that would discard an uncommitted edit (#560) (#569) (92ab8ee)
  • hooks: handle launcher option forms in write-gate unwrapping (#562) (#582) (d7eec49)
  • hooks: recognize command substitution inside double-quoted write-gate arguments (#559) (#588) (dba0395)
  • hooks: the auto-dev stop gate allows a stop while the supervisor is actively cycling (#548) (#574) (15fe040)
  • merge-pr: every guarded-pr-merge.sh call site points at the invocation fallback (#414) (#571) (7356234)
  • merge-pr: one bounded follow-up lookup on a timeout-reasoned base verdict (#561) (#572) (518df1c)
  • merge-pr: treat a run awaiting approval as needs-approval, not failed (#495) (#580) (83b721c)
  • scripts: host-adapters.py check refuses RULE_COPIES with no host adapter (#558) (#585) (4a31099)
  • scripts: host-adapters.py's $1 guard and replace share one token boundary, so $10+ can't be mistaken for $1 (#555) (#573) (b8f63e8)

v2.5.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 21:16
b50798b

2.5.0 (2026-09-12)

Features

  • hosts: AGENTS.md becomes the one home of the routing table, with rule copies for six hosts (#525) (#528) (621a477)
  • hosts: the kit installs as a plugin on Codex, Copilot CLI, Gemini CLI, Antigravity and pi (#526) (#537) (41fa428)
  • merge-pr: wait for CI in one wait-ci.sh call, then re-derive once (#521) (#543) (95d36a3)

Bug Fixes

  • auto-dev: bound the supervisor's context through the harness, not a prescribed /compact (#522) (#550) (ba31dd6)
  • auto-dev: release a retired worker's PR branch before any re-dispatch onto it (#510) (#517) (922e38a)
  • auto-dev: stop-gate parses a credentialed origin URL's token as the user (#532) (#541) (8c535c9)
  • hooks: close write-gate bypass shapes in judge() (#533) (#540) (bb7f33b)
  • hooks: the write-gate denies a raw gh pr merge and names each guard by absolute path (#512) (#518) (a30064b)
  • implement-issue: finish-task.sh stages only the task's own files, never the whole worktree (#536) (#553) (49c5583)
  • implement-issue: name the code-review level on every Step 7 call (#520) (#549) (333e815)
  • implement-issue: plan-freshness.sh strips asides innermost-first (#519) (#542) (9265f3c)
  • review-sessions: harvest.py's harness and guard rules match the text the harness and guards actually print (#513) (#544) (207f98c)
  • skills: every kit script reaches the repository's own gh host (#514) (#516) (7bd8cc1)
  • skills: update stale comment about userinfo-colon parsing in _gh-host.sh (#554) (f9a2d24)