5.4 KiB
id, title, status, wave, depends_on, plan, requirements, acceptance_criteria, system_design
| id | title | status | wave | depends_on | plan | requirements | acceptance_criteria | system_design | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 03-live-canvas | Publish the live workflow canvas | done | 3 |
|
plan.md |
|
|
|
Task 03: Publish the live workflow canvas
Summary
Replace the existing canvas's sample path with recorded task history. Add a workspace overview that becomes active after user-controlled promotion, then publish a validated release for the current task.
In scope
- Edit only the source root assigned to canvas
65d40cfb-7bd3-407a-beb7-be78a551e62aand republish it throughpublish_canvas_kandevafter local verification. - Use scoped relative Kandev data routes, fetch every page needed for a complete visible count, poll only while visible, and offer manual refresh.
- Label current-order backward moves and unknown/removed endpoints honestly. Keep sound opt-in and ignore initial-load and reconnect differences.
- Implement desktop beside-trail layout and phone Steps/Trail focus with visible selectors, 44 px controls, keyboard focus, safe-area padding, and bundled localized copy.
- Add disposable canvas E2E fixtures for route and mobile behavior, plus a local exact-source Playwright smoke script.
Out of scope
- Automatically promoting the canvas, changing tasks, or accessing the DB directly. The final response must distinguish the active task release from the workspace view that awaits user promotion.
Acceptance
- The task canvas shows its real ledger trail and current task; no sample count or move is presented as live evidence.
- A promoted workspace canvas can select a workflow/task and show route counts, current task counts, and trail; phone and desktop reach the same information with distinct layouts.
- Loading, empty, older-host, denied, and retry states work; sound is opt-in; a watched move refreshes within 15 seconds; publication reports an active release or a precise failure.
ASCII UI preview
UI-01: Task trail and UI-03: Phone focus from the
full plan are the implementation target:
Desktop: [ordered steps + current marker] | [recorded trail, newest first]
Phone: [workflow/task context] [Steps | Trail] -> one focused scroll view
States: Loading | Empty | Older host | Permission denied | Error + Retry
UI-02: Workspace overview adds the workflow picker, current task counts,
historical route counts, and task selection after promotion. The phone view
keeps the same data behind the visible selectors and Steps/Trail controls.
These are structural requirements for AC-PLUGINS-WORKFLOW-HISTORY-003.2,
.5, and .6; exact spacing is illustrative.
Verification
node --check .kandev/canvases/65d40cfb-7bd3-407a-beb7-be78a551e62a/script.js
node apps/web/e2e/tests/canvas/workflow-canvas-source-smoke.mjs .kandev/canvases/65d40cfb-7bd3-407a-beb7-be78a551e62a
make -C apps/backend build
(cd apps/web && pnpm run build:e2e)
make -C apps/backend e2e-plugin-package
(cd apps/web && pnpm e2e:run --host --project=chromium tests/canvas/workflow-transition-history.spec.ts)
(cd apps/web && pnpm e2e:run --host --project=mobile-chrome tests/canvas/mobile-workflow-transition-history.spec.ts)
After checks, call publish_canvas_kandev with the assigned source path and
record its release ID and activation status in this work order. Publication
does not promote the canvas; the user controls workspace scope.
Files likely touched
.kandev/canvases/65d40cfb-7bd3-407a-beb7-be78a551e62a/manifest.yaml.kandev/canvases/65d40cfb-7bd3-407a-beb7-be78a551e62a/index.html.kandev/canvases/65d40cfb-7bd3-407a-beb7-be78a551e62a/script.js.kandev/canvases/65d40cfb-7bd3-407a-beb7-be78a551e62a/styles.cssapps/web/e2e/tests/canvas/workflow-transition-history.spec.tsapps/web/e2e/tests/canvas/mobile-workflow-transition-history.spec.tsapps/web/e2e/tests/canvas/workflow-canvas-source-smoke.mjs
Dependencies
Task 02's browser data routes and docs.
Risks
The source root is task-local and ignored by Git. Keep the exact-source smoke result and published release ID in the work-order Results. A workspace scope change needs explicit user promotion and possibly grant review.
Parallelism
sequential
Inputs
- Requirements
- System design
- Complete UI preview
- Existing task canvas release
051c4ea1-1f59-4589-ad64-bd6204e8edad
Results
The exact task-local source passed node --check and
workflow-canvas-source-smoke.mjs for task, phone workspace, older-host,
and opt-in sound states. The backend build, web E2E build, fixture packaging, desktop and phone
transition-route E2E tests passed. Published canvas
65d40cfb-7bd3-407a-beb7-be78a551e62a release
682a8c38-45ff-46a0-87ad-6270e73d4c91 (1.1.1); it is valid and active
in task scope with no permission review. Workspace scope still awaits
user-controlled promotion. The current running host may show the older-host
state until this PR is deployed.