13 KiB
13 KiB
05-验收证据
本文件记录可复查证据:命令、页面、job_id、report_id、PDF、截图、部署链接、提交记录等。
E001 - 文档基线盘点
- 日期:2026-07-06
- 关联任务:T001、T002
- 类型:命令输出摘要
- 命令:
pwd
rg --files -g '!*node_modules*' -g '!*.png' -g '!*.jpg' -g '!*.jpeg' -g '!*.gif' -g '!*.pdf' | sed -n '1,160p'
sed -n '1,260p' doc/index.html
find working -maxdepth 2 -type f -print | sort
- 结果摘要:
- 当前工作目录为
/home/mes123456/MeetPaprika。 - 参考文件存在:
doc/index.html。 working目录存在。doc/index.html包含<main id="app"></main>、内联 CSS、内联 JS。- 页面通过
?page=...查询参数选择内容。
- 当前工作目录为
E002 - 当前路由证据
- 日期:2026-07-06
- 关联任务:T002
- 类型:源码证据
- 命令:
rg -n "const pages|function|data-page|render|page:|title:|href=|main.innerHTML|case|pages\\[|\\?page=|<body|<script|</html>|Services|Resources|FAQ|Privacy|Terms|Get Started|Application|Contact" doc/index.html
- 结果摘要:
- 导航显式链接:
press、judging、scholarly、services、why、resources、faq、start。 - Footer 链接:
why、faq、terms、privacy、disclaimer。 pageData中定义:home、press、judging、scholarly、services、why、resources、faq、blog、start、ask、thanks、about、terms、privacy、disclaimer。- 路由选择逻辑:未识别页面回退为
home。
- 导航显式链接:
E003 - 表单 mockup 证据
- 日期:2026-07-06
- 关联任务:T012、T013、T014、T015
- 类型:源码证据
- 文件:
doc/index.html - 结果摘要:
start页面字段使用<div class="field">,提交入口是<a class="button primary" href="?page=thanks">Submit Profile</a>。ask页面字段使用<div class="field">,提交入口是<a class="button primary" href="?page=thanks">Send Question</a>。- 当前没有
<form>、input、textarea、file、method、action或提交接口。 - 因此当前只能证明视觉流程存在,不能证明真实提交能力。
E004 - R002 源码复核证据
- 日期:2026-07-06
- 关联任务:T028
- 类型:命令输出摘要
- 命令:
sed -n '2262,2468p' doc/index.html
sed -n '2469,2765p' doc/index.html
sed -n '2766,3428p' doc/index.html
- 结果摘要:
- 复核 header、footer、
serviceCards、pageData、hero、heroWithKicker、pressPage、judgingPage、o1CriteriaPage、faqPage、legal 页面和最终渲染逻辑。 document.getElementById("app").innerHTML = pageData[selected].body;if (["faq", "resources"].includes(selected))会高亮 Resources trigger。- legal 页面当时日期写为
Last updated: July 10, 2026;后续已在 E024 修复。
- 复核 header、footer、
E005 - Services contact 路由缺陷证据
- 日期:2026-07-06
- 关联任务:T029
- 类型:源码证据
- 文件:
doc/index.html - 结果摘要:
- Services 页面卡片 04、05、06 调用:
card("04", ..., "Start Here", "contact")card("05", ..., "Start Here", "contact")card("06", ..., "Start Here", "contact")
pageData没有contact。- 当前路由逻辑会把未知
contact回退到home。 - 结论:这是明确死链/误跳转缺陷;后续已在 E024 修复。
- Services 页面卡片 04、05、06 调用:
E006 - Git 状态证据
- 日期:2026-07-06
- 关联任务:T033
- 类型:命令输出摘要
- 命令:
git status --short
- 结果摘要:
- 输出:
fatal: not a git repository (or any of the parent directories): .git - 结论:当前路径不是 Git 仓库,暂时无法记录 commit hash。
- 输出:
E007 - Working 文档更新证据
- 日期:2026-07-06
- 关联任务:T028、T032
- 类型:文件证据
- 文件:
working/README.mdworking/01-项目功能内容.mdworking/02-项目程序开发详细步骤.mdworking/03-推进台账.mdworking/04-任务矩阵.mdworking/05-验收证据.mdworking/06-决策记录.md
- 结果摘要:
- 已形成 README 索引。
- 已形成从项目功能、开发步骤、推进台账、任务矩阵、验收证据到决策记录的闭环。
E016 - 源码级对标扫描证据
- 日期:2026-07-06
- 关联任务:T034
- 类型:命令输出摘要
- 命令:
wc -l doc/index.html working/*.md
rg -n 'function [A-Za-z0-9_]+\(|const [A-Za-z0-9_]+ =|^[[:space:]]+[A-Za-z0-9_]+: \{|href="\?page=|Last updated|Packages start|@media|--[a-z-]+:' doc/index.html
rg -n '^\s*\.[A-Za-z0-9_-]+|^\s*#[A-Za-z0-9_-]+|^\s*[a-z]+\s*\{|@media|grid-template-columns|width: min|border-radius|background:' doc/index.html
sed -n '2870,3035p' doc/index.html
sed -n '3070,3228p' doc/index.html
- 结果摘要:
doc/index.html共 3423 行。- CSS token 包含
--red、--deep-red、--ink、--text、--muted、--line、--paper、--panel、--green、--header-text。 - 唯一显式断点为
@media (max-width: 1080px)。 pageData包含home、press、judging、scholarly、services、why、resources、faq、blog、start、ask、thanks、about、terms、privacy、disclaimer。- FAQ 共 4 组 20 个问题。
- Terms 共 18 个 section,但编号缺少 17。
- Privacy 共 12 个 section。
- Disclaimer 共 9 个 section。
- Legal 页面当时日期均为
Last updated: July 10, 2026;后续已在 E024 修复。 - 发现未调用函数/模块:
productPage、productPageWithKicker、judgingNetworkGroup、resourcesHub、resourceGroup、legalPage、standardGrid、pressQuality。
E017 - 技术架构确认记录
- 日期:2026-07-06
- 关联任务:T035
- 类型:用户确认 + 文档证据
- 用户确认:
Next+ React ,数据库使用 PostGreSQL
- 结果摘要:
- 正式开发技术架构已收敛为 Next.js + React + PostgreSQL。
- 文档默认 ORM 为 Prisma。
- 表单提交目标改为 Next.js API/Server Actions 写入 PostgreSQL。
- 生产启动方式改为
npm run start -- -p 8082。 - 新增任务 T036-T039,覆盖工程初始化、数据库接入、表单入库、Next.js 部署。
E018 - 服务器 PostgreSQL 安装用户确认
- 日期:2026-07-06
- 关联任务:T040
- 类型:用户确认
- 用户确认摘要:
- PostgreSQL 已在云服务器安装完成。
- 服务器:
170.106.192.152 - SSH 用户:
ubuntu - 可用端口:
8080-8099 - 应用目标端口:
8082
- 凭据处理:
- 用户在对话中提供了 SSH 密码。
- 长期文档不保存明文密码。
- 待验证命令:
ssh ubuntu@170.106.192.152
systemctl status postgresql --no-pager
psql --version
sudo -u postgres psql -c '\l'
- 结论:
- 当前状态为“用户确认已安装,待远程验证”。
E019 - 邮箱系统账号需求用户确认
- 日期:2026-07-06
- 关联任务:T041、T042、T043
- 类型:用户确认
- 用户确认摘要:
- 普通用户入口:
https://mail.paprikalaw.com/webmail/ - 管理员入口:
https://mail.paprikalaw.com/admin/ - 管理员账号:
admin@paprikalaw.com - 普通邮箱账号:
info@paprikalaw.comcontact@paprikalaw.comsupport@paprikalaw.comsales@paprikalaw.commarketing@paprikalaw.comhr@paprikalaw.comfinance@paprikalaw.combilling@paprikalaw.comlegal@paprikalaw.comservice@paprikalaw.com
- 普通用户入口:
- 凭据处理:
- 用户在对话中提供了统一初始密码。
- 长期文档不保存明文密码。
- 待验证:
- 管理员登录。
- 普通邮箱 webmail 登录。
- MX/SPF/DKIM/DMARC。
- 内部互发、外部收信、外部发信。
- Next.js 表单通知 SMTP 配置。
E022 - Next.js 工程初始化和构建证据
- 日期:2026-07-06
- 关联任务:T036、T022
- 类型:命令输出摘要
- 命令:
npm install
npm run generate:legacy
npm run lint
npx tsc --noEmit
npm run build
- 结果摘要:
- 依赖安装完成。
generate:legacy从doc/index.html生成 12 个页面数据。lint通过。- TypeScript
--noEmit通过。 next build通过,生成/、/[page]、/api/submissions、/ask、/start、/thanks、/robots.txt、/sitemap.xml。
E023 - Prisma schema 和 migration 证据
- 日期:2026-07-06
- 关联任务:T037
- 类型:文件和命令证据
- 文件:
prisma/schema.prismaprisma/migrations/20260706120000_init/migration.sql.env.example
- 命令:
npm run prisma:generate
npx prisma migrate diff --from-empty --to-schema-datamodel prisma/schema.prisma --script
- 结果摘要:
- Prisma Client 生成成功。
- schema 包含
Submission和SubmissionFile。 .env.example只保留占位DATABASE_URL,未写入真实密码。
- 待补:
- 生产 PostgreSQL 执行
npx prisma migrate deploy。 - 成功入库后记录
submission_id。
- 生产 PostgreSQL 执行
E024 - Services CTA 和 legal 日期修复证据
- 日期:2026-07-06
- 关联任务:T017、T029
- 类型:源码和 HTTP 产物证据
- 命令:
rg -n "contact|Last updated" doc/index.html
curl -s http://localhost:8082/services | rg -n 'href="/start"|Expert consultation|Attorney Referral'
curl -s http://localhost:8082/terms | rg -n "Last updated: July 6, 2026"
- 结果摘要:
doc/index.html中 Services 04/05/06 已不再指向不存在的contact。/services产物中 Expert consultation、Agency representation、Attorney Referral 的 CTA 均为href="/start"。- legal 页面显示
Last updated: July 6, 2026。
E025 - 本地生产 8082 路由冒烟证据
- 日期:2026-07-06
- 关联任务:T003-T011、T015、T020、T039
- 类型:HTTP 状态码证据
- 命令:
npm run start -- -p 8082
for p in / /press /judging /scholarly /services /why /resources /faq /start /ask /thanks /terms /privacy /disclaimer /robots.txt /sitemap.xml; do
code=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:8082$p)
printf '%s %s\n' "$code" "$p"
done
- 结果摘要:
- 所有列出的路径均返回
200。 robots.txt输出Sitemap: https://paprikalaw.com/sitemap.xml。sitemap.xml包含核心公开路径。
- 所有列出的路径均返回
- 备注:
- 这是本地生产服务验收,不等同于远程服务器和 HTTPS 验收。
E026 - 表单 API 校验证据
- 日期:2026-07-06
- 关联任务:T012、T013、T038、T044
- 类型:API 响应证据
- 命令:
curl -s -X POST http://localhost:8082/api/submissions \
-H 'Content-Type: application/json' \
-d '{"type":"ask","name":"","email":"bad","question":"","consentAccepted":false}'
- 结果摘要:
- 返回
Validation failed。 - 字段错误包含
name、email、consentAccepted、question。
- 返回
- 待补:
- 配置
DATABASE_URL后提交有效/start和/ask表单,记录submission_id和数据库查询结果。 - 未配置
DATABASE_URL时,有效提交会返回 500,不能作为入库成功证据。
- 配置
E027 - npm audit 结果
- 日期:2026-07-06
- 关联任务:T023、T036
- 类型:安全扫描摘要
- 命令:
npm audit --audit-level=moderate --json
- 结果摘要:
- 剩余 2 个
moderatevulnerability。 - 来源为
next依赖链中的postcss <8.5.10公告。 - 当前项目已使用 registry 当前稳定版本 Next
16.2.10。 - npm 给出的
fixAvailable会降级到next@9.3.3,属于不合理破坏性修复,未执行。
- 剩余 2 个
- 后续:
- 等待 Next/PostCSS 依赖链发布可用修复版本后升级。
待补证据清单
| 编号 | 关联任务 | 需要补充的证据 |
|---|---|---|
| E008 | T003-T011 | 桌面浏览器截图,覆盖 home、press、judging、scholarly、services、why、resources、faq |
| E009 | T018 | 移动端截图,至少 390px 宽度覆盖 home、services、faq、start |
| E010 | T012/T013 | 表单提交成功记录、submission id、后台记录截图或 webhook job_id |
| E011 | T016/T017 | 法务审核记录、确认人、确认日期 |
| E012 | T023 | 自动化测试命令和结果 |
| E013 | T024/T025 | 部署 URL、systemd 状态、Nginx 测试、证书、job_id、commit hash |
| E014 | T026 | PDF 或截图归档路径 |
| E015 | T030 | SSH key 或密钥管理方式确认,不能包含明文密码 |
| E020 | T041/T042 | 邮箱后台截图、DNS 查询输出、收发测试截图 |
| E021 | T043 | 表单通知邮件 message id 或测试截图 |
| E028 | T044 | PostgreSQL DATABASE_URL 配置后的真实表单提交、submission_id 和数据库查询结果 |
证据模板
EXXX - 标题
- 日期:
- 关联任务:
- 类型:
- 命令或页面:
- 结果:
- 文件或链接:
- job_id/report_id/submission_id:
- 备注: