Commit graph

66 commits

Author SHA1 Message Date
e45e3e6401 fix: reject multicast and reserved egress addresses
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0726e-5232-73f2-aaca-2c05ceb62efb
2026-09-05 22:10:59 +02:00
d477c3b5d9 feat: enforce owner allowlisted bwrap HTTPS egress
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0726e-5232-73f2-aaca-2c05ceb62efb
2026-09-05 22:08:18 +02:00
d69827aaa2 feat: pin bwrap rein runtimes and isolate private state
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0726e-5232-73f2-aaca-2c05ceb62efb
2026-09-05 20:36:11 +02:00
custodian-sync
c2886b2f77 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
Updated by fix-consistency on 2026-09-05:
  - update .custodian-brief.md for sand-boxer

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0726e-5232-73f2-aaca-2c05ceb62efb
2026-09-05 20:33:27 +02:00
b6655d8859 Add bounded stdin to owner execution
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06def-6490-7033-8448-2eab2d12ed44
2026-09-04 22:30:11 +02:00
fd9297810c Verify bwrap execution across owner API requests
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06def-6490-7033-8448-2eab2d12ed44
2026-09-04 22:25:05 +02:00
d79e3fe358 Add owner-mediated bwrap execution boundary
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06def-6490-7033-8448-2eab2d12ed44
2026-09-04 22:12:19 +02:00
custodian-sync
877676d1f1 chore(consistency): sync task status from DB [auto]
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Updated by fix-consistency on 2026-09-04:
  - update .custodian-brief.md for sand-boxer

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06def-6490-7033-8448-2eab2d12ed44
2026-09-04 22:00:27 +02:00
5c76010026 docs(agents): repoint remote State Hub URL to the in-cluster address
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
The remote row pointed at 127.0.0.1:18000, a reverse tunnel back to the
workstation. On railiance01 the State Hub runs in the cluster on that same
machine, so the request left the box and came back to reach a local service.

Refs CUST-WP-0067-T07

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 00:22:02 +02:00
20258de61e Adopt Target Revenue Source License V1C1 (org-wide preliminary rollout)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Maintainer decision, 2026-07-29: adopts TRSL V1C1 as this repo's
preliminary governing license, per target-revenue's
workplans/TREV-WP-0008-governance-and-pilot-rollout.md T05. Full
specialist legal review is deferred until out of beta (target-revenue
SCOPE.md §1). No Phase is yet declared for this repo.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-30 01:04:00 +02:00
aa772ecea6 Regenerate WORK-RECORDS.md
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 02:04:13 +02:00
ebb200e82f Mark SAND-WP-0013 finished
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 01:59:47 +02:00
c8951fbdd3 Regenerate WORK-RECORDS.md
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 6s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 13:49:01 +02:00
cf490220f4 Add local reachability descriptor for same-host extensions (SAND-WP-0013-T04)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Reachability gains pid/workspace_dir, populated by enrich_reachability
whenever a backend's wait_ready() returns a pid: endpoint (currently
just ext.bwrap). build_reachability_report() now also returns a
local_exec_hint (nsenter into the pid's namespaces) alongside the
existing ssh_one_liner, so glas-harness can branch on which is
populated instead of assuming every sandbox is SSH-reachable.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 12:58:32 +02:00
76c38e758c Implement ext.bwrap: local bubblewrap namespace extension (SAND-WP-0013)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Adds the first local, same-host, kernel-namespace-only sandbox
extension: no SSH hop, no container runtime. Extends IsolationSpec.level
with "process", implements BwrapExtension (provision/wait_ready/
teardown) spawning bwrap with unshared user/mount/pid/ipc/uts/net
namespaces, registers ext.bwrap + profile.bwrap-local, and extends
manager._handle_from_status to carry pid/workspace_dir. Verified with a
live bwrap smoke run in addition to the mocked test suite.

T04 (reachability vs. the SSH-based glas-harness consumer contract)
deliberately left open pending glas-harness's harness contract.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 12:37:56 +02:00
d2186e8ac8 Add SAND-WP-0013: bubblewrap local-exec extension
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
First local, same-host, kernel-namespace-only sandbox extension --
every current self-hosted extension requires an SSH hop plus a
container runtime or VM. Also the first extension able to actually
enforce the network.default: deny every profile already declares.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 12:29:04 +02:00
bc1f5f8238 docs: workplan-first agent guidance prose (CUST-WP-0055 T04)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-07-08 16:35:49 +02:00
7f978f7274 Regenerate agent instructions from state-hub templates (CUST-WP-0055 T01)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Sync AGENTS.md, CLAUDE.md, and .claude/rules from updated project_rules
templates: workplan-first session protocol, legacy terminology footnote,
and GET /workplans/ examples.
2026-07-08 14:50:36 +02:00
7447d38642 chore(CORE-WP-0007): retire haskell-build VM profile
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-07-08 12:48:04 +02:00
fb195b8978 Add Forgejo CI smoke workflow (enablement template)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-07-08 12:37:53 +02:00
2d0669c2f8 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-24:
  - update .custodian-brief.md for sand-boxer
2026-06-24 12:57:32 +02:00
774bc5ae0a feat: Packer build orchestration (SAND-WP-0012)
Add vm-packer build mode, profile.vm-packer-build, State Hub progress
notes during long provision, docs/runbook, and build mode tests.
2026-06-24 12:56:32 +02:00
92eaf8bae5 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-24:
  - update .custodian-brief.md for sand-boxer
2026-06-24 12:54:51 +02:00
1f87be4c6b feat: reachability and consumer profiles (SAND-WP-0011)
Add reachability enrichment (tunnel metadata, ops-bridge pointer),
secret_refs boundary resolution, profile.agent-dev and profile.build,
CLI reachability show, API endpoint, consumer smoke scripts, and tests.
2026-06-24 12:54:27 +02:00
7cabf77fb6 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-24:
  - update .custodian-brief.md for sand-boxer
2026-06-24 12:50:47 +02:00
15f031fd65 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.
2026-06-24 12:50:19 +02:00
6d0a1a8b1e chore: sync SAND-WP-0010–0012 State Hub IDs 2026-06-24 12:48:07 +02:00
878aa6a451 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-24:
  - update .custodian-brief.md for sand-boxer
2026-06-24 12:47:55 +02:00
5466330cf4 docs: add workplans SAND-WP-0010–0012 for remaining gaps
Cloud adapters (E2B/Modal/BYOK/fin-hub), reachability and consumer
profiles, Packer orchestration; update gap analysis and SCOPE.
2026-06-24 12:47:08 +02:00
151fc41299 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-24:
  - update .custodian-brief.md for sand-boxer
2026-06-24 12:44:30 +02:00
df658e7ef9 feat: TTL enforcement and operational hardening (SAND-WP-0009)
Add TTL parser, expires_at on create, extend_ttl and expire/reap APIs,
activity-core integration doc, repo classification, registry refresh,
HTTP parity, and 69 tests.
2026-06-24 12:44:04 +02:00
b58191b23e chore: sync SAND-WP-0009 State Hub IDs 2026-06-24 12:38:40 +02:00
0fb799fa4e chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-24:
  - update .custodian-brief.md for sand-boxer
2026-06-24 12:38:26 +02:00
ee304f313d docs: post-WP-0007 gap analysis and SAND-WP-0009 workplan
Assess remaining INTENT gaps after snapshots; propose TTL enforcement,
platform hygiene, and HTTP parity as the next implementation track.
2026-06-24 12:36:56 +02:00
cd746cff77 docs: refresh SCOPE.md for v0 post SAND-WP-0007
Reflect finished workplans 0001–0008, full profile/extension catalog,
routing/payments/snapshots surface, 54 tests, and current gaps.
2026-06-24 08:01:18 +02:00
67f1a3a565 chore: sync SAND-WP-0007 State Hub IDs 2026-06-24 07:58:00 +02:00
952cebf2e9 feat: snapshot/restore checkpoints (SAND-WP-0007)
Add workspace checkpoint API with SnapshotStore, extension hooks on
compose-ssh and saas-stub, manager orchestration, CLI/HTTP surface,
profile.compose-checkpoint, and docs/tests.
2026-06-24 07:57:40 +02:00
2760ef2373 Sync State Hub workstream IDs for SAND-WP-0006 2026-06-24 07:52:45 +02:00
1415e17230 Implement SAND-WP-0006: SaaS payments, routing, and ext.saas-stub
Add credits store, metering on create/destroy, extension routing resolver,
metered SaaS stub extension, burst/saas profiles, credits CLI, docs, and tests.
2026-06-24 07:52:20 +02:00
eee336149e Sync State Hub workstream IDs for SAND-WP-0005 2026-06-24 01:47:50 +02:00
cec0fc6348 Implement SAND-WP-0005: extension SDK and ext.vm-packer
Add SandboxExtension base class, extension SDK docs, vm-packer attach mode
for build-machines VMs, profile.vm-haskell-build, SSH port support, tests,
and migration docs.
2026-06-24 01:47:07 +02:00
c8126672ee chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-23:
  - update .custodian-brief.md for sand-boxer
2026-06-23 21:44:27 +02:00
1594bceec1 Finish SAND-WP-0004: mark e2e-framework migration arc complete
Update migration-gaps, SCOPE, and workplan status after the-custodian
make e2e shim delegates to validate run.
2026-06-23 21:43:53 +02:00
d6afe0e27b Sync State Hub workstream IDs for SAND-WP-0003 and SAND-WP-0004
fix-consistency writeback: state_hub_workstream_id and task IDs.
2026-06-23 21:41:24 +02:00
9757ce0c7d chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-23:
  - update .custodian-brief.md for sand-boxer
2026-06-23 21:41:14 +02:00
6473fa78d7 Update SCOPE, gap analysis, and propose SAND-WP-0004
Refresh SCOPE.md for v0 operational state after WP-0002/0003/0008.
Add history/ INTENT↔SCOPE assessment and ready workplan for the-custodian
e2e shim to close the e2e-framework migration arc.
2026-06-23 21:40:43 +02:00
e7d31b7f55 Finish SAND-WP-0003: wise-validator extraction workplan
Add workplan, update migration-gaps delivered table, and extend sand-boxer
e2e.yml with health check for validate run self-smoke.
2026-06-23 21:37:08 +02:00
9054d33e46 Clarify INTENT.md: sand-boxer self-sufficiency and sibling boundaries
Document that sand-boxer is self-sustained without wise-validator, that
validation is an optional downstream consumer, and update near-term outcomes
to reflect completed SAND-WP-0002 work.
2026-06-23 21:23:39 +02:00
45029ec66f chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-06-23:
  - update .custodian-brief.md for sand-boxer
2026-06-23 19:54:02 +02:00
c0a9261cdc Implement SAND-WP-0008: host telemetry and self-canary
Add profile.sandbox-canary, HostSnapshot/inventory/stale schemas, SSH
collectors, before/after provision deltas, telemetry export to State Hub
and local JSON, default `sandboxer create` self-deploy, inspect/reap-stale
CLI, runbook, and CoulombCore verification (26 tests pass).
2026-06-23 19:53:51 +02:00