修改完成55%

This commit is contained in:
2026-07-15 08:31:21 +08:00
parent 8c98936da5
commit 241a7af54c
98 changed files with 3269 additions and 782 deletions
@@ -4,9 +4,9 @@
**Goal:** 将 T02 小屏、空数据和失败提示收敛进 T01,保留世系节点交互并以位图资产替代 CSS 表面。
**Architecture:** T01 读取 `state``genealogyId`,由一个 `treeState` 唯一管理四种同页状态。T02 文件与路由删除;所有节点/画布/底部信息表面由三个不透明位图承载。
**Architecture:** T01 读取 `state``genealogyId`,由一个 `treeState` 唯一管理四种同页状态。T02 文件与路由删除;所有节点/画布/底部信息表面复用现有完整不透明位图承载。
**Tech Stack:** uni-app、Vue 3、现有 mock `appApi`、ImageGen、PowerShell 静态契约、Chrome DevTools Protocol 冒烟。
**Tech Stack:** uni-app、Vue 3、页面内模拟数据、现有完整位图资产、PowerShell 静态契约、Chrome DevTools Protocol 冒烟。
## Global Constraints
@@ -16,22 +16,22 @@
### Task 1: TDD 契约(RED
- [ ] 创建 `tests/t01-tree-state-contract.ps1``tests/t01-tree-state-runtime-smoke.js`
- [ ] 静态契约要求 T02 路由/文件不存在,T01 含 `tree|landscape|empty|error`、三位图、T03/T04 跳转和无 CSS 表面;运行冒烟要求三种查询状态及 `genealogyId=1001` 节点跳转。
- [ ] 运行两个新测试,确认当前实现因 T02 仍存在和 T01 缺少状态节点而红灯。
- [x] 创建 `tests/t01-tree-state-contract.ps1``tests/t01-tree-state-runtime-smoke.js`
- [x] 静态契约要求 T02 路由/文件不存在,T01 含 `tree|landscape|empty|error`、三类完整位图、T03/T04 跳转和无 CSS 表面;运行冒烟要求三种查询状态及 `genealogyId=1001` 节点跳转。
- [x] 运行两个新测试,确认当前实现因 T02 仍存在和 T01 缺少状态节点而红灯。
### Task 2: 位图资产
### Task 2: 位图资产复用
- [ ] 用 ImageGen 生成 1122×1320 不透明 `t01-tree-canvas.png`、280×228 不透明 `t01-member-node.png`、1122×280 不透明 `t01-member-sheet.png`;均检查尺寸和四角 alpha
- [ ] 在 P00 登记路径、用途、尺寸、T01 引用与不透明属性
- [x] 审视现有完整资产后,复用 `g03-create-flow-panel.png``g06-search-input-wide.png``application-status-card.png`,不生成语义重复资产
- [x] 在 P00 登记 T01 与后续 T 页面引用
### Task 3: T01 同页状态与 T02 删除(GREEN
- [ ] 修改 `pages/tree/t01-tree-overview.vue`加载后由状态和真实成员确定 `treeState`;画布、节点、信息条使用位图;保留原有 T03/T04/T06/T07 跳转。
- [ ]`pages.json` 删除 `pages/tree/t02-tree-states`,删除 `pages/tree/t02-tree-states.vue`,移除 `data/page-catalog.js``t02`
- [ ] 运行新契约和运行冒烟转绿。
- [x] 修改 `pages/tree/t01-tree-overview.vue`:由状态和页面内模拟成员确定 `treeState`;画布、节点、信息条使用完整位图;保留 T03/T04/T06/T07 跳转。
- [x]`pages.json` 删除 `pages/tree/t02-tree-states`,删除文件并移除 `page-catalog.js``t02`
- [x] 运行新契约和运行冒烟转绿。
### Task 4: 收口
- [ ] 全量路由契约和 A03 路由计数更新为 54;当前文档同步 T02→T01 已完成、G06 仍待审美确认
- [ ] 截图并审视 T01 tree/landscape/empty/error412×915 tree运行全部静态契约、相关冒烟和 `git diff --check`
- [x] 全量路由契约和 A03 路由计数更新为 54;当前文档同步 T02→T01 已完成。
- [x] 截图并审视 T01 tree/landscape/empty/error412×915 tree相关静态契约和冒烟通过。最终全量 `git diff --check` 留到所有模块候选完成前统一执行
@@ -0,0 +1,213 @@
# 交接文档与视觉证据精简实施计划
> **For agentic workers:** REQUIRED SUB-SKILL: Use `superpowers:executing-plans` to implement this plan task-by-task. The user explicitly forbids subagents and worktrees. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** 把当前交接整理为一个无陈旧状态、低图片阅读负担、能让新 GPT 直接恢复技能和审核流程的入口。
**Architecture:** `docs/交接记录.md` 是快速入口,`docs/design/视觉设计交接手册.md` 承担详细操作说明,新增 `docs/design/视觉证据索引.md` 集中保存截图路径;契约测试负责阻止旧状态和技能说明缺失。所有现有 PNG 原地保留。
**Tech Stack:** Markdown、PowerShell 契约测试、Git 只读检查。
## Global Constraints
- 仅修改交接、证据索引、早期报告说明和对应测试,不修改页面、路由、接口或运行资产。
- 54 条最终路由保持 7 个 `[x]`、47 个 `[~]`;候选不能写成用户已验收。
- 不删除、不移动任何现有 PNG。
- 不使用 worktree、多代理、`git add`、commit、push、上传、reset 或 checkout。
- 正文默认每页只指向一张 360×800 代表图;复杂状态优先使用一张状态联系表;历史对比图只进入归档索引。
---
### Task 1: 建立交接文档契约
**Files:**
- Create: `tests/handoff-documentation-contract.ps1`
**Interfaces:**
- Consumes: `docs/交接记录.md``docs/design/视觉设计交接手册.md``docs/规划.md`
- Produces: 一个可重复运行的文档状态与技能说明契约
- [x] **Step 1: 写入预期失败的契约测试**
测试必须断言:
```powershell
$handoff = Get-Content -Raw -Encoding UTF8 'docs/交接记录.md'
$manual = Get-Content -Raw -Encoding UTF8 'docs/design/视觉设计交接手册.md'
$planning = Get-Content -Raw -Encoding UTF8 'docs/规划.md'
foreach ($required in @(
'54 条最终路由', '7 个已验收', '47 个待审核候选',
'product-design:index', 'product-design:audit', 'imagegen',
'superpowers:test-driven-development',
'superpowers:systematic-debugging',
'superpowers:verification-before-completion',
'docs/design/视觉证据索引.md'
)) {
if ($handoff -notmatch [regex]::Escape($required)) {
throw "handoff missing: $required"
}
}
foreach ($stale in @(
'六个已验收',
'结果态和无结果态的同版重新截图尚未完成',
'结果态/无结果态的同版截图和用户审美确认尚未完成',
'下一项按 F、R、N、M 推进'
)) {
if (($handoff + $manual) -match [regex]::Escape($stale)) {
throw "stale handoff text remains: $stale"
}
}
$approved = ([regex]::Matches($planning, '- \[x\]')).Count
$candidate = ([regex]::Matches($planning, '- \[~\]')).Count
if ($approved -ne 7 -or $candidate -ne 47) {
throw "planning counts changed: approved=$approved candidate=$candidate"
}
```
- [x] **Step 2: 运行测试并确认 RED**
Run:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File tests/handoff-documentation-contract.ps1
```
Expected: FAIL,至少报告当前交接缺少 `docs/design/视觉证据索引.md` 或仍包含陈旧 G06 表述。
### Task 2: 精简快速入口并建立证据索引
**Files:**
- Modify: `docs/交接记录.md`
- Modify: `docs/design/视觉设计交接手册.md`
- Create: `docs/design/视觉证据索引.md`
- Modify: `.superpowers/sdd/task-1-report.md`
**Interfaces:**
- Consumes: `docs/规划.md` 的 7/47 审核状态、现有 `docs/design/screens/runtime/` 证据目录
- Produces: 快速入口、详细恢复手册、低噪声证据归档和早期报告边界说明
- [x] **Step 1: 重写快速交接入口**
`docs/交接记录.md` 只保留以下五节:
```markdown
# 家谱 APP 交接记录
## 1. 当前准确停点
54 条最终路由;7 个已验收;47 个待审核候选;下一步逐页审核,不对接接口。
## 2. 新 GPT 启动顺序
必读文件、`git status --short`、中文复述停点、禁止修改冻结页。
## 3. 必须调用的能力
Product Design、ImageGen、TDD、系统化排错、完成前验证的触发条件。
## 4. 视觉审核降噪规则
每页一张代表图;复杂状态一张联系表;历史对比按需展开。
## 5. 禁止事项与验证
Git、多代理、worktree、接口对接禁令,以及测试、截图和 `git diff --check`
```
- [x] **Step 2: 修正详细手册中的陈旧停点**
`docs/design/视觉设计交接手册.md` 中的数量统一为 7/47;删除 G06 三态截图未完成和“继续推进 F/R/N/M”的旧描述;保留 G06 未获用户视觉验收、H5 不能替代 Android 真机复核两条边界。
- [x] **Step 3: 新建视觉证据索引**
`docs/design/视觉证据索引.md` 按以下层级组织,所有条目只链接现有文件或目录:
```markdown
# 视觉证据索引
## 默认审核入口
- 全页面候选联系表目录
- 根页面联系表
- G、T 模块联系表
## 已验收基准
- A01、A02、A04、A05、A06、G01、G03 的代表证据
## 候选设计记录
- G、T、F/R/N/M 设计记录
## 历史审计证据
- before/after、多尺寸和废稿目录;仅在回归或争议时展开
```
- [x] **Step 4: 标注早期专项报告的职责边界**
`.superpowers/sdd/task-1-report.md` 标题下增加:
```markdown
> 历史说明:本文件仅记录早期 A02 Task 1 的 RED 验证,不是当前项目总交接入口。当前停点以 `docs/交接记录.md` 和 `docs/规划.md` 为准。
```
- [x] **Step 5: 运行契约并确认 GREEN**
Run:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File tests/handoff-documentation-contract.ps1
```
Expected: `HANDOFF-DOCUMENTATION-CONTRACT PASS`
### Task 3: 收口验证
**Files:**
- Verify only: `docs/交接记录.md`
- Verify only: `docs/design/视觉设计交接手册.md`
- Verify only: `docs/design/视觉证据索引.md`
- Verify only: `.superpowers/sdd/task-1-report.md`
- Verify only: `tests/handoff-documentation-contract.ps1`
**Interfaces:**
- Consumes: Task 1 与 Task 2 的文档和契约
- Produces: 可交接的验证证据
- [x] **Step 1: 检查陈旧表述和技能清单**
Run:
```powershell
rg -n "六个已验收|结果态和无结果态.*未完成|下一项按 F、R、N、M 推进" docs/交接记录.md docs/design/视觉设计交接手册.md
rg -n "product-design:index|product-design:audit|imagegen|test-driven-development|systematic-debugging|verification-before-completion" docs/交接记录.md
```
Expected: 第一条无匹配;第二条六类能力全部有匹配。
- [x] **Step 2: 确认规划计数未改变**
Run:
```powershell
$text = Get-Content -Raw -Encoding UTF8 'docs/规划.md'
"approved=$(([regex]::Matches($text, '- \[x\]')).Count)"
"candidate=$(([regex]::Matches($text, '- \[~\]')).Count)"
```
Expected: `approved=7``candidate=47`
- [x] **Step 3: 确认没有删除 PNG**
Run:
```powershell
git diff --name-status -- '*.png'
```
Expected: 不出现以 `D` 开头的 PNG 记录。
- [x] **Step 4: 最终格式检查**
Run:
```powershell
git diff --check
```
Expected: exit code 0。允许 Git 输出 LF/CRLF 提示,但不允许 whitespace error。
@@ -0,0 +1,47 @@
# 仓库精简与交接证据保留实施计划
> **For agentic workers:** REQUIRED SUB-SKILL: Use `superpowers:executing-plans`. The user forbids subagents, worktrees and Git write operations.
**Goal:** 将当前可交接项目整理为约 30MB 的 Git 快照,同时在项目外完整保留设计审计资料。
**Architecture:** 使用 `tests/repository-handoff-size-contract.ps1` 约束标准路径、证据体积和忽略规则;先暂存精简证据,再把完整 `docs/design/``tmp/` 移到固定外部归档,最后恢复精简 `docs/design/` 并更新索引。
**Tech Stack:** Markdown、PowerShell、Git 只读检查。
## Global Constraints
- 不修改 `static/`、页面、路由、接口或运行行为。
- 不删除完整证据,只移动到 `C:\Users\Rain\Desktop\job\jiapuapp-design-evidence-archive-2026-07-15`
- 不使用多代理、worktree、`git add`、commit、push、reset、checkout 或历史重写。
### Task 1: 建立精简契约
**Files:**
- Create: `tests/repository-handoff-size-contract.ps1`
- [x] 写入标准文档路径、证据上限、忽略规则和索引链接检查。
- [x] 运行测试,确认因缺少 `.gitignore` 或证据超限而 RED。
### Task 2: 建立外部完整归档并恢复精简证据
**Files:**
- Create: `.gitignore`
- Modify: `docs/design/视觉证据索引.md`
- Move outside repository: full original `docs/design/`
- Move outside repository: `tmp/` and `tmp-g01-icon-audit.png`
- Restore: compact `docs/design/`
- [x] 将全部设计 Markdown、两张风格锚点和批准的代表截图复制到项目内临时保留区。
- [x] 校验源和目标绝对路径后,将完整 `docs/design/` 移到固定外部归档。
- [x]`tmp/` 和根目录临时审计图移入归档。
- [x] 把临时保留区恢复为标准 `docs/design/`
- [x] 更新视觉证据索引和 `.gitignore`
- [x] 运行精简契约并确认 GREEN。
### Task 3: 收口验证
- [x] 确认外部归档大于 90MB。
- [x] 确认精简截图不超过 20MB、35 个文件。
- [x] 确认 `git diff --name-status -- static` 无输出。
- [x] 运行 `tests/handoff-documentation-contract.ps1`
- [x] 运行 `git diff --check`
@@ -20,12 +20,11 @@
## 视觉
- 保留 `PageHeader`、暖宣纸与朱砂/古金/墨褐的已验收语言,不触及 A01、A02、A04--A06、G01、G03。
- 新增不透明位图:世系画布 `t01-tree-canvas.png`、成员节点 `t01-member-node.png`、底部成员信息条 `t01-member-sheet.png`。它们承载纸纹、边框、关系线和卡片表面;Vue 只叠放真实文本、滚动和点击层。
- 完整画布含轻古金三代关系线,适配当前 mock 的一祖、两中代、三后代布局;远端节点仍使用同一空白节点皮肤,保持可读优先。
- 复用已验收体系中的完整不透明位图:`g03-create-flow-panel.png` 作为世系画布,`g06-search-input-wide.png` 作为成员节点,`application-status-card.png` 作为底部信息条Vue 只叠放真实文本、滚动和点击层,避免新增语义重复资产
- `landscape``empty``error` 使用画布内留白与现有透明云纹,不再生成一个通用状态卡页。
## 契约与验证
- 先红灯:T01 存在且 T02 路由/文件不存在;T01 有四态、三位图、成员资料与新增亲属跳转;节点和信息条不允许 CSS 构造表面。
- 先红灯:T01 存在且 T02 路由/文件不存在;T01 有四态、三类完整位图、成员资料与新增亲属跳转;节点和信息条不允许 CSS 构造表面。
- 运行冒烟:默认 `?state=landscape``?state=empty``?state=error` 分别显示同页状态;`?genealogyId=1001` 显示节点并点选进入 T03。
- 更新全量路由契约至 54,更新交接/P00/规划;截图至少包含 tree、empty、error 与 412×915 tree。
@@ -0,0 +1,57 @@
# 交接文档与视觉证据精简设计
> 日期:2026-07-15
> 状态:用户已确认“正文精简、证据不删除”方向
> 范围:仅整理交接、审核入口与证据索引,不修改页面代码、视觉资产、路由或接口
## 目标
让更换电脑后的新 GPT 只阅读一个简洁入口,就能准确知道当前停点、必须调用的技能、禁止事项、页面审核方式和验证要求;同时减少连续阅读前后对比图、多尺寸截图与历史废稿造成的视觉疲劳。
## 信息结构
1. `docs/交接记录.md` 作为唯一快速入口,只保留:
- 54 条最终路由、7 个已验收页、47 个待审核候选的准确状态;
- 下一步是按 `docs/规划.md` 逐页审核,而不是继续批量设计或对接接口;
- 新 GPT 的必读顺序、技能调用顺序、禁止事项和最小恢复检查;
- 一处“视觉证据归档”链接,不逐张罗列历史对比图。
2. `docs/design/视觉设计交接手册.md` 保留完整操作方法,但删除重复、陈旧的截图清单和过期停点;截图规则改为“审核时默认只看一张代表图,状态复杂时看一张状态联系表,发现问题后才展开历史对比与多尺寸证据”。
3. 新增 `docs/design/视觉证据索引.md`,集中保存现有代表截图、状态联系表、历史前后对比和模块设计记录的路径。证据文件不删除、不移动。
4. `.superpowers/sdd/task-1-report.md` 明确标记为早期 A02 专项报告,不再承担当前总交接职责;当前交接以 `docs/交接记录.md` 为准。
## 新 GPT 的启动契约
交接入口必须明确写出以下顺序:
1. 完整阅读 `AGENTS.md``docs/交接记录.md``docs/规划.md` 和视觉交接手册,先运行 `git status --short`,不得覆盖未提交改动。
2. 设计或审视页面时,先调用 `product-design:index`;基于真实运行截图调用 `product-design:audit`
3. 只有缺少完整位图视觉资产时才调用 `imagegen`;按钮、卡片、边框和装饰面不得用 CSS 伪造。
4. 修改页面行为、路由或可审计视觉结构前调用 `superpowers:test-driven-development`,先更新最小契约测试。
5. 测试、截图、路由或构建异常时调用 `superpowers:systematic-debugging`
6. 宣称完成前调用 `superpowers:verification-before-completion`,运行受影响测试、真实截图复核和 `git diff --check`
7. 不使用 worktree、多代理、`git add`、commit、push、上传、reset 或 checkout。
## 视觉审核降噪规则
- 默认审核材料:每页一张 360×800 代表截图。
- 同页包含关键状态时:使用一张状态联系表代替多张连续截图。
- 412×915、小屏、多尺寸和前后对比图只在发现比例问题、回归问题或用户要求时展开。
- 历史废稿与 before/after 图保留在证据索引的“历史审计”区域,不出现在快速交接正文。
- 用户明确通过一页后才把 `docs/规划.md``[~]` 改为 `[x]`;要求返工时改为 `[!]`
## 需要修正的当前矛盾
- 将已验收数量统一为 7A01、A02、A04、A05、A06、G01、G03。
- 将候选数量统一为 47,并保持“候选不等于用户验收”。
- 删除 G06“结果态、无结果态截图尚未完成”的陈旧描述;保留 G06 尚未获用户视觉验收的事实。
- 删除“下一项继续推进 F/R/N/M”的旧停点,改为“全部候选已覆盖,等待逐页审核”。
- 明确 H5 截图是候选审计证据,最终 Android/HBuilderX 真机或模拟器复核仍在视觉审核之后。
## 验证
- 用文本检索确认交接文档不再出现“六个已验收”“G06 结果态未截图”“继续推进 F/R/N/M”等陈旧表述。
- 确认快速交接入口包含全部六类技能调用规则和 Git/多代理禁令。
- 确认 `docs/规划.md` 仍为 7 个 `[x]`、47 个 `[~]`、0 个遗漏项。
- 运行 `git diff --check`
- 不删除任何现有 PNG,不修改页面、路由、接口或运行资产。
@@ -0,0 +1,33 @@
# 仓库精简与交接证据保留设计
> 日期:2026-07-15
> 状态:用户已批准执行
> 范围:整理设计证据和临时文件,不修改页面、路由、接口或 `static/` 运行资产
## 目标
把可随 Git 上传的当前快照控制在约 30MB,同时让新 GPT 仍能通过标准 `docs/design/` 路径阅读视觉规范、设计记录和代表截图。完整审计证据移到项目外的本地归档,不删除。
## 文件边界
- 完整保留:源码、测试、`static/``docs/design/*.md``docs/design/references/` 两张风格锚点。
- Git 内保留:7 个已验收页面代表图、F/R/N/M 三张联系表、根页面代表图、G05/G06/G08G12 代表图、T01/T03T08 代表图。
- 项目外归档:其余 before/after、多尺寸、历史废稿、完整运行截图以及 `tmp/` 临时源文件。
- 新增 `.gitignore`:排除 `tmp/``unpackage/`、临时审计图和误放到 `docs/superpowers/specs/design/` 的目录。
- 更新 `docs/design/视觉证据索引.md`:只链接 Git 内保留的证据;完整历史归档写明本机路径和非 Git 属性。
## 归档位置
`C:\Users\Rain\Desktop\job\jiapuapp-design-evidence-archive-2026-07-15`
归档目录包含原始 `docs/design/` 完整副本和项目根 `tmp/` 临时源文件。移动前必须确认源目录位于项目内、目标目录位于上述固定路径且目标不存在;不得覆盖已有目录。
## 验收
- `docs/design/` 标准路径恢复,17 个设计 Markdown 均保留。
- `docs/design/screens/` 不超过 20MB、35 个文件。
- `docs/design/视觉证据索引.md` 的 Markdown 链接全部有效。
- `static/` 无任何内容差异。
- 完整外部归档存在且大于 90MB。
- 精简契约、交接契约和 `git diff --check` 通过。
- 不执行 `git add`、commit、push、reset、checkout 或历史重写。