witnora.agent_mutation.v0.1 records how an assured agent changes without
treating a new version as an automatic continuation of the old assurance
decision. A mutation invalidates CURRENT before promotion begins.
witnora.evolution_manifest.v0.1 containing the
parent and candidate artifact digests, code/prompt/model/tool changes, data
sources, build provenance, requested capabilities, and deployment target.witnora.permission_inheritance_diff.v0.1.witnora.promotion_grant.v0.1. The grant is target-bound,
short lived, idempotently claimable, and valid for one use.witnora.promotion_receipt.v0.1. A digest mismatch
suspends assurance. A match records promotion but remains
REVALIDATION_REQUIRED until a successor assurance case is independently
reviewed.The Hosted workspace exposes one human path: Review changes and promote. Grant claim and deployed-byte verification remain machine operations so an agent cannot approve its own mutation from the UI.
For a non-bypassable deployment boundary, exchange the grant through the GitHub OIDC credential broker and customer-owned admission adapters.
Hosted promotion grants and receipts use the configured Witnora Ed25519 evidence signer. The signed payload includes the project, mutation, manifest, artifact, target, observer, outcome, and continuous-assurance result.
Witnora’s own npm release is the dogfood profile. GitHub Actions records the same mutation, single-use grant, and registry-byte receipt. GitHub OIDC artifact attestations sign those files, while npm Trusted Publishing signs package provenance. The registry observer downloads the public package after publish; it does not trust the local tarball path as proof of deployment.
POST /v1/projects/:projectId/mutationsGET /v1/projects/:projectId/mutationsPOST /v1/projects/:projectId/mutations/:mutationId/promotePOST /v1/projects/:projectId/promotion-grants/:grantId/claimPOST /v1/projects/:projectId/promotion-grants/:grantId/verify-deploymentPromotion review requires a human owner or administrator. Claim requires a
project key with runs:write; verification requires evidence:write.
Idempotency keys make retries safe, while a second distinct claim is rejected
as replay.
It does not prove that every deployment path is forced through Witnora, that a compromised observer reported truthfully, or that the promoted version is safe. Those claims require enforced deployment credentials, protected customer-side keys, multiple independent observation points, and successor revalidation.