-
v3.2.1 Stable
released this
2026-08-09 19:49:19 +00:00 | 2 commits to main since this releaseThe first time the pipeline was ever run against real repositories. It found two defects sitting under a 42/42-green suite — which is the point the repo's own docs had been making about what prose-grep tests can and cannot prove.
Fixed
dirty_filestruncated the first path.gitOk()called.trim()on every command's output, butgit status --porcelainencodes the worktree status in column 2 — a modified-but-unstaged file is" M path". The trim ate that leading space, and the fixedslice(3)then ate the first character of the first path:app.jswas reported aspp.js. Only the first line was affected, which is exactly why it survived: no existing test asserteddirty_filesvalues, only that the key existed. Porcelain output is now read through a non-trimminggitOkRaw().- The commit message claimed a STATE.md update it did not contain.
generateCommitMessage()always produceddocs(<repo>): oppdater STATE.md (session handoff). On everyopen/repo — including this one — STATE.md is gitignored, so the handoff commit carries only the explicit--alsopaths. Git history is the regime's long-term log; it was systematically wrong about its own contents. The message now branches on what was actually staged.
Changed
- The leak condition is a hard gate, not an advisory. A public remote whose STATE.md is not yet gitignored is the state a fresh
open/repo starts in, andshould_commit_statewastruethere — the ritual merely mentionedleak_warningand committed anyway. The warning now also lands inerrors[](step 2 stops on a non-emptyerrors[]),should_commit_stateisfalse, and--commitrefuses to stage STATE.md (state-leak-blocked). Explicit--alsopaths are still honoured: the gate protects STATE.md, not the commit as a whole. Both--planand--commitnow consult one exportedleakBlock()so they cannot disagree. - SKILL.md's justification for the single-line rule was outdated. It claimed a wrapped
rationale=replaces the repo's next step on the board with garbage.board.shin repo-mailbox 0.20.3 tracks an HTML comment to its closer, so that no longer follows. The rule stands, now stated with the risk that is still real: arationale=containing-->ends its own comment early.
Tests
- 42 → 48. Four pipeline tests (first-character preservation in
dirty_files, the--planand--commithalves of the leak gate, commit-message honesty) and two SKILL.md drift guards (the corrected single-line rationale, and step 2 stopping rather than reporting). All six were written failing first.
Not verified
- That
/graceful-handoffloads as a user command (issue #26251), and that a cross-pluginSkillinvocation ofrepo-mailbox:routepasses from a sub-scoped skill. Both need the catalogrefbumped so the version is actually installed; the smoke test could exercise the pipeline but not the slash command.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
0 downloads
-
v3.1.0 Stable
released this
2026-06-24 09:01:05 +00:00 | 8 commits to main since this releaseChanged
- Removed the hardcoded push window — push is now unconditional, Forgejo only. The regime-wide push-window restriction (man–tor 08:00–17:00, fre 08:00–16:00) was lifted permanently, so SKILL.md no longer gates the push on a weekday/time window — it would otherwise park a push in the middle of working hours. The two other invariants are unchanged: push is Forgejo only, never GitHub, and push stays user-triggered (the skill is
disable-model-invocation: trueand never auto-pushes outside a user-invoked handoff).handoff-pipeline.mjshad no window logic — only its header comment was corrected. If a future repo needs a window again, reintroduce it as per-repo config, never as a hardcoded default.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Removed the hardcoded push window — push is now unconditional, Forgejo only. The regime-wide push-window restriction (man–tor 08:00–17:00, fre 08:00–16:00) was lifted permanently, so SKILL.md no longer gates the push on a weekday/time window — it would otherwise park a push in the middle of working hours. The two other invariants are unchanged: push is Forgejo only, never GitHub, and push stays user-triggered (the skill is