Purpose
Define the first policy-gated rollback restore surface for governed-runner v0.2.
This is a design issue only. Do not implement rollback restoration in this issue.
Context
Governed-runner v0.1 records rollback evidence through RollbackBoundary and RollbackResult, but it does not mutate or restore workspace state.
Rollback restore is a mutating operation and must be designed as a separate policy-gated capability.
Proposed v0.2 scope
A future restore surface should require:
- existing
RollbackBoundary
- admitted restore request
- authority state permitting restore
- safe-root enforcement
- file/path allowlist enforcement
- explicit restore action receipt
- before/after digest evidence
Acceptance criteria
- Define
RollbackRestoreRequest v0.1 schema.
- Define
RollbackRestoreReceipt v0.1 schema.
- Add positive fixture for a synthetic restore inside an allowed temp workspace.
- Add negative fixture for missing rollback boundary.
- Add negative fixture for missing restore admission.
- Add negative fixture for path escape.
- Add negative fixture for missing before digest.
- Add negative fixture for digest mismatch.
- Add negative fixture for suspended/revoked authority.
- Add validator and Makefile target.
- Add docs describing exactly what restore can mutate and under what evidence conditions.
Non-goals
- no restore implementation in this design issue
- no arbitrary file mutation
- no cross-repo restore
- no restore outside safe root
- no authority update
- no budget settlement
- no live agent execution
Boundary
Rollback restore must remain unavailable until the design, schemas, fixtures, validator, and docs are accepted. Implementation must occur in a separate PR.
Purpose
Define the first policy-gated rollback restore surface for governed-runner v0.2.
This is a design issue only. Do not implement rollback restoration in this issue.
Context
Governed-runner v0.1 records rollback evidence through
RollbackBoundaryandRollbackResult, but it does not mutate or restore workspace state.Rollback restore is a mutating operation and must be designed as a separate policy-gated capability.
Proposed v0.2 scope
A future restore surface should require:
RollbackBoundaryAcceptance criteria
RollbackRestoreRequest v0.1schema.RollbackRestoreReceipt v0.1schema.Non-goals
Boundary
Rollback restore must remain unavailable until the design, schemas, fixtures, validator, and docs are accepted. Implementation must occur in a separate PR.