feat: cloud adapters E2B/Modal and billing export (SAND-WP-0010)

Add credentialed E2B and Modal extensions, burst routing fallback,
fin-hub meter export hook, BYOK docs, and 77 tests.
This commit is contained in:
2026-06-24 12:50:19 +02:00
parent 6d0a1a8b1e
commit 15f031fd65
26 changed files with 859 additions and 75 deletions

View File

@@ -116,26 +116,24 @@ own tunnels or CAs.
- **Status:** v0 operational — self-hosted compose path proven on CoulombCore;
routing, payments stub, and snapshots shipped
- **Workplans finished:** SAND-WP-00010009 (0003/0004 in sibling repos)
- **Workplans ready:** SAND-WP-00100012 (cloud, consumers, Packer)
- **Workplans finished:** SAND-WP-00010010 (0003/0004 in sibling repos)
- **Workplans ready:** SAND-WP-00110012 (consumers, Packer)
- **Package:** `src/sandboxer/` — CLI, manager, extensions, routing, payments,
snapshots, telemetry, HTTP API
- **Profiles:** `profile.compose-e2e`, `profile.compose-checkpoint`,
`profile.sandbox-canary`, `profile.vm-haskell-build`, `profile.saas-stub`,
`profile.burst-sandbox`
- **Extensions:** `ext.compose-ssh` (compose + tar snapshots),
`ext.vm-packer` (attach), `ext.saas-stub` (metered stub + metadata snapshots)
- **Profiles:** compose e2e/checkpoint, canary, vm-haskell-build, saas-stub,
burst-sandbox, e2b-burst, modal-gpu
- **Extensions:** `ext.compose-ssh`, `ext.vm-packer`, `ext.saas-stub`,
`ext.e2b`, `ext.modal`
- **Docs:** `meta-framework`, `extension-sdk`, `host-telemetry`, `routing`,
`payments`, `snapshots`, `migration-gaps`, `migration-build-machines`
- **Registry:** `capability.execution.sandbox-provision` indexed (draft)
- **Tests:** 69 pytest cases; `make check` green
- **Tests:** 77 pytest cases; `make check` green
- **Siblings:** wise-validator `validate run` (SAND-WP-0003); the-custodian
`make e2e REPO=` shim (SAND-WP-0004)
Latest gap analysis: `history/2026-06-24-post-wp0007-intent-scope-gap-analysis.md`
Gap analysis: `history/2026-06-24-post-wp0007-intent-scope-gap-analysis.md`
**Ready workplans:** SAND-WP-0010 (cloud adapters), 0011 (consumer profiles),
0012 (Packer orchestration).
**Ready workplans:** SAND-WP-0011 (consumer profiles), 0012 (Packer orchestration).
---
@@ -175,14 +173,14 @@ cd ~/the-custodian && make e2e REPO=activity-core
- ~~TTL auto-expiry / `extend_ttl` enforcement~~ — done (SAND-WP-0009)
- Packer build orchestration from `create`**SAND-WP-0012**
- Real E2B / Modal adapters (stub today) — **SAND-WP-0010**
- ~~Real E2B / Modal adapters~~ — done (SAND-WP-0010)
- Consumer profiles (agent-dev, build) — **SAND-WP-0011**
- Cross-host snapshot transfer
- Formal ops-bridge tunnel attachment — **SAND-WP-0011**
- Dedicated sandboxer01 host (CoulombCore interim only today)
- `reuse-surface validate` / federation publish workflow
- ~~`.repo-classification.yaml`~~ — done (SAND-WP-0009)
- fin-hub billing export — **SAND-WP-0010**
- ~~fin-hub billing export~~hook done (SAND-WP-0010); railiance-platform wiring operator
---