Skip to content

Commit 74323dd

Browse files
Link bounded VM contact into deployment acceptance
1 parent 1752c16 commit 74323dd

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

backend/deploy/VM_SETUP.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,18 @@ independent backup mount/device: hmmm
1515
human SSH/OS Login recovery path: hmmm
1616
```
1717

18+
## Bounded agent contact
19+
20+
Before replacing repeated human SSH with model-side operations, establish the separate
21+
read-only `vm-mcp` contact described in [`VM_CONTACT.md`](VM_CONTACT.md). The runtime
22+
comes from an exact canonical `The-Interdependency/skill-lib` commit and must not take
23+
ownership of `/srv/stack`, expose a public listener, inherit SSH keys, or start with a
24+
writable shell.
25+
26+
Initial contact is observation-only. Keep human SSH/OS Login/IAP as bootstrap and
27+
break-glass access. A later write surface must be a named, reviewed stack operation,
28+
not a generic privileged shell.
29+
1830
## Intended privilege boundary
1931

2032
```text
@@ -156,6 +168,8 @@ systemctl list-timers stack-orchestrator-backup.timer
156168
Deployment is not complete until all of these are observed on the VM:
157169

158170
```text
171+
[ ] human bootstrap/recovery path remains available
172+
[ ] read-only vm-mcp contact is loopback/private-tunnel only, non-root, shell disabled
159173
[ ] PostgreSQL version/state and local auth boundary observed
160174
[ ] stackctl db migrate succeeds
161175
[ ] worker runs as non-root stackorchestrator
@@ -170,12 +184,12 @@ Deployment is not complete until all of these are observed on the VM:
170184
[ ] backup creates validated local + independent copies
171185
[ ] backup mirror is a distinct mounted filesystem/device
172186
[ ] restore drill succeeds against disposable database
173-
[ ] human bootstrap/recovery path remains available
174187
```
175188

176189
## hmmm
177190

178191
The concrete VM distribution, PostgreSQL installation/auth state, storage mount, service
179192
account state, and end-to-end deployment results remain unobserved here. PostgreSQL
180193
integration tests and backup/restore acceptance therefore remain live VM gates rather
181-
than being represented as passed.
194+
than being represented as passed. `VM_CONTACT.md` defines the bounded path for turning
195+
those unknowns into observable evidence without exporting SSH credentials to the model.

0 commit comments

Comments
 (0)