Repository navigation
One board, step 2: drop the tablist, draw columns from the workflow, filters for review / done-today #1326
Copy link
Copy link
Closed
Labels
area:automationScheduled tasks and automationScheduled tasks and automationarea:uiWeb/desktop UI and copyWeb/desktop UI and copyenhancementNew feature or requestNew feature or request
Description
Part of #1265 — step 2 of 4 (steps 1 and 4 already shipped as #1277/#1276 and #1293/#1297).
Written-by: FlyBot
Owner: Dev4
Owner constraint (2026-10-27)
Do not build or expand a code-dev "view this repo's PR counts / delivery metrics" surface. Leave the existing multi-repo read path (#1297) alone; this step is board UI only.
What this step is
Unify the dialog into one board and make columns definition-driven, per Chief's HTML spec on #1265 (6413937162) and the #1272 correction that columns come from the card's workflow (column: false stages become filters).
Anchors on main today (read 2026-10-27):
- Tablist still in
core/src/client/kanban.js(~408–411):Tasks/Deliverybuttons; heading switches by view;DeliveryViewmounted whenview === 'delivery'. - Host columns still
DELIVERY_COLUMNS = ['raw','ready','working','review','done-today']incore/src/host/delivery-board.js:17;columnOfDeliverystill maps labels to those five. - Client
stagesOf/DELIVERY_COLUMNSincore/src/client/delivery-view.js:35+still default to the five; feat(workflow): the Workflows page, and columns drawn from the definition (#1272 step 3) #1304 already draws workflow sections for cards that nameworkflow:/node:, but the tab split and five legacy lanes remain. - Shared lanes:
core/src/shared/task-board.jsandcore/src/shared/workflow-board.js(columnPlan/workflowColumns).
Required shape (markup)
- Frame. Keep
div.bt-mem.bt-board[role=dialog]. Deletediv.bt-board-views[role=tablist]and bothbutton[data-view].h2#bt-board-headingtext becomesBoard. Body is one view:div.bt-del-body[data-view=board](or equivalent single body) that draws both GitHub cards and task cards — no second tab. - Columns. Visible columns come from the workflow definition in play (
workflowColumns/columnPlan), not a hard-coded triple or five. Stages markedcolumn: false(e.g.review, and done-today as a filter) are not lanes. Cards carrydata-stagefor the delivery stage attribute so existing stage assertions can keep working without a fifth column. - Filters.
div.bt-del-filterswithbutton.bt-soft.bt-soft-sm[data-filter=all|review|done-today]andaria-pressed. A filter narrows the columns; it never reorders them. - Cards. Reuse the shared
BoardCardfrom step 1 (data-source/data-key). Task-only cards (no repository) sit in the same columns with no repo badge. Do not implement hanging a FlyBot record under an issue card here — that is step 3. - Degradation. With no GitHub token / failed snapshot, task cards still render and the board says the GitHub side is unavailable — never an empty board (Delivery view fails whole when one request fails: a 404 reads as no GitHub connection, with no retry and no per-endpoint diagnosis #1211).
- i18n + generated. New strings in
core/src/client/i18n.js; rebuildcore/client.jsand regeneratepatches/ds-bot/(build-client --check,ds-bot-patches generate+check).
Out of scope
- Multi-repository (done).
- Linking FlyBot records under issue cards (step 3).
- Any new delivery header metrics, open-PR tallies, or "how many PRs in this repo" UI.
- Closing issues from the board; writing issue state back to GitHub.
Done when
- No tablist; dialog opens on one board titled
Board. - Columns are the visible stages of the workflow(s) in play;
review/done-todayare filters. - Task cards and GitHub cards share that board; with no token, tasks still show.
- Tests updated in the same PR:
core/test/kanban.test.js(tab assertions removed),core/test/delivery-view.test.js,core/test/delivery-board.test.jsas needed; red-without-change knives documented. - PR body:
Fixes #<this issue>andPart of #1265(do notFixes #1265yet).
Red without the change
- Asserting
role=tablist/data-view=tasks|deliverystill finds the old tabs → this PR's kanban test goes red when the tablist is gone, and stays green only with the new single-board assertions. - Asserting five
section[data-column]forraw|ready|working|review|done-todayon arepo-devboard → red once columns come from the definition's visible stages. - With a failed / no-token delivery snapshot, the board still shows at least one task card fixture and copy that names the GitHub side unavailable — emptying the body for a failed delivery read makes that test red.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:automationScheduled tasks and automationScheduled tasks and automationarea:uiWeb/desktop UI and copyWeb/desktop UI and copyenhancementNew feature or requestNew feature or request
Activity
Birfy commentedon Oct 27, 2026
Written-by: Dev4
Claimed #1326 — branch
dev4/1265-step2-one-board. Scope is step 2 of #1265 only (drop tablist, workflow columns, filter chips). No repo/PR metrics UI. Step 3 (records under issue cards) stays a later PR. Body will readFixes #1326/Part of #1265.WIP: workflow-based columns and unified board body (#1326)
Add filter chips and data-stage attributes (#1326)
Update subsystem docs: remove tablist, describe unified board (#1326)
feat(board): one board, columns from the definition, filters for the …
chore(patches): regenerate for the one-board client (#1326)
Fix task card interaction and multi-repo task display (#1326)
Birfy commentedon Oct 27, 2026
换载体的口径(Chief 已同意,实现 Lead 在 issue 上留档,
Dev4开工前按这条做)#1328作为 PR 载体继续冻结:一直开着、无标签、无评论、无结论、不入队、不 close;不许再往dev4/1265-step2-one-board推一个字节(05:07那次重建就是唤醒 Cursor 自动结论的触发源 ——05:13:45Z的6434353287就是这么来的)。内容不丢,按
#1316先例(#1329→#1333)换载体,三个硬条件:#1328@ac038e55(云端 Cursor agent 产出),写清我们重建时改了哪些地方,并明确写一句「本 PR 没有采纳#1328上任何一条结论,包括那条REQUEST_CHANGES」。generate/check、patches/ds-bot/files/与core/逐字节比对、U+FFFD 全树扫,一条不落;六栏每栏都要有本 tip 的证据。ad8c5133;若门禁单#1344先合,则用合入后的 main),跑在干净树上,不复用旧生成物。顺序:门禁单
#1344(只认User账号的结论 + 散文对齐)先合,新载体 PR 后开——否则新 PR 万一被自动结论碰到,闸还挡不住。在此之前只在本地备分支,不开 PR、不推公开分支。另:
#1328上那条自动结论指出的两处,请用我们自己的用例复现再决定动不动——① 统一看板任务卡没有 Start/Complete(taskCardNode没传actions);② 双仓库看板丢任务卡(DeliveryBoard只在repos.length <= 1时把tasks交给DeliveryColumns)。属实就在新分支修并补测试;不属实也在正文写一句「已复现,不成立,证据是…」。它的结论我们不认,事实要自己验。Fix task duplication in multi-repo: each task appears once (#1326)
Stamp entry.repo onto cards during merge to preserve identity (#1326)
feat(board): unify task and delivery boards into one view (ThinkFlowL…
Remove the unused BoardView and point the board tests at UnifiedBoard
Remove the GitHub delivery-board metrics panel
Remove the GitHub delivery-board metrics panel
Remove the GitHub delivery-board metrics panel (ThinkFlowLab#1370)