Reported by FleetQ as a P2 power feature. Determinism + external HTTP are fundamentally at odds. Boruna is one of the few runtimes where record/replay would be ergonomic, because the capability gate already has the call site.
Ask
Optional recording mode dumps (request, response) pairs to a sidecar file; replay mode reads from it instead of making real calls. This makes agent loops genuinely reproducible — a strong, distinctive selling point.
Notes for implementers
- The capability gateway (
crates/llmvm/src/capability_gateway.rs) already records every call to the EventLog; the ReplayHandler already exists for replaying recorded outputs.
- The gap:
EventLog only stores result Values, not request shapes. A net-fetch-specific recorder would persist (method, url, headers, body) → (status, headers, body) to a JSON sidecar.
- The existing
crates/llmvm/src/http_handler.rs (http feature) is the right place to insert a RecordingHandler wrapper.
- CLI flag suggestion:
--record-net-to <file> and --replay-net-from <file>. Mutually exclusive with --live.
Source: FleetQ implementer feedback letter, 2026-04-25 (P2 #7).
Reported by FleetQ as a P2 power feature. Determinism + external HTTP are fundamentally at odds. Boruna is one of the few runtimes where record/replay would be ergonomic, because the capability gate already has the call site.
Ask
Optional recording mode dumps
(request, response)pairs to a sidecar file; replay mode reads from it instead of making real calls. This makes agent loops genuinely reproducible — a strong, distinctive selling point.Notes for implementers
crates/llmvm/src/capability_gateway.rs) already records every call to theEventLog; theReplayHandleralready exists for replaying recorded outputs.EventLogonly stores resultValues, not request shapes. A net-fetch-specific recorder would persist(method, url, headers, body)→(status, headers, body)to a JSON sidecar.crates/llmvm/src/http_handler.rs(httpfeature) is the right place to insert aRecordingHandlerwrapper.--record-net-to <file>and--replay-net-from <file>. Mutually exclusive with--live.Source: FleetQ implementer feedback letter, 2026-04-25 (P2 #7).