日期:2026-06-26
用户确认按“先做 3.7.2 doctor/preflight POC,再做 3.7.3 clean environment QA,然后进入 3.8 document lease / App write API”的顺序推进,并要求开工 Phase 3.7.3。
scripts/mindraw-doctor.mjs 增加 --system-handlers 模式。--system-handlers 通过 macOS NSWorkspace 查询 mindraw:// 默认 handler 和临时 .mindraw 探针包默认 handler,不启动 App,不修改 LaunchServices。.mindraw handler 错配和非 macOS。.mindraw fixture 的 package smoke:packageOpen=pass。/Applications/Mindraw.app,采用可恢复的临时 fake app 场景模拟干净 / 异常环境。doctor:mindraw 仍不启动 Mindraw;真实打开动作只在显式 --smoke 时发生。--system-handlers,用于 m4c / QA preflight 更准确地区分“App 声明正确”和“LaunchServices 实际 handler 正确”。scripts/mindraw-doctor.mjsscripts/mindraw-doctor.test.mjs02-P/qa/mindraw-phase373-clean-environment-qa.md02-P/qa/mindraw-phase37-companion-doctor-contract.md02-P/功能任务/companion-app-distribution-spec.md02-P/plan-progress.markdownCODEGRAPH.mdINDEX.md.codex-sessionhistory/2026-06-26-Phase373CleanQA.mdnpm run doctor:mindraw:test:PASS,11 tests。node --check scripts/mindraw-doctor.mjs:PASS。npm run doctor:mindraw -- --pretty --system-handlers:PASS,当前本机 warn,唯一 warning 为 MINDRAW_BUILD_UNKNOWN;URL/package handler 均 pass。npm run doctor:mindraw -- --pretty --system-handlers --smoke --package 02-P/Round01-mindraw-defstart/fixtures/minimal-empty.mindraw:PASS,packageOpen=pass。git diff --check 覆盖本轮相关文件:PASS。Build202606261221,doctor 保留 MINDRAW_BUILD_UNKNOWN warning。0.8.3 hotfix smoke;本轮未制造未知 documentId 触发用户可见错误弹窗。.mindraw 包时的 dirty/revision/lease 契约、拒写策略、App 接管策略和 QA failure matrix,再决定是否进入生产代码。