Add credentialed E2B and Modal extensions, burst routing fallback, fin-hub meter export hook, BYOK docs, and 77 tests.
2.5 KiB
id, type, title, domain, repo, status, owner, topic_slug, created, updated, state_hub_workstream_id
| id | type | title | domain | repo | status | owner | topic_slug | created | updated | state_hub_workstream_id |
|---|---|---|---|---|---|---|---|---|---|---|
| SAND-WP-0010 | workplan | Cloud adapters and billing export | infotech | sand-boxer | finished | codex | custodian | 2026-06-24 | 2026-06-24 | a78ea9f1-d076-43a6-8798-36fc333edd25 |
Cloud adapters and billing export
Replace ext.saas-stub with real metered cloud backends (E2B, Modal) and wire
BYOK credential routing plus fin-hub billing export.
Gap analysis P5/P10: history/2026-06-24-post-wp0007-intent-scope-gap-analysis.md
Supersedes: SAND-WP-0006-T06
Predecessor: SAND-WP-0009 (TTL — finished)
Follow-on: SAND-WP-0011 (reachability + consumer profiles)
Credential routing and BYOK
id: SAND-WP-0010-T01
status: done
priority: high
state_hub_task_id: "5aeb6a17-dc5b-4e39-996c-f7f31c2659f4"
src/sandboxer/extensions/credentials.py; docs in docs/payments.md and
docs/cloud-adapters.md.
ext.e2b adapter
id: SAND-WP-0010-T02
status: done
priority: high
state_hub_task_id: "205bc70a-aaa6-4cd7-b0a5-11669490c150"
ext.e2b, profile.e2b-burst, mocked HTTP tests in tests/test_e2b.py.
ext.modal adapter
id: SAND-WP-0010-T03
status: done
priority: high
state_hub_task_id: "b9f104e1-e9d6-4324-b82a-8406be3006e5"
ext.modal, profile.modal-gpu, tests/test_modal.py.
Routing and credits integration
id: SAND-WP-0010-T04
status: done
priority: high
state_hub_task_id: "c11bdaf1-4c25-4c14-a566-0e28b0bd8b1d"
profile.burst-sandbox routes e2b → modal → stub; credential-aware resolver.
fin-hub billing export
id: SAND-WP-0010-T05
status: done
priority: medium
state_hub_task_id: "4eb1b0df-c6d7-4fb6-a7a4-e1455d2fac61"
payments/billing_export.py; hook on metered destroy; tests/test_billing_export.py.
Docs and capability registry
id: SAND-WP-0010-T06
status: done
priority: medium
state_hub_task_id: "d0aba132-b8fa-461b-b722-099868bf1770"
docs/cloud-adapters.md; registry A5/C5; routing/payments/extension-sdk updates.
Tests and smoke
id: SAND-WP-0010-T07
status: done
priority: high
state_hub_task_id: "3aebb3be-ae5e-4642-9710-9d80a1e8a582"
77 tests; scripts/smoke-cloud-adapter.sh (operator, credential-gated).
Acceptance criteria
- E2B and Modal adapters provision/teardown via CLI with mocked CI
- BYOK documented; no secrets in repo or State Hub payloads
profile.burst-sandboxroutes to E2B when creds available- fin-hub export hook callable when
SANDBOXER_FIN_HUB_URLset - SAND-WP-0006-T06 cancelled (superseded)