Archived
harness 与工作台同日修:数据工单确认即入库 · 叫了人不再自动推进(两道结构闸)· 审核卡 = 终局验收卡结构 · 验收清单人点达标 · 迟到守卫不丢放行裁决 · 画面跟着这一拍发出去的卡走 · 成果详情只翻页 · 占位居中 · 进度条
human-tool / ledger / loop-engine / release / task / interaction 六模块与 app 层(desk 路由、engines、consumers、 data-order-landing、case-stamp、reset-runs、seed-activities、容器与 server 装配),web 的 desk-task (ViewRegion / chat-bubbles / review-face)与 app.css、ui-kit 图标;契约 card / manifest; 迁移 0034_task_seq 与迁移日志;api-report 快照;CLAUDE.md 快照、debt、活动开发规范、HTML 报告规范同步。 逐条口径见 CLAUDE.md 快照(2026-08-27 下午至晚)。另一会话做的,一直留在工作树没入库;与同批另两条提交互相依赖。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0167qWjeyBwvfdGovd7FWbCu
This commit is contained in:
@@ -99,6 +99,15 @@ export function createCardStore(db: Db): CardStore {
|
||||
return rows.map((row) => chatCardSchema.parse(row.payload));
|
||||
},
|
||||
|
||||
async listOpenChatCards(taskId) {
|
||||
const rows = await db
|
||||
.select()
|
||||
.from(chatCardTable)
|
||||
.where(and(eq(chatCardTable.taskId, taskId), isNull(chatCardTable.supersededBy)))
|
||||
.orderBy(asc(chatCardTable.at));
|
||||
return rows.map((row) => chatCardSchema.parse(row.payload));
|
||||
},
|
||||
|
||||
async updateChatCard(card: ChatCard) {
|
||||
await db.update(chatCardTable).set({ payload: card }).where(eq(chatCardTable.id, card.id));
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user