docs(vault): first-proof runbook for the spawn->provision chain #103

Merged
clawdie merged 1 commit from docs/vault-first-proof-runbook into main 2026-06-20 09:01:11 +02:00
Owner

What

A first-proof runbook (docs/VAULT-PROVISION-FIRST-PROOF.md) for driving the spawn → vault-provision → .env chain live on osa — continuing an osa-agent investigation (verified against origin/main).

Why it matters

The chain is wired and unit-tested, but not CLI-drivable yet. The runbook surfaces that honestly and gives the working interim path:

  • #101 — no register-tenant command → tenant row via raw SQLite (step 3)
  • #102 — no --jail on spawn CLI → jailed spawn via raw socket JSON (step 4)

It also documents the exact resolution semantics so setup is correct: the hook calls provision(&tenant.tenant_id, …), so the Vaultwarden collection must be named = tenant_id = jail name, and the stored jail_root_path must match the spawned root.

Guardrails baked in

  • Scratch jail + throwaway test collection only (first-proof policy, HIVE-ONBOARDING).
  • Bootstrap creds stay in provider.env; only the resolved .env enters the jail.
  • Cleanup + verification steps included.

Documents the interim path for #101/#102; references #92 (path hardening) and #100 (crate bw hardening) as land-before-promotion items.

🤖 Generated with Claude Code

## What A first-proof runbook (`docs/VAULT-PROVISION-FIRST-PROOF.md`) for driving the spawn → vault-provision → `.env` chain live on osa — continuing an osa-agent investigation (verified against `origin/main`). ## Why it matters The chain is wired and unit-tested, but **not CLI-drivable yet**. The runbook surfaces that honestly and gives the working interim path: - **#101** — no `register-tenant` command → tenant row via raw SQLite (step 3) - **#102** — no `--jail` on spawn CLI → jailed spawn via raw socket JSON (step 4) It also documents the exact resolution semantics so setup is correct: the hook calls `provision(&tenant.tenant_id, …)`, so the **Vaultwarden collection must be named = tenant_id = jail name**, and the stored `jail_root_path` must match the spawned root. ## Guardrails baked in - Scratch jail + throwaway test collection only (first-proof policy, HIVE-ONBOARDING). - Bootstrap creds stay in `provider.env`; only the resolved `.env` enters the jail. - Cleanup + verification steps included. ## Related Documents the interim path for #101/#102; references #92 (path hardening) and #100 (crate bw hardening) as land-before-promotion items. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
clawdie added 1 commit 2026-06-20 08:38:12 +02:00
docs(vault): first-proof runbook for the spawn->provision chain
Some checks failed
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
a368df45e4
Documents how to prove the spawn -> vault-provision -> .env chain live on osa,
honestly surfacing that it isn't CLI-drivable yet:
- the chain is wired + unit-tested, but tenant registration is raw-SQLite-only
  (#101) and jailed spawn is raw-socket-JSON-only (#102)
- runbook uses the interim manual path (sqlite insert + raw spawn-agent JSON)
- scratch jail + test collection per first-proof policy; bootstrap creds never
  enter the jail
- documents exact resolution: collection name = tenant_id, jail_root must match

Continues an osa-agent investigation (verified against origin/main).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
clawdie merged commit bbb1a2b075 into main 2026-06-20 09:01:11 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: clawdie/colibri#103
No description provided.