feat(harness): complete Agent Map planning workspace - #772
Conversation
Closes: SAP-3056
Serialize catalog writers across Studio hosts, exclusively commit lazy workspace initialization, and expose allow-listed project/root association through the authenticated server boundary. Refs: SAP-3056
Closes: SAP-3057
Closes: SAP-3056
Refs: SAP-3057
Keep browser bootstrap authority out of coding-agent PTYs, serialize dead-owner lock recovery, and leave ambiguous legacy workspace aliases unassigned. Closes: SAP-3056
…e/sap-3057-ui-open-projects-in-a-pinned-agent-map-workspace
Refs: SAP-3057
Refs: SAP-3057
Refs: SAP-3057
Retain both the scoped planner routes and durable Agent Map workspace-selection routes on the combined mainline tree. Keep preference authorization tied to the live trusted principal, and align the terminology and legacy browser fixtures with the plan-first rail. Refs: SAP-3057
Keep the on-disk preference parser aligned with the strict HTTP contract by accepting only server-issued UUIDv4 agent identifiers. Add a persisted-state regression for malformed opaque IDs. Refs: SAP-3057
…cts-in-a-pinned-agent-map-workspace' into yashnadge/sap-3058-agent-studio-complete-the-first-open-planning-slice
Refs: SAP-3058
…ent-studio-complete-the-first-open-planning-slice # Conflicts: # packages/harness/web/src/App.tsx # packages/harness/web/src/lib/api.ts # scripts/agent-studio-terminology-allowlist.json
Review — PR #772 (round 1)No confidentiality issues: the changeset, mock fixtures, comments and copy are all 1. Re-entering an Agent Map overrides the planner tab the user just clicked
Suggested shape: skip the auto 2. A failing preference read repeatedly stomps selection and closes the mobile sheet
Failure: 3. Mobile Escape handler steals Escape from every open overlay
Failure: mobile, canvas panel expanded on an ordinary project, user opens the command 4.
|
Refs: SAP-3058
Review — PR #772 (round 2, follow-up)Delta reviewed: Earlier findings — all four addressed
Nits 1 (fresh launch clearing Remaining
Nit
Verdict: approve — the round-1 correctness regressions are resolved. |
Refs: SAP-3058
Summary
Completes the first visible Agent Map planning slice for stable Studio projects. Opening an Agent Map now starts or resumes the trusted project planner in a dedicated conversation beside the durable map, without exposing a normal terminal.
Map and planner loading remain independent, planner transcripts refresh from the existing durable SessionRecord API, and desktop/mobile layouts retain the established Studio shell behavior.
Changes
Key refinements from code review
Testing
pnpm --filter @sapiom/harness typecheckpnpm --filter @sapiom/harness lintpnpm --filter '@sapiom/harness...' buildpnpm terminology:checkpnpm provider-copy:checkScreenshots / demos
The Playwright coverage captures both layouts during the first-open flow:
web/e2e/screenshots/agent-map-planning.pngweb/e2e/screenshots/agent-map-planning-mobile.pngRollout
No feature flag. The experience applies only to projects with the durable Studio identity introduced by the prerequisite Agent Map work; legacy projects retain System Graph behavior.
Related
Closes: SAP-3058
Checklist
main