Clarify Windows validation evidence
CI / tests-and-images (pull_request) Successful in 3m12s
Runner smoke test / runner-smoke (pull_request) Successful in 2s

This commit is contained in:
codex committed 2026-10-31 01:02:08 +03:00
1 parent 96ed0949ca
commit 4a7e907be7
3 files changed
+33 -20

No files matched your search

+10 -7
View File
@@ -7,9 +7,11 @@ VPS, even temporarily. The reviewed implementation in PR #59 streams stopped
Compose state directly from the root receiver to the owner's Windows client;
the client stores it only under `D:\Dev\akyldash\.backups`. The VPS retains
only a secret-free identity (backup ID, size, archive and manifest hashes,
manifest) in root-owned release state. The implementation has synthetic tests
only and is not installed or verified on Windows or the VPS. There is no
verified production backup, so production deployment remains blocked.
manifest) in root-owned release state. The Windows rerun passed 12 synthetic
client checks, 8 protocol checks, and a disposable real-NTFS private owner-ACL
fixture. The production D: path, SSH connection, VPS installation, and
full production backup remain unverified. There is no verified production
backup, so production deployment remains blocked.
## External backup flow
@@ -39,10 +41,11 @@ verified production backup, so production deployment remains blocked.
references. It restores images only, never application data or OpenSearch
state.
Windows PowerShell is the intended client. The destination and ACL checks have
not yet been exercised on Windows. An owner must separately test archive
restore on an isolated target before relying on this path. Do not restore over
production as a test.
Windows PowerShell is the intended client. The Windows checks exercised the
destination and ACL rules, including a disposable real-NTFS private owner-ACL
fixture. The actual production D: destination and SSH path remain unverified.
An owner must separately test archive restore on an isolated target before
relying on this path. Do not restore over production as a test.
## Backup contents and limits
+14 -8
View File
@@ -4,9 +4,12 @@ Owner decision recorded 2026-10-26: a complete backup must not be stored on
the VPS, including temporarily. The local archive/full cold-backup commands in
`BACKUP.md` are superseded and unauthorized. PR #59 now contains a proposed
Windows-controlled external stream receiver and root-side deploy/rollback
code. It has not been installed or run on Windows or the VPS. No verified
external backup or separate-target restore exists, so production deployment
remains blocked by the backup gate.
code. The Windows rerun passed 12 synthetic client checks and 8 protocol
checks, plus a disposable real-NTFS fixture for the private owner ACL. The
production D: path, SSH connection, VPS installation, full backup, and
separate-target restore remain unverified. No verified external backup or
separate-target restore exists, so production deployment remains blocked by
the backup gate.
## Code-only deployment work — 2026-10-31
@@ -28,16 +31,19 @@ remains blocked by the backup gate.
durable pending journal before stopping services, and reject an already
applied release before downtime. The Windows client checks D: capacity,
NTFS/path/ACL owner and allowed entries, and the local ignore rule before
SSH; it requires 100 GiB plus 1 MiB free. These code changes remain
unverified on Windows and the VPS.
SSH; it requires 100 GiB plus 1 MiB free. The Windows rerun passed 12
synthetic client checks, 8 protocol checks, and a disposable real-NTFS
private owner-ACL fixture; actual D:, SSH, and VPS remain unverified.
- Receiver cleanup after a post-publication ACL failure is identity-bound to
the owned staging directory and permits only the expected archive files. A
replaced, reparse, or unexpected target is left for manual review without an
ACK; this path is covered by local fixtures and remains pending Windows rerun.
ACK; this path is covered by local fixtures and the Windows rerun.
- Synthetic tests cover archive/protocol integrity, helper download rules,
artifact/run provenance, receiver publication, release schema, and rollback
refusal. Windows ACL, NTFS, PowerShell, SSH alias, Gitea helper against the
live instance, root helper installation, artifact redirect, production
refusal. The 12 synthetic Windows client checks, 8 protocol checks, and
disposable real-NTFS private owner-ACL fixture passed. The actual D: path,
SSH alias, Gitea helper against
the live instance, root helper installation, artifact redirect, production
backup/restore, and actual release/rollback remain unverified.
- Owner bootstrap blockers remain: verify a root-controlled SSH route for the
fixed commands using existing host-key checking; provision only the
+9 -5
View File
@@ -47,8 +47,9 @@ private keys, secret material, or raw process environments.
- The complete archive must remain on the owner-controlled Windows destination
`D:\Dev\akyldash\.backups`; never stage a full archive on the VPS.
- Before relying on the flow, run its NTFS, ACL, D: path, and local `.git/info/exclude`
checks on Windows and verify a complete synthetic or approved backup is
- Synthetic Windows protocol checks and a disposable private-NTFS owner-ACL
fixture passed. Before relying on the flow, run its checks against the actual
D: path and local `.git/info/exclude`, then verify an approved backup is
published only after hash and manifest verification.
- Confirm D: encryption at rest. Archives contain production secrets and
private keys; the protocol encrypts transport but does not encrypt files at
@@ -62,6 +63,9 @@ private keys, secret material, or raw process environments.
throughout the rollback window.
The installer does not create credentials, SSH configuration, canary values,
registry access, or new sudo rules. The PR has not been installed, run on
Windows, or executed against production. Keep deployment disabled until the
owner records evidence for each gate above.
registry access, or new sudo rules. The PR has not been installed or run
against production. Windows validation passed 12 synthetic client checks, 8
protocol checks, and a disposable real-NTFS private owner-ACL fixture. The
actual D: path, SSH, full backup, and separate-target restore remain
unverified. Keep deployment disabled until the owner records evidence for
each gate above.