Files
stack/LAYERS.md
jason.woltje c2365ae519 chore: baseline container POC and atomic foundation plan
- Containerized Pi hello-world proof (image mosaic-poc-agent:0.84.4, non-root)
- Four immutable contract fixtures loaded into a generated system prompt
- build/hello/verify/reset scripts with exact-match gating and reset safety
- Documented Pi discovery (v0.84.4, -p mode, --system-prompt, container auth)
- Append-only BUILD-LOG with corrections; deferred layers in LAYERS.md
- Architecture plan: docs/plans/2026-09-02_atomic-mosaic-foundation.md
2026-09-02 18:24:36 -05:00

2.2 KiB

LAYERS

Deferred capability layers for the Mosaic experiment. Only L0 is implemented by this proof of concept; everything below it is documented here and deliberately not implemented (see BRIEF.md, "Explicit exclusions").

L0 — Implemented: container returns MOSAIC_HELLO_OK

One image (mosaic-poc-agent:0.84.4, built on node:24-bookworm-slim, non-root, pinned Pi) runs one Pi agent one-shot. Four immutable local contract files are loaded in fixed order into the generated system prompt (/var/lib/mosaic/system-prompt.md). One real model request is sent noninteractively; the response must equal MOSAIC_HELLO_OK exactly or the verification exits nonzero. Authentication is supplied at runtime only (read-only mounted pi auth file, or a provider API key environment variable).

L1 — Deferred: persist and resume a named Pi session

Keep a named Pi session across container runs (--name, session storage under /var/lib/mosaic), resume it with the documented session flags, and verify state survives a container restart.

L2 — Deferred: fixed tool permission policy

Add a fixed allow/deny policy for Pi tools (e.g. restricting built-in tools via documented --tools / --exclude-tools or an extension-based permission gate), so contract files can constrain what the agent may do, not just what it says.

L3 — Deferred: load full versioned contract bundles

Replace the four static fixtures with versioned contract bundles: bundle manifests, contract versions, and deterministic ordering/hashing, loaded from an immutable bundle artifact instead of files copied at image build time.

L4 — Deferred: Claude as a second runtime

Add a second runtime (Claude) alongside the Pi agent in the same container stack, behind the same contract-loading path, to compare behavior across runtimes.

L5 — Deferred: multiple agents and communication

Run several named agents with defined roles and a communication channel between them (message passing or shared state under /var/lib/mosaic).

L6 — Deferred: orchestration, knowledge storage, and portal features

Fleet-level orchestration, knowledge storage, monitoring, and portal UI on top of L1-L5. This is where the existing Mosaic Stack concepts would be re-evaluated from first principles.