Commit graph

6 commits

Author SHA1 Message Date
0xkite
dd7d3f3891
fix(control): survive broken control-pipe writes and g++ -Wchanges-meaning
Two mechanical fixes from the Workflow #218 Ghost E2E evidence:

- gloved exited fatally when a control response could not be written back
  to a vanished client (broken pipe after a supervisor timeout), turning a
  client disconnect into a daemon crash. Transport-level write failures on
  an already-authenticated connection are now connection-scoped: serve_one
  reports receipt_audit_serve_outcome::connection_failed, the affected
  session is degraded (structured `control` audit event in a new owner-only
  control-audit.jsonl journal, idempotent guest teardown for start_session
  via the normal stop path with its pending-before-release audit
  guarantees), and gloved keeps serving subsequent connections. Listener,
  peer-authentication, frame-integrity, and audit-chain failures still fail
  closed and remain fatal.

- renamed class-name-shadowing members and TU-local wire types so GCC 14.2
  accepts the tree under -Wchanges-meaning (hard error, clang-clean):
  receipt_audit_unix_server_config::session_runtime -> runtime,
  receipt_audit_protocol::implementation::session_runtime -> runtime,
  wire::error -> rpc_error, control_wire::params -> rpc_params,
  control_wire::exposure -> exposure_record,
  setup_wire::apple_container_runtime -> apple_container_runtime_record.
  Member (JSON wire key) names are unchanged.

Regression tests: verify_broken_pipe_delivery_is_connection_scoped (peer
closes with SO_LINGER 0; server must report connection_failed, record the
control audit event, and keep serving) and verify_degrade_failed_delivery
(start_session guests are torn down, failures stay non-fatal and audited).
2026-08-31 07:33:59 -06:00
trvon
a8137db76b
feat(control): neutral guest channels, quarantine recovery, capability sealing, local-service proxy
Introduce the framed guest_channel_transport with shared deadlines and
std::jthread ownership, metadata-only retired-schema quarantine with
fail-closed integrity, stateless frozen-catalog validators with
capability pinned to zero, and the generic local-service proxy with
descriptor-pinned endpoints, alias-only guest sockets, audit-gated
delivery, and a Linux managed runtime capability derived only from a
registry-bound operational factory. Sage vocabulary is confined to
src/adapters/sage.
2026-08-30 20:28:41 -06:00
0xkite
ad02703151
fix(ci): require complete designated initializers 2026-08-14 15:27:14 -06:00
0xkite
497e703e70
feat(runtime): manage sandboxed agent sessions
Keep credentials and network access behind authenticated, audited brokers while binding launch adapters, immutable closures, recovery identities, receipts, and cleanup to the approved plan. Add Apple Container and Linux release lanes without weakening the outer sandbox.
2026-07-30 08:49:42 -04:00
0xkite
0fe581b028
Add bounded path exposure and retained apply controls 2026-07-20 08:59:38 -04:00
0xkite
0dafbed1e8
Initial Glove sandbox baseline 2026-07-19 21:06:11 -04:00