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
This commit is contained in:
2026-09-03 06:43:02 -05:00
parent c038706eed
commit 88d9cf750f
6 changed files with 92 additions and 11 deletions
+1 -1
View File
@@ -1 +1 @@
0.0.6
0.0.7