- 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
51 lines
2.2 KiB
Markdown
51 lines
2.2 KiB
Markdown
# 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.
|