Phase 0: debloat context and add persistent Nix runtime #9

Merged
lost-rob0t merged 16 commits from bootstrap/context-debloat into main 2026-08-23 22:37:00 +00:00
lost-rob0t commented 2026-08-22 22:35:34 +00:00 (Migrated from github.com)

Implements the lean Agent Zero baseline plus the local a0-symbolics Docker runtime.

Context debloat

  • promptinclude total ceiling: 8000 -> 1500 tokens
  • promptinclude file count: 50 -> 8
  • promptinclude depth: 10 -> 3
  • promptinclude per-file ceiling: 2000 -> 750 tokens
  • memory recall history: 10000 -> 4000 chars
  • memory search candidates: 12+8 -> 8+4
  • memory injected results: 5+3 -> 3+1
  • memory similarity threshold: 0.70 -> 0.75
  • shrink the generic solving prompt and keep RAGE out of permanent model context
  • regression tests lock the lean context defaults

Local Docker + Home Manager

  • local docker/symbolics/compose.yml builds a0-symbolics from this checkout
  • persist exactly two paths: /nix and /a0/usr
  • do not persist /a0, so image/application updates are never masked by stale runtime code
  • keep the nix-bin executable image-owned and the Nix store persistent
  • seed /a0/usr/home-manager/{flake.nix,home.nix} only when absent
  • create and persist the first flake.lock, then reuse it across container replacements
  • Home Manager 26.05 profile supports amd64 and arm64
  • default profile includes the core shell/dev/symbolics toolchain (git/gh, jq/ripgrep/fd/fzf, Python/uv, Node, SWI-Prolog, SBCL, tmux, build tools, etc.)
  • startup activates Home Manager and then hands off to the normal Agent Zero initializer
  • regression test prevents reintroducing a full /a0 persistence mount

Runtime contract

Container replacement is the update boundary. Only Nix packages/store state and Agent Zero user state survive. The application tree remains image-owned.

Parent bootstrap: #1. Context work remains part of #2; Prolog-RLM and optional RAGE orchestration remain separate follow-on work.

Implements the lean Agent Zero baseline plus the local a0-symbolics Docker runtime. ## Context debloat - promptinclude total ceiling: 8000 -> 1500 tokens - promptinclude file count: 50 -> 8 - promptinclude depth: 10 -> 3 - promptinclude per-file ceiling: 2000 -> 750 tokens - memory recall history: 10000 -> 4000 chars - memory search candidates: 12+8 -> 8+4 - memory injected results: 5+3 -> 3+1 - memory similarity threshold: 0.70 -> 0.75 - shrink the generic solving prompt and keep RAGE out of permanent model context - regression tests lock the lean context defaults ## Local Docker + Home Manager - local `docker/symbolics/compose.yml` builds a0-symbolics from this checkout - persist exactly two paths: `/nix` and `/a0/usr` - do not persist `/a0`, so image/application updates are never masked by stale runtime code - keep the `nix-bin` executable image-owned and the Nix store persistent - seed `/a0/usr/home-manager/{flake.nix,home.nix}` only when absent - create and persist the first `flake.lock`, then reuse it across container replacements - Home Manager 26.05 profile supports amd64 and arm64 - default profile includes the core shell/dev/symbolics toolchain (git/gh, jq/ripgrep/fd/fzf, Python/uv, Node, SWI-Prolog, SBCL, tmux, build tools, etc.) - startup activates Home Manager and then hands off to the normal Agent Zero initializer - regression test prevents reintroducing a full `/a0` persistence mount ## Runtime contract Container replacement is the update boundary. Only Nix packages/store state and Agent Zero user state survive. The application tree remains image-owned. Parent bootstrap: #1. Context work remains part of #2; Prolog-RLM and optional RAGE orchestration remain separate follow-on work.
Sign in to join this conversation.
No description provided.