deerflow2/.planning/phases/07-phase-06-mention-upload/07-VALIDATION.md

85 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
phase: 07
slug: phase-06-mention-upload
status: verified
nyquist_compliant: true
wave_0_complete: true
created: 2026-04-17
---
# Phase 07 — Validation Strategy
> Per-phase validation contract for feedback sampling during execution.
---
## Test Infrastructure
| Property | Value |
|----------|-------|
| **Framework** | Vitest + Playwrightfrontend |
| **Config file** | `frontend/vitest.config.ts`, `frontend/playwright.config.ts` |
| **Quick run command** | `cd frontend && pnpm -s test -- --run src/core/threads` |
| **Full suite command** | `cd frontend && pnpm -s lint && pnpm -s typecheck && pnpm -s test:e2e --grep "input|compose|mention"` |
| **Estimated runtime** | ~240 seconds |
---
## Sampling Rate
- **After every task commit:** Run `cd frontend && pnpm -s test -- --run src/core/threads`
- **After every plan wave:** Run `cd frontend && pnpm -s lint && pnpm -s typecheck`
- **Before `/gsd-verify-work`:** Full suite must be green
- **Max feedback latency:** 300 seconds
---
## Per-Task Verification Map
| Task ID | Plan | Wave | Requirement | Threat Ref | Secure Behavior | Test Type | Automated Command | File Exists | Status |
|---------|------|------|-------------|------------|-----------------|-----------|-------------------|-------------|--------|
| 07-01-01 | 01 | 1 | P7-01, P7-02 | T-07-01 | 发送前拼接且消息区不回显拼接文案 | unit + e2e | `node --test frontend/src/core/threads/hooks.test.ts` + `cd frontend && pnpm -s test:e2e --grep "DF-INPUT-008A"` | ✅ | ✅ green |
| 07-01-02 | 01 | 1 | P7-03 | T-07-02 | 附件/Skill 名来源、顺序与去重规则一致 | unit | `node --test frontend/src/core/threads/hooks.test.ts` | ✅ | ✅ green |
| 07-01-03 | 01 | 1 | P7-04 | T-07-03 | 所有发送入口行为一致,不出现分叉 | e2e | `cd frontend && pnpm -s test:e2e --grep "DF-INPUT-003|DF-INPUT-005|DF-INPUT-008A"` | ✅ | ✅ green |
*Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky*
---
## Wave 0 Requirements
- [x] `frontend/src/core/threads/hooks.test.ts` — 已覆盖提交态增强文本、顺序与去重断言
- [x] `frontend/src/components/workspace/input-box.test.tsx` — 由 E2E 发送入口链路覆盖,无独立缺口
- [x] `frontend/tests/e2e/input-and-compose.spec.ts` — 已包含“消息区不显示拼接文案”回归DF-INPUT-008A
---
## Manual-Only Verifications
| Behavior | Requirement | Why Manual | Test Instructions |
|----------|-------------|------------|-------------------|
| 多语言文案下拼接语句可读性 | P7-01 | 文案自然性主观 | 在中文/英文 UI 下分别发送含附件+Skill消息人工检查生成文本 |
---
## Validation Sign-Off
- [x] All tasks have `<automated>` verify or Wave 0 dependencies
- [x] Sampling continuity: no 3 consecutive tasks without automated verify
- [x] Wave 0 covers all MISSING references
- [x] No watch-mode flags
- [x] Feedback latency < 300s
- [x] `nyquist_compliant: true` set in frontmatter
**Approval:** verified 2026-04-17
---
## Validation Audit 2026-04-17
| Metric | Count |
|--------|-------|
| Gaps found | 0 |
| Resolved | 0 |
| Escalated | 0 |