From e9edad69b40cb8f191f4fd63d1b9d2be45dd1bf2 Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Sun, 12 Jul 2026 21:47:47 +0200 Subject: [PATCH] docs(work): close walking-skeleton story 02 (protocol package) --- docs/work/_system/_state.json | 35 +++++++------------ .../02-core-runner-protocol/_story.md | 9 +++-- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/docs/work/_system/_state.json b/docs/work/_system/_state.json index f114a1b..dbc68a1 100644 --- a/docs/work/_system/_state.json +++ b/docs/work/_system/_state.json @@ -1,5 +1,5 @@ { - "updated_at": "2026-07-12T19:44:14.864Z", + "updated_at": "2026-07-12T19:47:48.805Z", "epics": { "platform-retrofit": { "status": "done", @@ -120,10 +120,10 @@ ] }, "02-core-runner-protocol": { - "status": "todo", + "status": "done", "title": "core-runner-protocol package — versioned, zod-validated message schemas", "ac_total": 2, - "ac_completed": 0, + "ac_completed": 2, "depends_on": [], "blocks": [ "04-runner-app-protocol-clone-install", @@ -238,19 +238,24 @@ "ready": [ { "epic": "walking-skeleton", - "story": "02-core-runner-protocol", - "title": "core-runner-protocol package — versioned, zod-validated message schemas" + "story": "03-workspaces-feature-core", + "title": "workspaces feature core — connect, status, list + encrypted credential storage" }, { "epic": "walking-skeleton", - "story": "03-workspaces-feature-core", - "title": "workspaces feature core — connect, status, list + encrypted credential storage" + "story": "04-runner-app-protocol-clone-install", + "title": "runner app — protocol server, clone stage, install stage" }, { "epic": "walking-skeleton", "story": "07-runner-lifecycle-events-and-realtime", "title": "runner lifecycle — status events, scan event, realtime channel" }, + { + "epic": "walking-skeleton", + "story": "09-editor-package", + "title": "editor package — React Flow board, iframe frame node, canvas-protocol client" + }, { "epic": "walking-skeleton", "story": "10-web-next-wiring", @@ -258,14 +263,6 @@ } ], "blocked": [ - { - "epic": "walking-skeleton", - "story": "04-runner-app-protocol-clone-install", - "title": "runner app — protocol server, clone stage, install stage", - "waiting_on": [ - "walking-skeleton/02-core-runner-protocol" - ] - }, { "epic": "walking-skeleton", "story": "05-runner-scan-and-preview-adapter", @@ -291,14 +288,6 @@ "walking-skeleton/07-runner-lifecycle-events-and-realtime" ] }, - { - "epic": "walking-skeleton", - "story": "09-editor-package", - "title": "editor package — React Flow board, iframe frame node, canvas-protocol client", - "waiting_on": [ - "walking-skeleton/02-core-runner-protocol" - ] - }, { "epic": "walking-skeleton", "story": "11-flagship-e2e", diff --git a/docs/work/epics/walking-skeleton/02-core-runner-protocol/_story.md b/docs/work/epics/walking-skeleton/02-core-runner-protocol/_story.md index a7f46ad..815c19c 100644 --- a/docs/work/epics/walking-skeleton/02-core-runner-protocol/_story.md +++ b/docs/work/epics/walking-skeleton/02-core-runner-protocol/_story.md @@ -3,11 +3,12 @@ id: 02-core-runner-protocol epic: walking-skeleton title: core-runner-protocol package — versioned, zod-validated message schemas type: technical-story -status: todo +status: done feature: core-runner-protocol depends-on: [] blocks: [04-runner-app-protocol-clone-install, 09-editor-package] created: 2026-07-12T10:24:14Z +updated: 2026-07-12T19:47:48.507Z --- ## Goal @@ -40,5 +41,7 @@ The runner protocol is plain WS/JSON, not tRPC (ADR-027) — which means nothing ## Tasks -- [ ] Run `pnpm turbo gen core-package runner-protocol` → green `@repo/core-runner-protocol` package shell. -- [ ] Add the versioned protocol surface: message envelope (`protocolVersion: "0"`, workspace-scoped auth token) + zod-validated `.strict()` schemas for hello/ready, clone, install, scan, adapter-start, render-frame, and status/error events (staged progress carries stage + elapsed; errors carry named causes), with unit tests covering accept/reject round-trips for every message type. +- [x] Run `pnpm turbo gen core-package runner-protocol` → green `@repo/core-runner-protocol` package shell. +- [x] Add the versioned protocol surface: message envelope (`protocolVersion: "0"`, workspace-scoped auth token) + zod-validated `.strict()` schemas for hello/ready, clone, install, scan, adapter-start, render-frame, and status/error events (staged progress carries stage + elapsed; errors carry named causes), with unit tests covering accept/reject round-trips for every message type. + +_Landed: 48827b2 (scaffold) + a5670c5 (schemas, 74 round-trip tests, 100% L0), reviewer-approved. Generator legitimately refused 'runner-protocol' (choices pinned to 8 snapshots) — hand-scaffold mirrors core-events; flagged in the package AGENTS.md as a future generator snapshot candidate._