jason.woltje
88d9cf750f
feat(sessions): sessionForkFrom - branch conversations from a common ancestor ( #33 )
...
- task schema: optional sessionForkFrom (source session name); requires
session target; self-fork rejected
- runner: resolves source newest .jsonl (fail 4 if none/outside dataRoot);
passes MOSAIC_SESSION_FORK + MOSAIC_SESSION_DIR; result records lineage
- pi adapter: --fork <source> --session-dir <target> when forking;
ephemeral default unchanged; plain session resume unchanged
- compose passthrough; RELEASE -> 0.0.7 (adapter changed)
- suite +9 cases (58 total): plumbing via mock stderr, validation
negatives, live fork - child recalls ancestor code word, ancestor
session file untouched
Closes #33
2026-09-03 06:43:02 -05:00
jason.woltje
24bdef75fa
feat(ops): run inspection, release 0.0.6, docs ( #24 )
...
- mosaic-task.mjs show <runId>: full record + snapshots + artifacts;
uppercase-tolerant id validation; missing/traversal ids exit 4
- list: task/workspace/session columns
- RELEASE -> 0.0.6; README workspaces/capabilities/sessions sections;
BUILD-LOG Phases 9-11; autonomous-run tracker results filled
Closes #24
2026-09-02 22:14:18 -05:00
jason.woltje
bb5cecb348
feat(adapters): adapter contract, dispatch, pi + mock adapters ( #16 )
...
- adapters/README.md: the harness boundary contract (env in, response on
stdout, diagnostics stderr, exit 0 success)
- adapters/pi: extracted current invocation unchanged
- adapters/mock: deterministic MOSAIC_MOCK_RESPONSE echo (test-only)
- run-agent.sh: name-validated dispatch to adapters/<name>/adapter.sh
- config: optional execution.adapter (pi|mock), default pi, configVersion
stays 1 — existing configs remain valid; selection authority is the
config file (load_config exports it)
- compose: MOSAIC_ADAPTER / MOSAIC_MOCK_RESPONSE passthrough; Containerfile
installs adapters read-only; RELEASE -> 0.0.5
Verified: hello unchanged; mock verbatim via config; unknown adapter and
path-traversal names refused in-container; invalid adapter exits 2.
Closes #16
2026-09-02 21:18:07 -05:00
jason.woltje
a35ea62ab1
feat(release): RELEASE identity + image tag single-sourcing ( #10 )
...
- RELEASE file: single source of release version (0.0.X until declared stable)
- common.sh load_release(): validates version, derives
MOSAIC_IMAGE_TAG=mosaic-poc-agent:<pi>-r<release> from the pinned pi dep
- compose.yaml: image tag is required env; build/hello/verify call load_release
- verify.sh derives the image name instead of hardcoding it
- package.json version aligned to the same 0.0.X line
Closes #10
2026-09-02 20:18:17 -05:00