- 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
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.