Replace the old workspace shell #16
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#17 Verify and document the rebuilt workspace
lab/pilcrow
#8 Make placement and Later scheduling durable
lab/pilcrow
#12 Replace notification attention with Overview
lab/pilcrow
#13 Control model and thinking beside input
lab/pilcrow
#14 Present useful operative state
lab/pilcrow
#15 Make Changes and the terminal project-owned
lab/pilcrow
Reference
lab/pilcrow#16
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
Integrate the completed replacement paths into one browser-primary shell: Overview, durable navigator, project History, continuous session stream, Settings, Changes, project terminal, and on-demand details. Desktop may retain a persistent navigator at sufficient width. Narrow layouts show one major destination at a time with explicit return/navigation behavior while preserving the current session, stream position, drafts, and annotation usability.
Delete the obsolete architecture rather than maintaining two products. Remove independent Message/Live/Responses stage selection, the assistant-response chooser as primary history, the completion-notification center, browser-local placement reconciliation, disconnect auto-transitions, synthetic process locations, duplicated live/review composition, permanent information dock, and old-hub browser fallbacks invalidated by the exact protocol revision.
Retain canonical Markdown and annotation behavior, attachment validation, feedback operation fencing, transient notices, project normalization, current Changes safety, and Reload resources authority/recovery. Ignore old browser keys and leave old Pilcrow catalog files and all Pi JSONL untouched; no migration path is added.
Acceptance criteria
Blocked by
Implemented, corrected through independent Standards/Spec review and repeated closure audits, and verified in jj revision
1a0bf28872f8—feat(workspace): replace legacy shell with strict v11 routes.What shipped:
responseAuthority. Ordinary finalized responses acknowledge correctly; cold History and hidden/inert/aria-hidden streams cannot acknowledge; authority changes invalidate stale queued/in-flight work.reviewAuthorityomission and obsolete hub fields reject with bounded diagnostics rather than silently degrading.location, tmux/PILCROW_LOCATIONprobe/timer, hubpi:Nallocation/injection/catalog path, browser prop/rendering, fixture, or package entry remains.locationstate are intentionally rejected; there is no migration or compatibility coercion.Review/audit fixes included loaded-stream preservation, route/session authority separation, required review authority, meaningful paginated/popstate tests, dead CSS/naming cleanup, hidden global-input fencing, ordinary-response provenance, distinct capture/review authority wiring, and deferred image-read generation fencing. The final auditor reproduced the last two blockers, verified their corrections, and explicitly authorized closure.
Verification:
vp fmt,vp check, andgit diff --checkpassed.vp checkretains four unrelated pre-existing hub lint warnings.vp run build:browser,vp run build:hub, andvp buildpassed;runtime/anddist/are current and contain protocol v11.session-history-source5s and hub-client retry timing); both focused tests pass and the complete bounded run is clean.127.0.0.1:17167. Desktop verified all durable destinations, hidden/inert retained stream nodes, active target/editor/older-response retention, and exact deep scroll restoration; narrow 390×700 verified one-destination navigation, inertness, annotation retention, and Back restoration. Final Overview/Settings smoke had no page errors. Browser QA sessions were closed.Required rollout order after the rebuild is complete: restart the hub, reload/restart active Pi sessions so they register as v11, then reload browser pages. Older producer/browser combinations are intentionally unsupported.