edit | blame | history | raw

项目决策记录(DECISIONS.md)
由指定架构负责人统一维护,用于记录每个版本的需求背景和决策过程。
其他角色不得直接编辑本文件;只能提出记录建议、修订建议或补充材料,由架构负责人写入最终记录。

2026-05-21 — Decisions.md 由架构负责人唯一维护

  • 背景:全局工作规范要求架构决策更新 Decisions.md,但需要进一步明确文件维护权,避免多角色并行编辑导致决策记录口径不一致。
  • 结论:Decisions.md 只能由指定架构负责人更新。Product Manager、Coder、QA、Ops、Reviewer 以及未明确以 Architect 身份工作的 agent 均不得直接编辑本文件。
  • 允许行为:其他角色可以在自己的 Docs/01GTD/<role-folder>/02worklog.md、评审意见、需求讨论或直接请求中提出记录建议。
  • 执行方式:最终是否写入、如何表述、放在哪个决策条目下,由架构负责人统一判断并写入。
  • 处理结果:已将该规则写入 Docs/00ProjectManagement/Apptag_Development_Workflow_Standard_v1.0.md;流程标准版本更新为 1.5。

2026-05-21 — Smart Start 首发采用扩展分类体系与按语言拆分资源

  • 背景:新版 SmartStart_UltimateDefaultCatalog.json 已扩大到约 11MB,包含 3531 条 entry 和 29 种语言 notes。用户确认 App 尚未发布到市场,没有真实用户和历史升级包袱。
  • 产品决策:正式扩展 App 分类体系,而不是把生成脚本映射回旧分类。
  • 架构决策:首发运行时采用 split Smart Start resources:base catalog、manifest、每语言 notes JSON。旧单体 JSON/CSV 不作为首发运行时 fallback。
  • 数据安全决策:虽然没有旧用户迁移负担,但首发后必须保护用户手写备注;系统默认 note 写入时记录来源 metadata,语言切换只更新仍匹配系统默认来源的 note。
  • 工程门禁:Smart Start 生成器必须校验 catalog tags 与 Swift SmartCategoryID runtime 兼容,未知分类不得被静默丢弃。
  • 取代事项:该决策取代 2026-05-20 “Smart Start notes 按语言拆分暂缓到后续版本”的临时结论,因为文件体积、CPU/内存风险和“无历史用户”前提已经改变。

2026-05-21 — 建立五角色分工与 GTD 工作记录规则

  • 背景:项目新增 Docs/01GTD/ 角色工作区,按 00-ProductManager01-Architect02-Coder03-QA04-op 划分职责。
  • 结论:五个角色必须各行其责;可以对其他角色的工作提出意见和建议,但不得静默代替其他角色执行其核心职责。
  • 新增规则:每个角色每批工作开始前必须在自己的角色文件夹维护 01Todolist.md,工作完成后必须维护 02worklog.md
  • 处理结果:已将角色职责、工作边界、GTD 目录规则写入 Docs/00ProjectManagement/Apptag_Development_Workflow_Standard_v1.0.md;流程标准版本更新为 1.4。

2026-05-20 — 新增目标导向沟通与阻塞上报规则

  • 背景:项目成员在执行任务时,可能遇到工具、翻译接口、自动化脚本、数据源或环境问题。此时允许停下来报告客观困难,但不允许用过程性表达、无关解释或含糊状态掩盖目标没有完成。
  • 结论:在 Docs/ProjectManagement/Apptag_Development_Workflow_Standard_v1.0.md 中新增“Goal-Oriented Communication And Blocker Reporting”规则。
  • 核心要求:任何状态汇报必须明确说明目标是 CompletedPartially completedBlocked 还是 Not started;如果未完成,必须说明缺口、证据、影响和下一步选项。
  • 特别约束:当工具、API、模型、翻译服务、自动化脚本、数据源或本地环境失败并导致目标无法完成时,成员必须直接说明,不得编造结果、静默替换不可验证结果,或回避目标是否完成。
  • 处理结果:流程标准版本更新为 1.3。

2026-05-20 — 撤销“翻译必须使用本地 Ollama”的项目硬性规则

  • 背景:在 Smart Start 目录补充 29 种语言默认备注时,本地 Ollama translatege 在手工短句翻译中可用,但在脚本化批量翻译中反复卡住,无法稳定产出。
  • 结论:撤销“所有多语言翻译任务必须使用本地 Ollama、禁止在线翻译”的项目级硬性规则。
  • 处理结果:已从 .hermes.mdDocs/ProjectManagement/Apptag_Development_Workflow_Standard_v1.0.md 中移除该硬性规则;流程标准版本更新为 1.2。
  • 后续策略:翻译任务应以可复现、可验证、可完成为准;若使用在线翻译或其他自动化翻译方式,必须在任务记录、生成脚本或 QA 报告中说明来源与风险。

2026-05-20 — Smart Start notes 按语言拆分暂缓到后续版本

  • 产品方向:长期看,Smart Start 基础目录与多语言 notes 分离是合理方向;基础目录保留语言无关字段,notes 可按语言独立资源加载。
  • 架构评估结论:当前临近市场发布,不建议在本版执行该结构性拆分,除非有明确包体或启动性能阻塞。
  • 关键风险:语言切换时默认备注识别依赖 matched.notes.values;若只加载当前语言 notes,可能导致默认备注不重本地化,或误覆盖用户手写备注。
  • 当前决策:本版继续使用单 JSON 结构完成 CSV 吸收、多语言翻译 QA、构建和发布;notes 按语言拆分作为后续资源格式升级。
  • 详细评估记录见:Research/SmartStart/SmartStart_NotesLanguageSplit_ArchitectureReview_20260520.md

2026-05-20 — 工作流程规范收口为单一权威文档

  • 新增唯一权威流程文档:Docs/ProjectManagement/Apptag_Development_Workflow_Standard_v1.0.md
  • 该文档统一收口项目级工作流程、文档更新责任、QA 门槛、版本管理、构建规则、发布门槛与冲突处理规则。
  • .hermes.md 现在只作为入口指针,不再单独维护散落的流程规则。
  • 明确将“build 过程不得回写受版本控制的源码文件”升级为硬性规则。
  • 当前 build.sh 回写 Apptag/Info.plist 的做法被定义为流程缺陷;治本要求是只改产物中的 Info.plist,不改仓库工作区。
  • 后续任何 coder(包括 AI coder)如果收到与流程规范冲突的指令,必须指出违反的具体条款,而不能静默执行。
  • 已在 build.sh 落地第一步修复:打包时先复制源码 Info.plist.app 包内,再只修改产物中的 CFBundleVersion
  • 验收结果:build/TagLauncher.app/Contents/Info.plistCFBundleVersion 可独立刷新,而源码 Apptag/Info.plist 在构建后保持不变。

2026-05-10 — 无色容器交互锁定

  • 「无色容器」是 App 列表第 2 种视图样式,对应 displayMode == "container"
  • 固定交互:hover 标签或对应容器区域时,容器保持标签色填充;鼠标移开后不自动清除。
  • 清除方式:再次点击同一标签,或点击对应容器内部空白处。
  • 后续迭代新增/修改其他样式时,不应改变以上无色容器交互逻辑;「彩色容器」应使用独立交互状态。