Skip to content

v3.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Sep 17:35
· 8 commits to main since this release
29ffccb

Every host now holds the same turn end, and the record-keeping outlives the reflow.

Fixed — the documented format pipeline no longer empties files.
(#254) Three files were
lost in one session to the workflow procoder format <file> > <file>:
the command wrote the formatted content only in one of its four verdicts,
and a file that was already clean — or out of scope, or unchecked —
replaced itself with a one-line banner. Stdout of procoder format is now
the file's formatted bytes in every verdict, the banner moved to stderr,
and a redirection that would overwrite the file being checked is refused
outright rather than raced.

Fixed — the repository's gitleaks allowlist applies to the gate's
scans again.
(#260,
commit b16a000) Per-file scans used gitleaks' hard-coded default config,
so a repository's .gitleaks.toml silently stopped applying the moment a
scan named a single file — which is exactly how the gate scans changed
files. Allowlists are read from the repository now.

Fixed — a recorded answer outlives a reflow, and the gate sees a
commit's own heredoc.

(#257) The question key
hashed the text as written, so a formatter rewrapping a decision section
changed the key and the queue re-asked a settled question. Keys now hash
the words, not the line breaks, with a fallback that reads stores written
by older versions. Alongside it, an acknowledgment line sitting in the
command's own heredoc — cat > msg.txt <<'EOF' then git commit -F msg.txt — now reaches the documentation obligation it was written to
clear, instead of being reported as "no commit message reached this
check".

Added — pi is a first-class host.
(#250) The install line
in the README covers it: pi install git:github.com/azrtydxb/procoder.
pi gets the commit gate at the tool boundary, the write hook's findings
patched into the tool result that caused them, the turn-end handoff, the
command set registered as /procoder:*, and the contract injected only
when pi has not loaded it itself.

Added — the rules reach every host, and every host has a turn end.
(#259) The parallel-
work policy — fan out where the work decomposes, fence writers in worktrees
when they touch the same feature, converge one branch one writer through
the chain — is in AGENTS.md and in every rule copy, drift-blocked by
the gate. OpenCode and Kilo run hook stop on session.idle and
session.compacted: where the host cannot refuse a turn, it records —
and the handoff now goes into the repository the session names, not where
the server process happens to sit.

Changed — pinned tools moved. golangci-lint 2.13.2,
(#251), semgrep
1.175.0, (#252), ruff
0.16.5, (#253), contributed by @github-actions[bot].


Upgrade in place: procoder self-upgrade — it asks first, and installs
only after the download matches the SHA256SUMS published below.

Or download the binary for your platform below and check it against
SHA256SUMS before running it.

Every commit in this release:
v3.4.0...v3.5.0