11# Current Local Services Agent Handoff
22
3- Last assembled: 2026-05-25 .
3+ Last assembled: 2026-05-27 .
44
55This is the short operational handoff for the next agent. Use it before making
66any changes to the dispatcher dashboard, local-services backend adapter, setup
@@ -12,13 +12,13 @@ Branch:
1212
1313` codex/runtime-case-wiki-signed-proof `
1414
15- Latest product-layout commit before the later CI triage work:
15+ Latest local-services product-flow commit before the later CI triage work:
1616
17- ` 4ea59d35 fix: stabilize dispatcher workbench layout `
17+ ` c91b0142 feat(local-services): wire dispatcher promotion CTA to 7-min launch path `
1818
19- Latest CI-triage commit before this handoff refresh:
19+ Latest CI-triage / follow-up documentation commit before this handoff refresh:
2020
21- ` 3aa4d877 docs(spec): add demo-e2e-browser-job-paused-race-condition bugfix spec `
21+ ` d2549260 docs(spec): add visa flows validation follow-up `
2222
2323PR #2 is open on ` codex/runtime-case-wiki-signed-proof ` and currently has one
2424red PR-quality check. The current failure is no longer the local-services
@@ -34,16 +34,21 @@ Do not treat that follow-up as part of the local-services product critical path
3434unless GitHub branch protection technically blocks the merge.
3535
3636Tracked git tree was clean after the last pushed CI-triage commit except for
37- expected untracked local/editor/cache folders.
37+ expected untracked local/editor/cache folders. On 2026-05-27, local runtime /
38+ Playwright checks observed an unrelated modified generated shell bundle:
39+ ` apps/demo-frontend/public/app-shell/index.js ` , plus untracked ` .playwright-cli/ `
40+ and ` .vscode/ ` . Do not revert them unless the current owner explicitly asks;
41+ inspect and stage only the files touched by your slice.
3842
39- Current local health at the moment of this note :
43+ Current local health after restarting the stack on 2026-05-27 :
4044
41- 1 . ` http://localhost:3000/healthz ` timed out .
42- 2 . ` http://localhost:8080/healthz ` timed out .
43- 3 . ` http://localhost:8081/healthz ` timed out .
44- 4 . ` http://localhost:8082/healthz ` timed out .
45+ 1 . ` http://localhost:3000/healthz ` -> 200 .
46+ 2 . ` http://localhost:8080/healthz ` -> 200 .
47+ 3 . ` http://localhost:8081/healthz ` -> 200 .
48+ 4 . ` http://localhost:8082/healthz ` -> 200 .
4549
46- So the next agent should start the local stack before visual/browser testing.
50+ The local stack may still be down when a new desktop/session starts, so always
51+ re-check health before visual/browser testing.
4752The last completed validation before the commit was green:
4853
49541 . targeted app-shell alignment test: pass.
@@ -53,6 +58,19 @@ The last completed validation before the commit was green:
53585 . browser sanity: no horizontal overflow at ` 1280px ` ; dispatcher rail stacks
5459 below ` 1600px ` ; row action buttons stayed inside the row.
5560
61+ Additional runtime sanity on 2026-05-27:
62+
63+ 1 . default route
64+ ` /app?demo=local-services-dispatch&service=ac-repair-dispatch ` renders
65+ the product-first header and the 7-minute launch path entry; the internal
66+ ` Promotion_CTA ` marker is source-level and is not expected as DOM text;
67+ 2 . ` path=7min&view=requests ` renders the 7-minute launch path and the pilot
68+ planning surface in DOM text content;
69+ 3 . ` path=7min&view=requests&packet=launch ` renders the launch packet surface
70+ and ` Open outreach execution pack ` ;
71+ 4 . if a browser check uses ` innerText ` , it may miss offscreen/overflow content;
72+ prefer ` textContent ` or targeted locators for source-level product markers.
73+
5674## Product Direction
5775
5876Current product wedge:
@@ -293,9 +311,16 @@ Frontend markers to preserve:
293311The unit alignment test searches for many of these exact strings. If a label is
294312renamed, update the docs and tests in the same change.
295313
296- ## Latest Completed Slice
314+ ## Latest Completed Product Slices
297315
298- The latest completed slice stabilized the dispatcher workbench layout.
316+ Recent completed slices, in order:
317+
318+ 1 . dispatcher workbench layout stabilization;
319+ 2 . dispatcher-flow-connect promotion path;
320+ 3 . local-services outreach execution pack and pilot runbook surfaces;
321+ 4 . CI triage/follow-up documentation for non-wedge visa-flow validation.
322+
323+ ### Dispatcher Layout Stabilization
299324
300325Implemented:
301326
@@ -312,16 +337,35 @@ Commit:
312337
313338` 4ea59d35 fix: stabilize dispatcher workbench layout `
314339
340+ ### Dispatcher Flow Connect
341+
342+ Implemented:
343+
344+ 1 . stable dispatcher workbench now exposes a single dominant ` Promotion_CTA ` ;
345+ 2 . the CTA opens the 7-minute launch path instead of adding duplicate buttons;
346+ 3 . launch path links existing product views:
347+ ` requests ` -> ` schedule ` -> ` customers ` -> ` setup ` -> ` reviews ` ;
348+ 4 . ` path=7min&view=requests&packet=launch ` deep-links launch packet state;
349+ 5 . launch packet bridge carries the operator-reviewed state into the outreach
350+ execution pack;
351+ 6 . all actions stay manual-only: no sends, dispatch, booking, CRM write,
352+ analytics sync, billing, or channel activation.
353+
354+ Commits:
355+
356+ 1 . ` c91b0142 feat(local-services): wire dispatcher promotion CTA to 7-min launch path `
357+ 2 . ` fd148e80 docs(spec): add dispatcher-flow-connect planning artifacts `
358+
315359## Current Open Work
316360
317- The next code slice should not be another broad redesign. The layout is now
318- stable enough. Continue by making the product flow clearer and more useful.
361+ The next code slice should not be another broad redesign and should not repeat
362+ dispatcher-flow-connect. That slice is already done. Continue by making the
363+ manual outreach/pilot execution layer more usable from the product shell.
319364
320365Recommended next slice:
321366
322- Connect the stable dispatcher workbench to the ` 7-minute launch path ` and
323- ` outreach execution pack ` in a way that a new operator can understand without
324- reading docs.
367+ Make the existing pilot outreach wizard easier to operate and verify in the
368+ actual product path, without adding autosend or duplicate dominant CTAs.
325369
326370Concrete next step:
327371
@@ -330,19 +374,23 @@ Concrete next step:
330374 ` /app?demo=local-services-dispatch&service=ac-repair-dispatch ` .
3313753 . Verify the dispatcher queue and right rail are still readable in dark and
332376 light themes.
333- 4 . Add or refine the most direct CTA path from the dispatcher/workbench into:
334- ` 7-minute launch path ` -> ` launch packet ` -> ` outreach execution pack ` .
335- 5 . Keep every action manual-only and operator-approved.
336- 6 . Update source-level tests and docs in the same slice.
377+ 4 . Click the single ` Promotion_CTA ` or open
378+ ` /app?demo=local-services-dispatch&service=ac-repair-dispatch&path=7min&view=requests ` .
379+ 5 . Verify the path shows the 7-minute rail plus the pilot planning surfaces.
380+ 6 . Refine only the first real friction point in the wizard:
381+ ` Offer preview ` -> ` Audience from outreach list ` ->
382+ ` Message/test preview ` -> ` Operator confirmation ` .
383+ 7 . Keep every action manual-only and operator-approved.
384+ 8 . Update source-level tests and docs in the same slice.
337385
338386Possible implementation target:
339387
340- 1 . make ` Open outreach execution pack ` and ` Open launch packet ` easier to find
341- from the main dispatcher/pilot surface;
342- 2 . ensure ` path=7min&view=requests&packet=launch ` opens the exact state an
343- operator expects;
344- 3 . make the handoff copy explain what was selected, what was reviewed, and what
388+ 1 . add a small runtime/DOM smoke assertion for the real deep links if the test
389+ suite has a suitable local pattern;
390+ 2 . make the handoff copy explain what was selected, what was reviewed, and what
345391 still blocks real outreach;
392+ 3 . make the preview/test-message modal clearer if the operator cannot tell what
393+ is copied versus what is manually sent outside the shell;
3463944 . avoid adding autonomous send, CRM write, calendar event, or billing.
347395
348396## Still To Do Later
0 commit comments