Files
awoooi/docs/proposals/AWOOOI-AG99-H110-BACKUP-RUNTIME-V8.md

3.2 KiB

AWOOOI Agent99 Host110 Backup Runtime V8

Status: proposed; owner approval required before any production apply.

This artifact supersedes V2 through V7. The V7 candidate, revision, artifact, and diff hashes are void for approval. All V5 hashes remain void. Prior refs remain immutable audit evidence only; none is production execution authority.

Scope

  • Agent99 runtime bundle: 19 files, guarded by one producer/consumer parity test.
  • Host110 backup payload: 18 files, comprising 17 backup scripts and backup-health-textfile-exporter.py.
  • Host110 remote stage: 21 unique basenames, comprising the 18 payload files, the fixed executor, the independent verifier, and manifest.json.
  • Fixed target: wooo@192.168.0.110, dispatched by Windows99 Agent99 from an exact Gitea main revision and digest manifest.
  • Gitea offline backup and container lifecycle changes remain excluded. backup-gitea.sh has no candidate diff.

V7 Defect Closed

V7 created and uploaded agent99-host110-backup-runtime-manifest.json, while the fixed Host110 executor consumed $SOURCE_STAGE/manifest.json. V8 uses manifest.json at the broker source stage, so SCP preserves the exact basename consumed by the executor.

The integration test derives all broker SCP basenames from the actual PowerShell file list and manifest path, requires 21 unique stage files, and matches the manifest and verifier basenames to the executor's exact $SOURCE_STAGE paths. A hand-built temporary manifest cannot satisfy this test by itself.

Exact Diff Serialization

Substitute the V8 Gitea live-ref SHA for <candidate_git_sha> and hash the exact stdout bytes from this command:

git diff --binary --full-index \
  e7e3bcf8a5a8a19c1253d73f51d9dca248af0aa3..<candidate_git_sha> |
  shasum -a 256

The review message independently binds the Gitea live ref and Git SHA, this tracked artifact path and bytes hash, and the serialized diff hash.

Apply Effects

  • Windows99 Agent99 runtime promotion writes the 19 runtime files plus bounded manifest and receipt state.
  • Host110 Apply writes/replaces the 18 payload paths through one exclusive, digest-bound filesystem transaction.
  • Apply does not run a backup, invoke a Gitea container lifecycle, sync Google Drive, prune or delete snapshots, restart a VM or service, or change a DB, network, or firewall.

Validation

  • The exact broker/SCP basename to executor path integration test must pass.
  • Focused runtime, broker, backup, parity, and Ansible suites must pass.
  • Ansible and shell/Python static validation must pass.
  • Changed PowerShell must parse on Windows99 with zero errors.
  • Central review must independently reproduce the live ref, artifact hash, diff hash, 19/18/21 counts, and zero backup-gitea.sh diff.

Rollback

  • Source rollback reverts the exact V8 diff to e7e3bcf8a5a8a19c1253d73f51d9dca248af0aa3 without force-pushing.
  • Agent99 rollback restores the prior runtime files and manifest and verifies the prior hashes independently.
  • Host110 rollback restores every prior payload's content, SHA-256, uid, gid, and mode under the exclusive lock.
  • Any mismatch terminates as rollback_unverified and cannot be reported as a successful rollback.