docs: design v0.5.0 signed manifests#33
Merged
marmar9615-cloud merged 1 commit intomainfrom Apr 28, 2026
Merged
Conversation
Adds the design-first artifacts for v0.5.0 — Signed Manifests: - docs/designs/signed-manifests.md (full design doc covering threat model, manifest signing model, JCS canonicalization, Ed25519 default, key set publication, rotation/revocation, freshness, verification failure modes, schema/SDK/scanner/MCP/CLI impact, backward compatibility, migration plan, and test plan). - docs/adr/0002-signed-manifests.md (architecture decision record with five rejected and one deferred alternative). - docs/issues/v0.5.0-signed-manifests.md (in-tree mirror of GitHub tracking issue #31). Updates the supporting docs to reflect that v0.4.0 has shipped on npm via Trusted Publishing and that v0.5.0 signed manifests are now in design (not yet runtime): - docs/roadmap.md — v0.4.0 marked shipped; v0.5.0 marked in design. - docs/v1-readiness.md — criterion #7 (signed manifests) flipped to "design in progress"; #1, #2, #3 (Trusted Publishing / provenance) flipped to "yes" since v0.4.0 published. - docs/threat-model.md — T1 expanded into T1.a/b/c/d sub-vectors and pointed at the v0.5.0 design as its mitigation. - docs/security-configuration.md — adds a "Signed manifests (v0.5.0 — design only, not yet runtime)" section listing the proposed env vars without enforcing them. - docs/production-readiness.md — bottom-line note now refers to v0.4.0 and points at the in-progress design. - AGENTS.md / CLAUDE.md / README.md — small status notes; no bloat. No runtime change. No package version bump. No publish. No tag. No release. Unsigned manifests still validate against the v0.1 manifest spec. All safety invariants intact (confirmation gate, origin pinning, target-origin allowlist, audit redaction, stdio stdout hygiene, HTTP transport auth/origin checks). Verified locally with npm run typecheck:clean (clean), npm test (196/196), npm run build (all packages), npm run pack:dry-run (all six packages OK at 0.4.0). Tracking: #31 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
262f144 to
27844b5
Compare
This was referenced Apr 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Design-first PR for v0.5.0 — Signed Manifests. No runtime
change in this PR; the implementation lands in subsequent v0.5.0
PRs against the same line.
docs/designs/signed-manifests.mddocs/adr/0002-signed-manifests.mddocs/issues/v0.5.0-signed-manifests.mdWhat's in the design
signatureblock on the manifest (additive optionalschema field —
additionalProperties: truekeeps v0.4.xreaders compatible).
alg: "EdDSA") with ES256 alsopermitted.
/.well-known/agentbridge-keys.json(no central CA, noblockchain).
signedAt+expiresAtfor freshness, bounded clock-skew envvar.
vs.
--require-signaturemode).Studio/demo, CLI, OpenAPI converter.
The design's most important invariant: verification is
additive. A verified manifest still goes through the
confirmation gate, origin pinning, target-origin allowlist,
audit redaction, stdio stdout hygiene, and HTTP transport
auth/origin checks — exactly as today. Verification confirms
publisher; it does not authorize anything.
Docs updated
docs/roadmap.md— v0.4.0 marked shipped; v0.5.0 marked indesign with the design/ADR links.
docs/v1-readiness.md— criterion build(deps): bump next from 15.5.15 to 16.2.4 in the next-react group across 1 directory #7 (signed manifests)flipped to "design in progress"; Phase 2: developer tooling — CLI, OpenAPI, spec, MCP hardening, Studio polish #1, Phase 3A: Public Beta Release Hardening #2, build(deps): Bump actions/checkout from 4 to 6 #3 (Trusted
Publishing / provenance / no long-lived tokens) flipped to
"yes" since v0.4.0 published.
docs/threat-model.md— T1 expanded into T1.a (substitution),T1.b (stale/replay), T1.c (wrong publisher), T1.d
(honest-but-mistaken) sub-vectors; v1 target points at the
v0.5.0 design.
docs/security-configuration.md— adds a "Signed manifests(v0.5.0 — design only, not yet runtime)" section listing the
proposed env vars without enforcing them.
docs/production-readiness.md— bottom-line note refers tov0.4.0; signed manifests called out as in-design.
AGENTS.md/CLAUDE.md/README.md— small status notes;no bloat.
Current release context
for all six
@marmarlabs/agentbridge-*packages, via TrustedPublishing OIDC with SLSA build provenance attestations.
main.is merged on
main.Parallel Codex context
Codex may be working in parallel on scanner regression /
public-API-stability work touching:
packages/scanner/src/*packages/scanner/README.mdexamples/scanner-regression/*examples/README.mdCHANGELOG.mdThis PR explicitly avoided those paths. The design names new
scanner check IDs as the contract; the actual scanner test
fixtures land alongside the implementation PR (coordinated with
Codex when that work begins).
What this PR does NOT do
npm run pack:dry-runstill reports
0.4.0for all six packages.package-lock.jsonchange.confirmation gate, origin pinning, target-origin allowlist,
audit redaction, stdio stdout hygiene, HTTP transport
auth/origin checks.
Commands run
Test plan
🤖 Generated with Claude Code