Commit graph

79 commits

Author SHA1 Message Date
0xkite
06d6ebb37a
fix(linux): join bridge before closing 2026-08-15 00:21:07 -06:00
0xkite
f1d6a0897e
fix(fuzz): use portable session path 2026-08-14 23:41:43 -06:00
0xkite
43cc02de49
fix(fuzz): resolve runtime ABI library 2026-08-14 22:48:36 -06:00
0xkite
766ad205f4
fix(fuzz): order packaged runtime linkage 2026-08-14 22:07:04 -06:00
0xkite
ac59e58be8
fix(fuzz): retain runtime ABI library 2026-08-14 21:07:38 -06:00
0xkite
0c827bdebc
fix(fuzz): bridge Ubuntu runtime ABI 2026-08-14 20:13:48 -06:00
0xkite
3c538d0fcd
fix(ci): align Linux fuzzer C++ ABI 2026-08-14 19:33:55 -06:00
0xkite
ef7413232c
fix(test): scope leak tracing to parent 2026-08-14 18:40:38 -06:00
0xkite
e0faa4e6bc
fix(ci): isolate namespace test leak tracing 2026-08-14 17:50:56 -06:00
0xkite
fda02033a0
fix(ci): pin compatible macOS fuzzer LLVM 2026-08-14 17:03:08 -06:00
0xkite
a74f814f4f
fix(ci): validate complete fuzzer policies 2026-08-14 16:10:42 -06:00
0xkite
ad02703151
fix(ci): require complete designated initializers 2026-08-14 15:27:14 -06:00
0xkite
22b60726c2
fix(control): initialize validation session state 2026-08-14 14:45:39 -06:00
0xkite
7a141c55a8
ci: deduplicate pull request preflight 2026-08-14 14:17:17 -06:00
0xkite
434d86d9c2
fix(host): seal snapshots after publication 2026-08-14 14:16:33 -06:00
0xkite
79d04f5e9b
fix(control): restore hosted CI portability 2026-08-14 13:26:03 -06:00
0xkite
afa46f901a
style: apply pinned clang-format baseline 2026-08-14 13:20:48 -06:00
0xkite
44e69dbf1a
fix(ci): normalize actionlint version prefix 2026-08-14 13:18:19 -06:00
0xkite
c0049a7719
Merge pull request #11 from 0xkite/refactor/runtime-policy-wire
refactor(host): extract runtime_policy_wire structs into header
2026-08-14 12:31:03 -06:00
0xkite
41dc8b616a
refactor(host): extract runtime_policy_wire structs into header
Move the runtime_policy_wire structs (session_policy, egress_policy, secret_mount_policy, resource_profile, path_access, path_alias, projection_destination, runtime_template, pi_settings_discovery, pi_package_metadata, egress_target_policy) out of runtime_policy.cpp into runtime_policy_wire.hpp. runtime_policy.cpp 2,199 -> 2,109 lines. ctest green. (Also commits clang-format cleanup of session_registry_replay.hpp from #128.)
2026-08-14 12:30:47 -06:00
0xkite
8829e652d0
Merge pull request #10 from 0xkite/refactor/session-registry-replay-module
refactor(control): extract session registry replay lookups into module
2026-08-14 12:28:08 -06:00
0xkite
0d4e6f2bf5
refactor(control): extract session registry replay lookups into module
Move start_reservation_from_record, the *_record_from_wire converters, find_*_replay_locked, and append_record_locked out of session_registry.cpp into session_registry_replay.{hpp,cpp}, completing #128. session_registry.cpp 2,641 -> 2,092 lines (was 4,387). Replay semantics preserved (ctest green).
2026-08-14 12:27:52 -06:00
0xkite
f13ebbaa00
Merge pull request #9 from 0xkite/refactor/session-registry-recovery-module
refactor(control): extract session registry recovery state machine
2026-08-14 12:24:46 -06:00
0xkite
c92dafe380
refactor(control): extract session registry recovery state machine
Move initialize_empty, read_persisted_record, accept_recovered_record, recover, verify_identity, and rollback_append out of session_registry.cpp into session_registry_recovery.{hpp,cpp}. session_registry.cpp 3,096 -> 2,641 lines. Recovery semantics preserved (ctest green).
2026-08-14 12:24:29 -06:00
0xkite
5c160a02e7
Merge pull request #8 from 0xkite/refactor/session-registry-io-helpers
refactor(control): move session registry io + conversion helpers into impl header
2026-08-14 12:21:20 -06:00
0xkite
6e5e150a08
refactor(control): move session registry io + conversion helpers into impl header
Move valid_identifier, no_process_identity, no_resource_identity, process_identity_from_wire, read_at, write_at, sync_descriptor, inspect_file, capture_identity, open_registry, public_record, and valid_record_shape out of session_registry.cpp into session_registry_impl.hpp (inline, in glove::control). Exposes the shared helpers needed by the recovery module. session_registry.cpp 3,559 -> 3,096 lines. ctest green.
2026-08-14 12:20:37 -06:00
0xkite
a20bcaede9
Merge pull request #7 from 0xkite/refactor/session-registry-impl-header
refactor(control): extract session registry internal state into impl header
2026-08-14 12:14:39 -06:00
0xkite
8d639d5348
refactor(control): extract session registry internal state into impl header
Move the on-disk constants, unique_fd, opened_registry, registry_identity, error helpers, and session_registry::implementation struct out of session_registry.cpp into session_registry_impl.hpp (internal header). This exposes the internal state needed by the recovery/replay module. session_registry.cpp 3,638 -> 3,559 lines. ctest green.
2026-08-14 12:14:22 -06:00
0xkite
bce4553f40
Merge pull request #6 from 0xkite/refactor/session-registry-recovery-structs
refactor(control): extract session registry replay lookup structs
2026-08-14 12:08:41 -06:00
0xkite
91299dacf2
style(control): fix include ordering in session_registry_wire.hpp 2026-08-14 12:08:22 -06:00
0xkite
28224ccf1b
refactor(control): extract session registry replay lookup structs
Move decoded_persisted_record + the 7 replay_lookup structs out of session_registry.cpp into a new session_registry_recovery.hpp internal header. session_registry.cpp 3,678 -> 3,638 lines. Recovery semantics preserved (ctest green).
2026-08-14 12:07:54 -06:00
0xkite
4adf3ea97a
Merge pull request #5 from 0xkite/refactor/session-registry-codec
refactor(control): extract session registry JSON codec into wire module
2026-08-14 12:03:56 -06:00
0xkite
95cad99c48
refactor(control): extract session registry JSON codec into wire module
Move encode_record + decode_record (and the max_record_payload_bytes / strict_read_options constants) out of session_registry.cpp into session_registry_wire.{hpp,cpp}, completing the wire-codec extraction. Byte-for-byte wire format preserved (ctest green). session_registry.cpp 4,387 -> 3,678 lines.
2026-08-14 12:03:38 -06:00
0xkite
c4c3919540
Merge pull request #4 from 0xkite/refactor/session-registry-hashing
refactor(control): extract session registry hashing into wire module
2026-08-14 10:04:00 -06:00
0xkite
82a1b40017
refactor(control): extract session registry hashing into wire module
Move record_material, the hash_* functions, terminal_reference, and the wire<->semantic conversion helpers (termination_cause_*, failure_code_*, state_from_wire) out of session_registry.cpp into session_registry_wire.{hpp,cpp}. Byte-for-byte wire format preserved (ctest control_session_registry + gloved_lifecycle green). session_registry.cpp 4,245 -> 3,706 lines.
2026-08-14 10:03:42 -06:00
0xkite
e63646c0ce
Merge pull request #3 from 0xkite/refactor/session-registry-wire
refactor(control): extract session registry wire codec primitives
2026-08-14 10:00:19 -06:00
0xkite
ff0033dc86
refactor(control): extract session registry wire codec primitives
Move the wire structs (persisted_session, plan_runtime_header) and low-level codec primitives (append_u32/u64/string, identity-append helpers, decode_u32) out of session_registry.cpp into session_registry_wire.{hpp,cpp}. Byte-for-byte wire format preserved (ctest control_session_registry + gloved_lifecycle green). session_registry.cpp 4,387 -> 4,245 lines.
2026-08-14 10:00:02 -06:00
0xkite
3d995d01c8
Merge pull request #2 from 0xkite/fix/glove-ctest
test(glove): register workerd supply-chain test in CTest
2026-08-13 07:01:55 -06:00
0xkite
60be71c908
chore(hooks): sync glove hook with sage refinements
Align glove's monolith-slop.sh with the sage copy: monolith check scoped to newly-added files; slop detection switched to jscpd-only; in-file #[cfg(test)] exemption.
2026-08-13 07:01:38 -06:00
0xkite
127fe80052
test(glove): register workerd supply-chain test in CTest
Register tests/scripts/test_fetch_workerd.py (30 network-free checks of the pinned workerd tool) as the workerd_supply_chain CTest entry, so the supply-chain verification runs in the normal ctest suite.
2026-08-13 07:01:38 -06:00
0xkite
00005fcbb2
Merge pull request #1 from 0xkite/chore/monolith-slop-hooks
chore(hooks): add monolith + slop detection
2026-08-13 06:18:33 -06:00
0xkite
59401be2f1
chore(hooks): add monolith + slop detection 2026-08-13 06:16:48 -06:00
trvon
780664f3af
fix(validation): correct workerd socket probe
Check the actual hexadecimal port for 8787 and bound validator cleanup with a TERM-to-KILL fallback.
2026-08-12 12:29:12 -06:00
trvon
afecee2c90
feat(remote): add construction-only backend
Co-authored-by: trvon <git@trevon.dev>
Signed-off-by: trvon <git@trevon.dev>
2026-08-07 22:27:35 -04:00
trvon
22e7c2de50
fix(onboarding): harden setup plan
Derive runtime templates before setup validation so reruns preserve existing policy. Redact policy JSON by default to avoid exposing owner-local details.
2026-08-03 09:19:50 -04:00
trvon
c3a6c1b7d1
feat(adoption): harden Pi harness sessions
Bind Glove-owned Pi adoption snapshots to launch profiles and receipts while keeping host state out of private homes. Add an offline hostile-content policy and repeatable Linux service setup.
2026-08-02 18:10:55 -04:00
trvon
825a129fbd
feat(refinement): evaluate fixtures in sandbox
Model and PTY cannot self-report pass or failure. Glove now runs
each refinement-eval-v1 session through a declarative evaluator that
checks bounded fixture assertions (termination cause, exit code, max
latency, required and forbidden transcript literals) against audited
resource events, then binds the evaluated outcome inside the
authenticated receipt digest. Capability advances to version 1 with
the evaluator landed.
2026-07-31 16:07:43 -04:00
trvon
2ab53bcc35
feat(refinement): define evidence protocol 2026-07-31 14:08:28 -04: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
3f3e219cf8
feat(linux): broker audited agent egress
Keep agents in a route-less network namespace and pass only private-loopback connections over an inherited Unix descriptor channel. The host relay targets the per-run authenticated proxy, preserving exact allowlists and audit evidence without exposing host networking.
2026-07-29 17:33:13 -04:00