Repository navigation
ci: release through release-tools; version: 0.1.3 in the bundle manifest - #6
Conversation
Archetype releases were cut by hand with gh release create, so they got no themed notes and no Discord post. This adds the thin Release caller for release-tools' plugin-release.yml@v2, which reads version: from protoagent.bundle.yaml and labels the release as an archetype. It also adds version: 0.1.3, the current latest tag (v0.1.3). There are no unreleased changes since v0.1.3, so this cuts no release. protoAgent's bundle loader ignores the key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
QA panel review — WARN
code-review-structural · head 0e6486ac4c98 · formal
Low-risk, purely additive PR: a new release workflow and a version key in the bundle manifest. The single finding (a secrets: inherit least-privilege note from protoPatch) was confirmed by the verifier at head with no changes to severity or scope. No panel disagreement, no verification gaps, no prior items to disposition. Nothing blocks merge; the minor is a hardening suggestion for a follow-up.
Findings
| Severity | Location | Finding | Verified | |
|---|---|---|---|---|
| 🟡 | minor | .github/workflows/release.yml:26 |
secrets: inherit exposes all org secrets to the reusable workflow; an explicit pass block would limit the blast radius | confirmed |
findings JSON (machine-readable)
[
{
"file": ".github/workflows/release.yml",
"line": 26,
"severity": "minor",
"category": "security",
"claim": "secrets: inherit exposes all org secrets to the reusable workflow; an explicit pass block would limit the blast radius",
"evidence": "The workflow uses `secrets: inherit`, which grants the downstream reusable workflow access to every secret available at the org or repo level. The in-file comment indicates only the notes gateway token and Discord webhook are needed. Replacing `inherit` with an explicit `secrets: pass` block listing only those two secrets would follow least-privilege. (protopatch confidence: medium)",
"source": "protopatch",
"verdict": "confirmed",
"note": "Read file at head `0e6486ac`: line 26 is exactly `secrets: inherit # notes gateway + Discord webhook are org-level`. GitHub Actions docs confirm `inherit` passes all secrets to the called workflow; the in-file comment itself names only two secrets needed, so an explicit `secrets:` block is the documented least-privilege alternative."
}
]There was a problem hiding this comment.
Promoting the WARN verdict for head 0e6486ac4c98: all checks terminal-green, zero unresolved review threads. (approve-on-green)
Open findings carried by this approval — non-blocking, but they did not go away:
- minor
.github/workflows/release.yml:26— secrets: inherit exposes all org secrets to the reusable workflow; an explicit pass block would limit the blast radius
Approving a WARN does not resolve its findings (issue #22).
Onboards this archetype onto the fleet release path (release-tools
plugin-release.yml@v2, which auto-detectsprotoagent.bundle.yamlas an archetype).protoagent.bundle.yaml: top-levelversion: 0.1.3, equal to the current latest tagv0.1.3.compare v0.1.3...mainis empty, so no release is cut. protoAgent'sload_bundleignores the key. The installer's update check still reads semver tags, so the tag remains the version of record..github/workflows/release.yml: the thin caller, with the fork guard namingprotoLabsAI/engineer-archetype. It fires on achore: release vX.Y.Zsquash subject on main or ongh workflow run Release. This PR's subject isci:, so merging it does not fire.From now on, bump
version:in the release PR and merge it aschore: release vX.Y.Z. Nevergh release createby hand.🤖 Generated with Claude Code