You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
A flow's workers are one family in the picker. Every flow_stage worker is now stamped as a child of the session that delegated it: its header carries parentSession → the driver's session file, and its transcript lands in the driver's own session bucket. pi --resume therefore nests the whole family under the driver in its default Current Folder scope, Threaded sort, with no scope switch — and because the worker's name carries its outcome (✓ 🔍 · PASS · stamp attack, ✗ 🔨 #3 · hard-cut), the tree reads without opening a single row. One layout boundary: with a configured session directory that is not the checkout's default, the folder scope filters by each session's own cwd, so workers — whose cwd is the worktree — sit one Tab away under All, still threaded.
The family has a text view for hosts without a tree. The settled card and flow_stage { op: "status" } list every worker this session spawned: picker name, message count, last-write time (local wall-clock), transcript path, newest first, older ones folded behind one counted line. The run the card or status is reporting on is left out — it is the section above it — and the section appears only inside a flow. A host with no file-backed session gets the flow's own transcripts.log instead, labelled as the coarser source it is. Reading a bucket costs ~15 ms per MB of its history, so a polled live view re-reads at most once per two seconds while the settled card and an idle status always read fresh.