Skip to content

chore: release v0.47.0 - #372

Merged
mabry1985 merged 1 commit into
mainfrom
chore/release-v0.47.0
Aug 31, 2026
Merged

mabry1985 merged 1 commit into
mainfrom
chore/release-v0.47.0

Conversation

@mabry1985

Copy link
Copy Markdown
Member

Cuts the 08-30/08-31 hardening wave — 45 commits since v0.46.0, none of it released until now.

What's in it

Review lifecycle — re-arm review after an external push invalidates a changes-requested
verdict (#343); publish the in-loop gate verdict as a head-pinned PR check (#348) and through a
PAT-compatible commit status + PR comment (#355); reconcile a trusted current-head QA PASS into
board review state (#350); fix the head pin that blew beads' 50-char label cap and could never be
written (#353).

Blocked cards — surface them first, self-heal or page the operator (#334); make the inbox
constructible (#335); keep the class on a re-block and escalate with the real reason (#336);
persist operator-notified state on the bead (#346).

Loop — block pre-model dispatch failures instead of escalating the model tier (#344); requeue
shutdown-aborted changes-requested drives (#345); split BoardLoop by execution edge behind a
stable surface (#352); preserve task dispatch targets on claim and bound ready-queue claim
livelocks (#357); a fix round resumes the PR branch instead of rebuilding from base (#337).

Coders — a rung may hold several interchangeable providers, failing over on rate limit instead
of blocking (#364), with a preflight that validates every sibling of a list rung (#365).

The external-seam ratchet (#359#363 / #366 / #369) — worktree.py was 0 REAL / 26
UNCOVERED, a gap that shipped three green-but-inert fixes in one night. Every external call site is
now classified REAL / EXEMPT / UNCOVERED, and the uncovered count is a ratchet that may only
fall: 26 → 0. EXEMPT is a second, equally strict ratchet backed by an executable sandbox test.

Docs — HTTP API + agent-tool references guarded against drift (#367); a configuration reference
covering all 57 keys and which ones the UI cannot reach (#368); and the Install section no longer
tells a first-time reader to run a subcommand that does not exist (#371).

Note

CI's requires_gh tier reads a real PR, so #370 is a permanent open fixture — do not merge or
close it.

🤖 Generated with Claude Code

Cuts the 08-30/08-31 hardening wave: 45 commits since v0.46.0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mabry1985
mabry1985 merged commit 94de175 into main Aug 31, 2026
4 checks passed
@mabry1985
mabry1985 deleted the chore/release-v0.47.0 branch August 31, 2026 22:25

@protoreview protoreview Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA panel review — PASS

code-review · head 07139c215e7e · formal

PR #372 is a straightforward version bump from 0.46.0 to 0.47.0 across three files (protoagent.plugin.yaml, pyproject.toml, uv.lock). No defects were identified by any review angle; the verifier confirmed all three version-bump claims are supported and returned an empty findings list. Overall risk is minimal — the only thing to watch is that no downstream consumer pins the old version string, but that's outside this diff's scope. No panel disagreement; no coverage gaps.

No findings — the review came back clean.

findings JSON (machine-readable)
[]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant