Commit Graph
38 Commits
Author SHA1 Message Date
surma 45d099c3e4 Merge branch 'v3' into v3-t29
# Conflicts:
#	host/Cargo.toml
#	host/src/harness/mod.rs
2026-11-06 23:46:27 +00:00
surma 9517515efe api: shut the init supervisor down gracefully after the console (merge fix for T22 + T25) 2026-11-06 23:43:49 +00:00
surma bb162abd4d T29: use QuickJS and verify the HTTP hook and guest networking 2026-11-06 23:38:21 +00:00
surma 904415063a Merge v3-t25: host API routes and host-served approval, passkey and secret-entry pages (T25) 2026-11-06 23:24:26 +00:00
surma c500ecd281 api: merge v3 proofs and add host approval pages and listener 2026-11-06 23:18:24 +00:00
surma 65464069d3 Merge v3-t22: init as a WASI systemd subset, file watchers, exit pollables (T22) 2026-11-06 23:15:39 +00:00
surma 7c7656c4a8 Merge branch 'v3' into v3-t29
# Conflicts:
#	host/Cargo.toml
2026-11-06 22:50:21 +00:00
surma fb83e0c067 WIP T29: credential hook, pinned HTTP transport and guest networking 2026-11-06 22:49:27 +00:00
surma 5a00cf3feb Merge v3-p2-fix: security review fixes for the credentials manager (T27, T28)
Typed passkey proofs checked inside mutation transactions, ports and normalized
paths, overrides on GrantCreate, payload digests, key file checks, retention
(D57), scripts in QuickJS inside Wasmtime (D58), RSA on aws-lc-rs, OAuth2
token URL checks. 85 credential tests plus durable and harness tests pass.
2026-11-06 22:47:16 +00:00
surma e332e76807 cred: reject the reserved host and migrate durable fixtures 2026-11-06 22:44:17 +00:00
surma 86c5d8a4e4 cred: isolate scripts in WASI and move RSA signing to AWS-LC 2026-11-06 22:22:49 +00:00
surma f234b2d1e2 Merge v3 with T15 into v3-t22 2026-11-06 22:20:05 +00:00
surma 5b3e1393f5 cred: complete core proof, policy, storage and injection fixes 2026-11-06 22:19:35 +00:00
surma e33d3fac3b Merge v3-t15: shared compile cache, precompile, /bin/*.wasm and /src/sausage copies (T15) 2026-11-06 22:18:53 +00:00
surma b3d91d37e3 process: keep Cranelift's default optimization level
Compiles are cached per content and guests run many times; OptLevel::None
saved 12.7% compile time but slows every run.
2026-11-06 22:18:33 +00:00
surma e8732ede15 Limit background compilation and reduce cold compile cost 2026-11-06 21:39:22 +00:00
surma a75094054e Merge branch 'v3' into v3-p2-fix 2026-11-06 21:31:50 +00:00
surma b3d3558b31 cred: stage T27 core fixes and security regressions before T26 merge (WIP) 2026-11-06 21:31:50 +00:00
surma 940ae61af6 cred: blind RSA signatures and stage T28 security regressions (WIP) 2026-11-06 21:17:52 +00:00
surma abe420f0d4 Make credential requests durable and store proxy authentication 2026-11-06 21:13:40 +00:00
surma c70948efe2 api: add public credential routes and SSH signing oracle 2026-11-06 21:05:11 +00:00
surma 30dcd4c2ca cred: keep typed secret entry configuration valid 2026-11-06 20:16:24 +00:00
surma 091f679905 cred: port native items grants requests and injection core 2026-11-06 20:05:54 +00:00
surma 457a966068 Isolate watcher queues and selectively reload resolved service binaries 2026-11-06 20:00:29 +00:00
surma 4f9919d8dd Share compilation and copy independent commands and source into new worlds 2026-11-06 19:50:23 +00:00
surma b39bbd4f18 Run world service policy in WASI init with pollable process observation 2026-11-06 19:49:19 +00:00
surma 11569119e6 cred: initialize V8 inside its Tokio executor and verify concurrent limits 2026-11-06 19:47:15 +00:00
surma a7e99d52f5 cred: reject non-32-byte raw ES256 scalars 2026-11-06 19:29:35 +00:00
surma 9e7e5d7b2a cred: add pure scripts, signing, and OAuth refresh; validation blocked 2026-11-06 19:05:07 +00:00
surma 1dc09bc418 cred: add passkey challenges and encrypted secret entry
Validation remains blocked by rusqlite u64 conversions in cred/grants.rs, which T19 owns.
2026-11-06 19:04:42 +00:00
surma b5462cc366 cred: script runtime contract for P2 2026-11-06 18:17:10 +00:00
surma ec6e20a9d7 host: sausage run with the userland bundle, real shell and services (T13)
- userland/bundle.nu builds the userland and assembles target/userland/bin
  (bin names, tools.txt aliases, brush as sh and bash).
- run and sh take --userland (default SAUSAGE_USERLAND); /bin is read-only.
- The console's bash tool runs through the process table with the
  conversation id; large output spills to the world's /tmp.
- sausage run starts the services supervisor.

P1 exit session (openai/gpt-6.1-sol, fresh world): write, read, edit, git
init/add/commit/diff/log, grep -rn, rg, find and a sed|sort|uniq|wc pipeline.
2026-11-06 17:34:11 +00:00
surma 665b8a2a03 host: wasip1 processes, wasi:http, identity, stdio options, services (T12)
- Core modules run on the host-side preview1 over the shared VFS (D41).
- wasi:http default handler in the linker; anonymous HTTPS git clone works.
  Sockets stay denied until P2.
- Each process carries the conversation (from Exec, inherited by children,
  shown in /proc/processes) and a host-assigned SAUSAGE_PID.
- Spawn requests choose pipe, inherit or null per stream.
- /config/services.yaml supervisor: live edits, restarts, crash limit 5/10 s,
  graceful stop (stdin EOF, then kill after 5 s) (D44).
- Compile caches keyed by content; PATH=/usr/local/bin:/bin.

world.rs also carries T13's optional read-only /bin mount (D43).
2026-11-06 17:21:51 +00:00
surma 4df2c2e837 exec: Options carries the calling conversation 2026-11-06 16:38:00 +00:00
surma 57a47b069e host: process table, shell, coreutils and harness (T8, T9)
T8: sausage:process WIT (spawn, wait, kill), one store per process over the
shared root, /proc/processes, /run, pipeline and cancellation groups, Exec.
brush and 78 uutils commands; the shared cwd-init object sets the cwd from PWD
and keeps numeric exit codes. The corpus matches native bash.

T9: V8 (deno_core) runs pi-durable, pi-ai and chord; SQLite storage in
<dir>/host/harness.sqlite (WAL, synchronous=FULL); file tools on the VFS, bash
through Exec; resumes after SIGKILL.
2026-11-06 16:34:34 +00:00
surma 0fae0f9b10 exec: higher-ranked lifetime for output chunks 2026-11-06 16:01:07 +00:00
surma 964ef978c2 v3: world directory layout (world/ is the VFS root, host/ is host state) 2026-11-06 15:16:18 +00:00
surma 409da85124 v3: host crate skeleton, userland workspace, AGENTS.md for v3
The workspace is now host/ and vfs/. v2 crates leave the workspace as reference.
host/src/exec.rs is the contract between the process table and the harness.
2026-11-06 15:14:49 +00:00