Isolate each Pilcrow instance's mutable state #2
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Reference
lab/pilcrow#2
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
Give every configured Pilcrow hub an explicit mutable-state root. Production and development must be able to run at the same time with separate Pilcrow state, HTTP port, producer socket, browser route, and project-terminal identity while continuing to use the same normal Pi settings, models, resources, and session files.
Add a command-line state-directory option and matching PILCROW_STATE_DIR environment variable. The configured state root owns Pilcrow catalogs, workspace records, placements, acknowledgements, drafts, and settings introduced by later tickets. It does not replace Pi's session-directory resolution and must not grow into an instance-name or profile framework.
The current hub already accepts explicit port and producer-socket configuration, while development still defaults to production catalog state. Follow the existing operational configuration style and keep the foreground hub as the only Pilcrow process required in normal use.
Acceptance criteria
Blocked by
Implemented in jj revision
de256050(feat(hub): add configurable Pilcrow state directory isolation).What changed:
--state-dirandPILCROW_STATE_DIRwith deterministic CLI > environment > XDG/home-default precedence, absolute-path/control-character/UTF-8-size validation, and bounded startup diagnostics.Validation:
git diff --checkpassed.No dev server was managed and no Pi-owned data was migrated or rewritten.