Context
Follow-up to Cullen Meyers' review of the public provenance-addon/ PoC (BoundaryAttest collaboration context).
The v0.1 PoC addressed the main review concerns:
artifact_hash — binds the signed claim to exact produced file/patch/scaffold content without storing raw bytes in the receipt
previous_receipt_hash — clearly reserved/future; v0.1 does not imply active receipt chaining
createLocalSigner() — clearly marked ephemeral/dev-only; cross-run verification requires persisted keys or KMS/HSM-backed signing
- Failure model — distinguishes tool failure (valid signed receipt with
status: failed) from sink failure (fail-open, tool path unchanged)
- Visualizer — timeline replay, session/task drilldown, tamper detection demo with Web Crypto Ed25519 verification
This issue tracks concrete next decisions before moving beyond PoC.
Decision areas
1. Persisted key / external verifier from disk
Open questions:
- Should the public repo include a
verify-receipt.mjs CLI, or is README + example sufficient?
- Where should trusted public keys live for verifiers (config file, env, org registry)?
2. Schema validation in CI
Open questions:
- Strict schema for optional fields (
session_id, task_id, artifact_hash) — required vs omitted?
- Separate schema for
_public_key.json manifest?
3. Artifact hash verification flow
Open questions:
- Should artifact verification be a separate CLI step or part of unified receipt verifier?
- Patch/diff artifacts: same
artifact_hash field or future patch_hash?
4. Trust model wording
Open questions:
- Any wording Cullen wants mirrored in BoundaryAttest repo vs Code Engine-specific phrasing here?
5. Receipt chaining (previous_receipt_hash)
Open questions:
- Is chaining needed for Code Engine MCP deploy flows, or is
session_id + task_id + trace_ref sufficient for v0.2?
- Should
BoundaryAttestProvenanceSink maintain previousReceiptHash when enabled?
References
Collaborators
- @markusvankempen — Code Engine MCP / provenance-addon
- Cullen Meyers — BoundaryAttest review context (decisions that become BoundaryAttest-general may be mirrored upstream)
Opened per review feedback, Jun 2026.
Context
Follow-up to Cullen Meyers' review of the public
provenance-addon/PoC (BoundaryAttest collaboration context).The v0.1 PoC addressed the main review concerns:
artifact_hash— binds the signed claim to exact produced file/patch/scaffold content without storing raw bytes in the receiptprevious_receipt_hash— clearly reserved/future; v0.1 does not imply active receipt chainingcreateLocalSigner()— clearly marked ephemeral/dev-only; cross-run verification requires persisted keys or KMS/HSM-backed signingstatus: failed) from sink failure (fail-open, tool path unchanged)This issue tracks concrete next decisions before moving beyond PoC.
Decision areas
1. Persisted key / external verifier from disk
verifySignedReceiptagainst saved public key)Open questions:
verify-receipt.mjsCLI, or is README + example sufficient?2. Schema validation in CI
receipts/*/sample files)Open questions:
session_id,task_id,artifact_hash) — required vs omitted?_public_key.jsonmanifest?3. Artifact hash verification flow
artifact_hash→ later verify artifact bytes match claimhashRaw(artifact) === claim.artifact_hashartifact_hash(raw content) andinput_hash(redacted structure)Open questions:
artifact_hashfield or futurepatch_hash?4. Trust model wording
client_observedvs futureserver_attestedfor Code Engine MCP boundaryOpen questions:
5. Receipt chaining (
previous_receipt_hash)Open questions:
session_id+task_id+trace_refsufficient for v0.2?BoundaryAttestProvenanceSinkmaintainpreviousReceiptHashwhen enabled?References
example.mjs,demo-ce-deployment.mjs,demo-multi-session.mjs,demo-tamper-scenarios.mjsprovenance-addon/visualizer.htmlCollaborators
Opened per review feedback, Jun 2026.