Files
MeetPaprika/working/06-决策记录.md

9.0 KiB
Raw Permalink Blame History

06-决策记录

本文件记录已经做出的工程、产品和流程决策。后续若要改变决策,需要新增记录说明原因,不直接覆盖旧记录。

D001 - 当前基线按静态单文件 mockup 记录

  • 日期2026-07-06
  • 决策:当前以 doc/index.html 作为项目基线,而不是假设已有完整前端工程。
  • 原因:
    • 当前目录未发现 package.json、构建配置或后端代码。
    • doc/index.html 已包含页面、样式和路由脚本。
    • 用户本轮要求是在 working 中编写推进文档。
  • 影响:
    • 当前验收以静态页面可打开、路由可渲染、视觉可检查为主。
    • 表单、部署、测试、工程化都作为后续任务单独推进。

D002 - 表单不按真实功能验收

  • 日期2026-07-06
  • 决策:startask 当前只能记为表单视觉 mockup不能记为真实线索收集功能。
  • 原因:
    • 字段是 <div>,不是输入控件。
    • 提交按钮是跳转链接,不会提交数据。
    • 没有后端、第三方表单服务、文件上传或校验逻辑。
  • 影响:
    • T012T013T014 保持 TODO
    • 上线前必须实现真实提交,或在页面明确标注不可提交。

D003 - 任务推进以任务矩阵为唯一入口

  • 日期2026-07-06
  • 决策:后续开发先查 04-任务矩阵.md,每个任务必须有编号、状态、验收标准和依赖。
  • 原因:
    • 用户明确要求防止重复做。
    • 当前项目范围包含内容、前端、表单、法务、部署和证据留存,容易混线。
  • 影响:
    • 新工作不得只写在聊天记录里。
    • 完成任务必须同步推进台账和验收证据。

D004 - 法务内容按草稿处理

  • 日期2026-07-06
  • 决策Terms、Privacy、Disclaimer 当前按草稿记录,正式上线前需要法务或负责人确认。
  • 原因:
    • 页面涉及 non-law-firm statement、attorney-client relationship、refund、privacy、file upload、attorney referral、immigration outcome guarantee 等高风险内容。
    • 页面曾使用 Last updated: July 10, 2026,晚于当前日期 2026-07-06R007 已修正日期,但内容仍需审核。
  • 影响:
    • T016 标为 BLOCKED,等待法务/负责人输入。
    • T017 后续已完成日期修正;法务内容审核仍不关闭。

D005 - 本轮不改 doc/index.html

  • 日期2026-07-06
  • 决策R002 只补强 working 文档,不修改 doc/index.html
  • 原因:
    • 用户要求是在 working 中编写文档体系。
    • 当前还没有要求开始代码修复或工程化迁移。
  • 影响:
    • T029 虽已识别,但仍为 TODO
    • 后续修复死链时应单独开一轮并记录证据。

D006 - 长期文档不保存明文服务器密码

  • 日期2026-07-06
  • 决策:用户提供的 SSH 密码只视为临时交接信息,不写入 working 长期文档。
  • 原因:
    • working 文档会作为后续推进资料,可能被复制、上传或纳入版本控制。
    • 明文密码进入项目文件会扩大泄露面。
  • 影响:
    • 服务器信息保留 host、user、port、domain。
    • T030 要求改用 SSH key、部署密钥或受控密钥库。

D007 - 目标部署端口采用 8082

  • 日期2026-07-06
  • 决策:部署方案默认内部服务监听 8082HTTPS 由域名和反向代理对外提供。
  • 原因:
    • 用户明确给出端口号 8082
    • 用户说明 8080-8099 已开放。
    • HTTPS 通常由 Nginx/Caddy/负载均衡终止,再转发到本地应用端口。
  • 影响:
    • T024 验收服务器本地 127.0.0.1:8082
    • T025 验收 https://paprikalaw.com/

D008 - Services 的 contact 路由判定为缺陷

  • 日期2026-07-06
  • 决策Services 页面 04/05/06 CTA 指向 contact 是缺陷,不按设计接受。
  • 原因:
    • pageData 没有 contact 页面。
    • 当前路由逻辑会把未知页面回退到 home
    • CTA 文案是 Start Here合理目标应为 start,除非新增真实 Contact 页面。
  • 影响:
    • 新增 T029
    • 修复前 T006 只能保持 VERIFY,不能标为 DONE

D009 - Outlet/network 名称正式发布前需确认

  • 日期2026-07-06
  • 决策Press 和 Judging 页面中的 outlet/network 名称上线前必须由负责人确认,或改成示例类型表达。
  • 原因:
    • 页面列出大量媒体和 judging/network 名称,可能被理解为合作关系、可保证 placement 或背书。
    • 这类陈述涉及商业真实性和法律风险。
  • 影响:
    • 新增 T031,状态 BLOCKED
    • 未确认前不建议直接正式上线。

D010 - 完全对标必须包含视觉和源码结构

  • 日期2026-07-06
  • 决策:后续提到“完全对标 doc/index.html”时,不能只记录页面文案,还必须覆盖 CSS token、组件类、函数清单、CTA 映射、FAQ 编号、Legal section、未调用模块和源码缺陷。
  • 原因:
    • doc/index.html 是 3423 行单文件 mockup页面内容、视觉规范和路由逻辑耦合在一起。
    • 如果只记录页面功能,工程化拆分时容易丢失视觉细节或保留隐藏缺陷。
  • 影响:
    • 01-项目功能内容.md 增加源码级对标附录。
    • 02-项目程序开发详细步骤.md 增加完全对标核验清单。
    • 新增 T034E016

D011 - 正式开发架构采用 Next.js + React + PostgreSQL

  • 日期2026-07-06
  • 决策:正式开发技术架构采用 Next.js + React数据库使用 PostgreSQL。
  • 默认补充决策:
    • 使用 TypeScript。
    • 使用 Next.js App Router。
    • 使用 Prisma 作为 PostgreSQL ORM。
    • 使用 Next.js Route Handlers 或 Server Actions 处理表单提交。
    • 生产服务监听 8082HTTPS 由反向代理处理。
  • 原因:
    • 用户明确指定 Next+ ReactPostGreSQL
    • 项目需要真实表单、数据持久化、后续可能的文件上传和后台线索管理,单纯静态站不够。
    • Next.js 可同时承接页面、API、SEO、构建和生产服务。
  • 影响:
    • 02-项目程序开发详细步骤.md 中工程化路线改为 Next.js + PostgreSQL。
    • 新增 T035-T039
    • 后续不再优先推进 Vite/纯静态拆分,除非另有新决策。

D012 - PostgreSQL 已安装但仍需远程验证

  • 日期2026-07-06
  • 决策:将服务器 PostgreSQL 状态记录为“用户确认已安装,待远程验证”,不直接视为已完成数据库接入。
  • 原因:
    • 用户已明确说明 PostgreSQL 在服务器安装完成。
    • 但尚未执行服务状态、版本、数据库列表、应用数据库、应用用户和连接字符串验证。
  • 影响:
    • 新增 T040 远程验证 PostgreSQL 安装。
    • T037 PostgreSQL + Prisma 接入仍保持 TODO
    • 继续执行不保存明文密码的凭据规则。

D013 - 邮箱账号统一记录但不保存初始密码

  • 日期2026-07-06
  • 决策:记录 paprikalaw.com 邮箱入口、管理员账号和 10 个普通邮箱账号,但不在长期文档保存用户提供的统一初始密码。
  • 原因:
    • 邮箱账号属于项目基础设施,网站联系、表单通知和法务联系需要引用。
    • 多账号共用初始密码存在安全风险,进入文档会扩大泄露面。
  • 影响:
    • 新增 T041-T043
    • 创建或确认邮箱后,应尽快改为独立强密码并记录验证证据。
    • Next.js SMTP 凭据只能放服务器环境变量或受控密钥库。

D014 - 保留 doc/index.html 作为对标基线,同时以 Next.js 为正式工程

  • 日期2026-07-06
  • 决策:不删除 doc/index.html,正式代码在根目录 Next.js 工程中维护。
  • 原因:
    • doc/index.html 是既有视觉、文案和路由逻辑的完整基线。
    • 新工程需要持续对标旧 mockup避免内容迁移漂移。
    • scripts/extract-legacy-pages.mjs 可从旧基线重新生成静态页面 CSS 和 HTML 数据。
  • 影响:
    • 静态内容页面暂由 lib/legacy-pages.tsLegacyPage 渲染。
    • /start/ask/thanks 已由 React 页面接管,不再使用旧 mockup 表单。

D015 - 文件上传暂不启用

  • 日期2026-07-06
  • 决策Start/Ask 表单当前不启用 CV/resume 上传。
  • 原因:
    • 文件上传涉及存储位置、大小限制、访问权限、隐私保留期限和删除策略。
    • 未确认前收集 CV 会扩大敏感数据风险。
  • 影响:
    • SubmissionFile 表作为未来能力预留。
    • 前端表单明确说明 file upload 暂停,直到存储和隐私方案获批。

D016 - 表单入库任务不在缺少 DATABASE_URL 时关闭

  • 日期2026-07-06
  • 决策:虽然 /api/submissions 已实现 Prisma 写入代码,但在没有真实 PostgreSQL DATABASE_URL 和成功 submission_id 证据前T038/T044 不标为 DONE
  • 原因:
    • API 代码通过构建不等于数据已经成功持久化。
    • 生产数据库连接、migration、权限和网络策略都可能导致运行时失败。
  • 影响:
    • T012/T013/T038 保持 VERIFY
    • 新增 T044专门记录真实 PostgreSQL 入库验收。