Commit Graph
52 Commits
Author SHA1 Message Date
surma b82a1ff70a Stop bootstrap chat on stdin EOF during socket and HTTP waits 2026-11-11 12:59:26 +00:00
surma d72e40356c Seed a minimal WASI web chat and move host approvals to port 8090 2026-11-11 11:42:08 +00:00
surma 8afab591fe Snapshot only committed extensions and publish the last-good marker atomically 2026-11-08 07:00:39 +00:00
surma 3339e18485 Merge v3-t17: Nix package with the complete userland, builder closure and seeded world tree; v2 removed (T17)
# Conflicts:
#	README.md
2026-11-08 05:24:15 +00:00
surma 2a69d6350e Merge branch 'v3' into v3-t76 2026-11-08 03:45:36 +00:00
surma 3930c6de1a Add Git inspection forms, find pruning, and WASI tail stdin (T76) 2026-11-08 03:45:36 +00:00
surma 05c21f0eaf Merge T77 and match the complete development source snapshot 2026-11-08 02:59:38 +00:00
surma 1b6cac325c bundle: seed agent definitions and skills in the source snapshot 2026-11-08 02:51:38 +00:00
surma 3a9798d7c1 Merge branch 'v3' into v3-t17 2026-11-08 02:32:25 +00:00
surma fdda49394f Provide world Git identity, reflog fallback, object inspection, and which (T73) 2026-11-08 02:28:34 +00:00
surma 1892642d8e Merge v3-t70: git log -N/diff --check, xargs -I/-0/-n/-r, /dev devices, /bin aliases (T70)
# Conflicts:
#	userland/git/README.md
2026-11-08 01:15:01 +00:00
surma acf761372e Wait for the HTTP fixture port before Git comparisons 2026-11-08 01:13:56 +00:00
surma 441d62f99f Merge branch 'v3' into v3-t17 2026-11-08 01:08:21 +00:00
surma 4f11096c88 Fix shell host starvation and release cancelled Git index locks 2026-11-08 01:06:36 +00:00
surma ffee43b33c Add world CLI compatibility for Git, xargs, devices and tool aliases 2026-11-08 00:58:30 +00:00
surma 84266611ba Include agent definitions and skills in the development bundle 2026-11-07 20:56:17 +00:00
surma 2d5449b3dc Handle world Cargo help locally before the host request 2026-11-07 18:23:01 +00:00
surma 841e4ba6b6 Merge v3-t39: Rust builder behind host.sausage/cargo and the world cargo CLI (T39, P4)
# Conflicts:
#	flake.nix
#	host/src/process/mod.rs
#	host/tests/hook_git.rs
#	host/tests/hook_guest.rs
#	host/tests/process.rs
#	userland/Cargo.toml
2026-11-07 14:48:35 +00:00
surma e53211eff1 builder: delegate run selection and preserve test working directories 2026-11-07 13:24:53 +00:00
surma 4b3f256375 Merge v3-t41: undo journal in the VFS, host API and undo CLI (T41, P5)
# Conflicts:
#	userland/Cargo.toml
2026-11-07 13:05:34 +00:00
surma 7ce839e908 Add tagged VFS undo journal, host API, and world CLI 2026-11-07 13:01:43 +00:00
surma 90a4e2c1ce Merge v3-t42: awk, tar, gzip, du, stat, id, nohup, esbuild, qjs in the world (T42, without the Nix part) 2026-11-07 12:08:36 +00:00
surma c96e59417a builder: add native Cargo service and world CLI 2026-11-07 11:59:28 +00:00
surma ad6aa97ee1 Merge v3-t38: extension loader and host, live reload from /src/sausage main (T38, P3-c) 2026-11-07 11:31:44 +00:00
surma 576658a0c7 tests: verify the new tools through the world shell 2026-11-07 11:27:22 +00:00
surma dc6d90b0d3 userland: add portable du, stat, root id, and nohup 2026-11-07 11:16:55 +00:00
surma d79b2bc2e1 userland: add archive tools and pinned GoAWK, esbuild, and QuickJS 2026-11-07 10:56:29 +00:00
surma d07db09d80 box: reopen completed tree spools for upload 2026-11-07 10:41:23 +00:00
surma 85735ccf19 box: document startup-aware builds and verify archive preservation 2026-11-07 10:40:00 +00:00
surma 8e7cb5061a box: port disposable containers CLI and output retention 2026-11-07 10:38:21 +00:00
surma bcb3e4d8e5 Load world extensions from commit snapshots with last-good recovery 2026-11-07 10:38:20 +00:00
surma e1cfaa93bf git: refresh index stat cache after CLI status 2026-11-07 02:39:08 +00:00
surma 54229adad2 git: add workspace coordination forms and conversation trailers 2026-11-07 00:44:49 +00:00
surma 17d67aadcc Refresh unit requests and preserve shared compilation across runtime shutdown 2026-11-06 23:53:54 +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 47948d7047 Frame curl requests and scope the test fixture lifecycle 2026-11-06 22:41:47 +00:00
surma 6c9eccaa21 Add WASI curl CLI and native HTTP comparisons 2026-11-06 22:31:22 +00:00
surma f234b2d1e2 Merge v3 with T15 into v3-t22 2026-11-06 22:20:05 +00:00
surma cd324678fe Preserve indexed executable modes in WASI git 2026-11-06 20:04:06 +00:00
surma 457a966068 Isolate watcher queues and selectively reload resolved service binaries 2026-11-06 20:00:29 +00:00
surma 3e33a85a6c Merge branch 'v3' into v3-t15 2026-11-06 19:50:23 +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 99a8e3a8be Add WASI SSH CLI and in-process Git SSH transport 2026-11-06 19:42:00 +00:00
surma 6daa53cca4 git: match native agent workflows 2026-11-06 19:07:28 +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 b9e3e3677d userland: search and exec tools, spawn library (T14)
rg (ripgrep 15.2), grep (ours, on ripgrep's regex crates), find and xargs
(ours), sed (uutils 0.3 wrapper), diff and cmp (uutils diffutils 0.6 with -r),
fd 10.5, jaq 2.3, env and timeout. userland/spawn is a small Command-like
client of the process interface. search-test.nu: 42 cases match native tools.
2026-11-06 17:21:51 +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 afff3ccda5 userland/git: --version and commit --no-gpg-sign (no-op) 2026-11-06 16:57:38 +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