Forklight: Pi session examples
=============================
Original teaching messages, checked against the conversation projection functions
from Pi 1.3.0 at commit 71023aec1546d6d677a65669c5665c0927ce0dd0.

Run with Node.js 20 or later:
  node verify.mjs

No npm install, API key, provider call or network connection is needed.
The script reads only the fixture beside it and prints a check result.

fixtures.json contains six fictional message entries, an explicitly authored
branch summary and an explicitly authored compaction entry. Those summaries were
not generated by a model. The timestamp and tokensBefore value are teaching data,
not a measurement of a real conversation. cases is the recorded native output.

pi-context.mjs contains exact upstream function groups with TypeScript types
removed. source-map.json identifies the source and describes the boundary.
The original Pi code is MIT-licensed; LICENSE-pi.txt is included.
The original fictional messages and verify.mjs are provided under CC0 1.0:
https://creativecommons.org/publicdomain/zero/1.0/

These are context examples, not a complete executable Pi session or a fork of
your workspace. No tools, provider credentials or real file contents are present.
They do not reproduce AgentSession lifecycle hooks or the entire CLI. A real
request also includes system instructions, tools and other discovered context.

Compare:
  leaf 00000004 -> shared opening + modal alternative
  leaf 00000006 -> shared opening + inline alternative
  leaf 00000002 -> shared opening only
  compaction   -> authored summary + retained inline exchange

Changing a conversation path is not a file rollback. Extensions can add their
own lifecycle behavior. Always check the current working files in your project.

Independent resource: https://heirfoundation.com/
Not affiliated with Pi, Earendil, a foundation, or a former domain organisation.
