docs(phase-06): record execute summaries and route to verify-work

This commit is contained in:
肖应宇 2026-04-15 11:08:28 +08:00
parent 46d974672d
commit 51320c563b
8 changed files with 248 additions and 13 deletions

View File

@ -61,9 +61,9 @@
**Plans:** 3 plans
Plans:
- [ ] 06-01-PLAN.md — 锁定引用提交契约与软失败链路additional_kwargs.files
- [ ] 06-02-PLAN.md — 实现 @ 候选 dropdown、chip 交互与上限控制
- [ ] 06-03-PLAN.md — 补齐自动化验证并产出 style/logic/tests/docs 提交分组计划
- [x] 06-01-PLAN.md — 锁定引用提交契约与软失败链路additional_kwargs.files
- [x] 06-02-PLAN.md — 实现 @ 候选 dropdown、chip 交互与上限控制
- [x] 06-03-PLAN.md — 补齐自动化验证并产出 style/logic/tests/docs 提交分组计划
---
*Next command:* `/gsd-plan-phase 1`
*Next command:* `/gsd-verify-work`

View File

@ -3,13 +3,13 @@ gsd_state_version: 1.0
milestone: v1.0
milestone_name: milestone
status: Executing Phase 06
last_updated: "2026-04-15T02:13:10.002Z"
last_updated: "2026-04-15T03:07:32.408Z"
progress:
total_phases: 6
completed_phases: 5
total_plans: 9
completed_plans: 6
percent: 67
completed_phases: 6
total_plans: 10
completed_plans: 10
percent: 100
---
# STATE.md
@ -19,13 +19,13 @@ progress:
See: .planning/PROJECT.md (updated 2026-04-07)
**Core value:** Keep the frontend visually familiar while preserving and hardening new-system behavior end to end.
**Current focus:** Phase 06 — 在输入框输入@时,可引用已生成文件和已上传附件
**Current focus:** Phase 06 — @引用文件与附件
## Workflow State
- Current workflow: new-project completed
- Next workflow: plan-phase
- Next command: /gsd-plan-phase 1
- Current workflow: execute-phase completed (phase 06)
- Next workflow: verify-work
- Next command: /gsd-verify-work
## Artifacts

View File

@ -0,0 +1,51 @@
---
phase: 06-
plan: 01
subsystem: messaging
tags: [references, files, submit-payload, unit-test]
requires:
- phase: 05-test-hardening-and-commit-hygiene
provides: stable test baseline and commit hygiene
provides:
- PromptInputMessage references contract
- FileInMessage reference metadata compatibility
- stale reference soft-fail filtering in submit payload
affects: [input-box, thread-submit, e2e]
tech-stack:
added: []
patterns:
- additional_kwargs.files as single submit envelope
- stale reference dropped without blocking submit
key-files:
created:
- .planning/phases/06-/06-01-SUMMARY.md
modified:
- frontend/src/components/ai-elements/prompt-input.tsx
- frontend/src/core/messages/utils.ts
- frontend/src/core/threads/hooks.ts
- frontend/src/core/threads/hooks.test.ts
key-decisions:
- "引用文件沿用 additional_kwargs.files不引入并行字段结构。"
- "失效引用只剔除并 toast文本发送继续。"
requirements-completed: [ATREF-03]
duration: 20 min
completed: 2026-04-15
---
# Phase 06 Plan 01 Summary
**完成引用提交契约与软失败链路,确保 uploads + references 统一进 `additional_kwargs.files`。**
## Verification
- `cd frontend && node --test src/core/threads/hooks.test.ts`
- 2 passed, 0 failed
- `cd frontend && pnpm -s typecheck`
- passed
## Outcome
- `PromptInputMessage` 已支持 `references` 字段。
- `FileInMessage` 已支持 `ref_kind/ref_source` 可选元信息。
- `buildFilesForSubmit` 对 stale 引用执行软剔除且不阻断发送。

View File

@ -0,0 +1,49 @@
---
phase: 06-
plan: 02
subsystem: ui
tags: [mention, dropdown, chip, keyboard]
requires:
- phase: 06-
provides: reference payload contract and soft-fail behavior
provides:
- thread-scoped @ candidate aggregation
- dropdown filtering and keyboard navigation
- removable reference chips with max-limit enforcement
affects: [prompt-input, submit-payload, e2e]
tech-stack:
added: []
patterns:
- current-thread-only reference candidates
- IME-safe keyboard handling for mention selection
key-files:
created:
- .planning/phases/06-/06-02-SUMMARY.md
modified:
- frontend/src/components/workspace/input-box.tsx
- frontend/src/components/ai-elements/prompt-input.tsx
- frontend/src/core/uploads/hooks.ts
- frontend/src/components/ui/dropdown-menu.tsx
key-decisions:
- "@候选严格限定在当前 thread 的 artifacts + uploads。"
- "引用上限固定为 10超限 toast 并阻止新增。"
requirements-completed: [ATREF-01, ATREF-02]
duration: 25 min
completed: 2026-04-15
---
# Phase 06 Plan 02 Summary
**完成输入框 `@` 引用交互闭环候选展示、过滤、选择、chip 渲染、删除、键盘操作与上限控制。**
## Verification
- `cd frontend && pnpm -s typecheck`
- passed
## Outcome
- 输入 `@` 可拉起 `DropdownMenu` 候选并按 query 过滤。
- 选择候选后以 chip 展示,可删除且支持去重。
- `ArrowUp/ArrowDown/Enter/Escape/Backspace``isComposing` 保护已落地。

View File

@ -0,0 +1,54 @@
---
phase: 06-
plan: 03
subsystem: testing
tags: [e2e, unit-test, validation, commit-hygiene]
requires:
- phase: 06-
provides: mention UI + submit contract
provides:
- DF-INPUT-007/008 @reference e2e scenarios
- hooks unit coverage for stale reference behavior
- validation and commit-plan alignment for phase 06
affects: [verify-work, release-readiness]
tech-stack:
added: []
patterns:
- explainable environment failure recording
- e2e + unit combined evidence for risky paths
key-files:
created:
- .planning/phases/06-/06-03-SUMMARY.md
modified:
- frontend/tests/e2e/input-and-compose.spec.ts
- frontend/tests/e2e/support/chat-helpers.ts
- frontend/src/core/threads/hooks.test.ts
- .planning/phases/06-/06-VALIDATION.md
- .planning/phases/06-/06-COMMIT-PLAN.md
key-decisions:
- "E2E 环境未启动时保留失败证据,不伪造通过。"
- "以 hooks 单测对失效引用软失败逻辑做稳定兜底。"
requirements-completed: [ATREF-04]
duration: 20 min
completed: 2026-04-15
---
# Phase 06 Plan 03 Summary
**补齐 Phase 6 的验证与提交卫生材料,并记录了可复现的 E2E 环境阻塞证据。**
## Verification
- `cd frontend && pnpm -s test:e2e --grep "DF-INPUT-007|DF-INPUT-008"`
- failed: `ERR_CONNECTION_REFUSED` (`http://127.0.0.1:2026`)
- `cd frontend && node --test src/core/threads/hooks.test.ts`
- 2 passed, 0 failed
- `cd frontend && pnpm -s typecheck`
- passed
## Outcome
- `DF-INPUT-007/008` 用例存在并可执行,当前阻塞为本地服务未启动。
- `06-VALIDATION.md``06-COMMIT-PLAN.md` 维持可审计验证和分组提交策略。
- 单测已覆盖引用元信息提交与 stale 引用软失败关键链路。

View File

@ -0,0 +1,44 @@
---
phase: 06-
plan: COMMIT
subsystem: docs
tags: [commit-plan, auditability, workflow]
requires:
- phase: 06-
provides: implementation and validation artifacts
provides:
- executable commit grouping guide for phase 06
- summary coverage for all execution plans
- phase execution evidence ready for verify-work
affects: [git-history, code-review]
tech-stack:
added: []
patterns:
- style -> logic -> tests -> docs concern grouping
key-files:
created:
- .planning/phases/06-/06-COMMIT-SUMMARY.md
modified:
- .planning/phases/06-/06-COMMIT-PLAN.md
- .planning/phases/06-/06-VALIDATION.md
- .planning/phases/06-/06-01-SUMMARY.md
- .planning/phases/06-/06-02-SUMMARY.md
- .planning/phases/06-/06-03-SUMMARY.md
key-decisions:
- "保留固定提交顺序,避免跨关注点混提。"
- "执行证据不满足时记录阻塞,不强行标绿。"
requirements-completed: []
duration: 10 min
completed: 2026-04-15
---
# Phase 06 Commit Plan Summary
**Phase 06 的执行文档已闭环,提交顺序与验证证据可直接供后续 verify-work 与审阅使用。**
## Outcome
- `06-COMMIT-PLAN.md``style -> logic -> tests -> docs` 顺序可执行。
- 四个计划均有对应 SUMMARY满足阶段执行留痕要求。
- 当前唯一外部阻塞是 E2E 本地服务未启动(`127.0.0.1:2026`)。

View File

@ -0,0 +1,33 @@
---
phase: 06-
plan: summary
subsystem: phase-wrapup
tags: [phase-06, references, validation]
requires:
- phase: 06-
provides: 06-01/02/03 and commit summaries
provides:
- phase-level completion snapshot for verification routing
- consolidated evidence for @ reference feature delivery
affects: [verify-work, complete-milestone]
requirements-completed: [ATREF-01, ATREF-02, ATREF-03, ATREF-04]
completed: 2026-04-15
---
# Phase 06 Summary
**Phase 06 已完成 `@` 文件引用能力artifacts + uploads及提交契约收敛并具备可审计验证材料。**
## Plan Summaries
- `06-01-SUMMARY.md`: 提交契约与软失败链路
- `06-02-SUMMARY.md`: @候选 dropdown + chip + 键盘交互
- `06-03-SUMMARY.md`: 自动化验证与提交卫生材料
- `06-COMMIT-SUMMARY.md`: concern-based 提交顺序与执行留痕
## Verification Snapshot
- Unit: `node --test src/core/threads/hooks.test.ts` 通过
- Typecheck: `pnpm -s typecheck` 通过
- E2E: `DF-INPUT-007/008` 存在,当前环境阻塞为 `127.0.0.1:2026` 未启动(`ERR_CONNECTION_REFUSED`

View File

@ -0,0 +1,4 @@
# Phase 06 Summary Pointer
See [`06-SUMMARY.md`](./06-SUMMARY.md) for the phase-level summary.