Persist terminal-observed sessions as workspace records #4
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#5 Manage the complete browser-session lifecycle
lab/pilcrow
#8 Make placement and Later scheduling durable
lab/pilcrow
#15 Make Changes and the terminal project-owned
lab/pilcrow
#2 Isolate each Pilcrow instance's mutable state
lab/pilcrow
#3 Establish the next exact producer interface
lab/pilcrow
Reference
lab/pilcrow#4
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
Replace the hub registry's process-lifetime-only view with durable Pilcrow workspace session records for independently launched Pi sessions. When a TUI or other independent Pi runtime registers through the extension, Pilcrow creates or refreshes one record with its own opaque workspace identity, exact Pi identity and path when available, project directory, Pi-owned name, observed origin, timestamps, and bounded last-known presentation facts.
Pi remains authoritative for conversation files and names. Origin affects only runtime authority: Pilcrow observes independent processes but cannot stop or signal them. Closing the TUI leaves a stopped record that remains selectable after hub restart. A reconnect with the same exact session refreshes the record rather than creating a duplicate.
Persist the catalog atomically with private local permissions and serialized mutation, following the project's existing catalog safety principles. The browser should route and select by workspace identity rather than overloading the Pi session ID.
Acceptance criteria
Blocked by
Implemented in jj revision
45c5c54d(feat(workspace): persist opaque identities for observed Pi sessions).What changed:
workspace-sessions.jsoncatalog beneath the configured Pilcrow state directory, with serialized atomic replacement, private file permissions, strict startup parsing, bounded diagnostics, and no migration path.origin: observedrecords with stable opaque workspace IDs, exact nullable Pi session paths, Pi-owned identity/name, project cwd, timestamps, and bounded last-known presentation facts.Audit and regression coverage:
Validation:
git diff --checkpassed.vp checkremains blocked only by the same two unchanged pre-existing formatting findings in.dev/agents/triage-labels.mdandweb/review/ReviewWorkspace.tsx.No Pi JSONL was rewritten, no compatibility migration was added, and no dev server was managed. Deployment still requires the documented user-run hub/browser/Pi restart sequence after the larger protocol rollout.