Files
maka/docs/work-board-phase1.md
agent-radar 7be535059e
Dependency audit / audit (push) Canceled after 0s
CI / plan (push) Canceled after 0s
Gitoxide helper admission / macos-latest (push) Canceled after 0s
Gitoxide helper admission / ubuntu-latest (push) Canceled after 0s
Gitoxide helper admission / windows-latest (push) Canceled after 0s
Runtime Host peer admission / quality (push) Canceled after 0s
Windows recovery / windows_recovery (push) Canceled after 0s
CI / heavy (push) Canceled after 0s
CI / test (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 19:05:14 +08:00

70 lines
2.9 KiB
Markdown

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Work Board Phase 1 — capture/list MVP
## Surface
A compact Work Board tab in the session workbar, next to Tasks, with:
- global Inbox and current-project filtering;
- manual create, rename, move (Inbox <-> project), complete / reopen,
archive / restore, and delete (archived items only);
- empty, loading, and error states;
- local-first persistence through the existing operational-state database.
## Boundary
- The Desktop main process owns `WorkBoardStore`; the renderer is a read-only
IPC projection that reloads on the `workBoard:changed` signal.
- No Runtime Host involvement, model-visible tools, or automatic prompt injection.
- `linkedSessions` and the linked-session projection remain deferred to Phase 3.
## Why a dedicated store instead of a project file
A project `TODO.md` / issue would cover the literal capture-and-list atom, but
the one thing that justifies a store is **provenance + Session linking**:
side-conversation captures must keep typed source references and a bounded
excerpt after the temporary fork is deleted, and Phase 3 must link a board item
to the Session it starts. Typed provenance and stable item identity also let
concurrent Desktop writers mutate items with revision CAS instead of parsing a
file. If provenance and Session linking were not in scope, a project file would
suffice.
## Assumption
We are betting that users will return to the board and start tasks from it.
Phase 3 must prove this.
## Sequencing
Per maintainer review, the thin capture -> revisit -> start-as-task loop is
validated **before** Phase 2 (side-chat capture) and Phase 4 (evidence /
refinement): a minimal, flag-gated Phase 3 spike wires one hard-coded item ->
"Start task" -> new Session -> link back, with no polish. Only if the loop
shows real use do we resume Phases 2 and 4.
## Implementation
- Main: `apps/desktop/src/main/work-board-ipc-main.ts`
(`workBoard:list/create/update/archive/unarchive/remove` + change signal).
- Preload: `window.maka.workBoard` in `apps/desktop/src/preload/preload.ts`.
- Renderer: `useWorkBoard` hook and `WorkBoardPanel`, wired as a workbar tab in
`session-workbar.tsx`.