diff --git a/docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.md b/docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.md index 349253d3..81f8bc9e 100644 --- a/docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.md +++ b/docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.md @@ -1,6 +1,6 @@ --- date: 2026-05-08 -last_updated: 2026-06-06 +last_updated: 2026-06-09 topic: packaging-semantic-convergence-progress-and-next-steps --- @@ -341,6 +341,22 @@ Interpretation: 1. current repo-saga behavior is still unchanged; 2. the useful change is stronger proof of the checked-in sync helper's real CLI behavior, not only its source-shape and lock-helper internals. +### 2026-06-09 Current-Main Progress-Sync Delta + +The next drift risk in this lane was no longer code. It was documentation ownership across the current-main truth surfaces. + +1. the canonical progress docs in `docs/brainstorms/2026-05-20-*` and `docs/brainstorms/2026-05-28-*` now explicitly treat the helper-entrypoint proofs above as landed current-main evidence instead of pending follow-through; +2. the diagram-platform roadmap in `docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.*` now also reads: + - Task 0 as the still-live packaging/source-build bottleneck; + - Task 2 as compatibility-surface convergence rather than pipeline existence work; + - Task 3 as MermaidProcessor responsibility reduction guarded by real Obsidian verification; +3. the packaging lane therefore remains the primary architecture bottleneck on current main, while the release / chronicle / repo-saga helper-entrypoint proofs act as contract-depth evidence supporting that lane rather than as a separate architecture track. + +Interpretation: + +1. this batch still does not widen the shipped topology; +2. it does reduce one more class of drift by making roadmap/progress truth follow the same checked-in helper-entrypoint evidence that code/tests already prove. + ### Priority 2: treat backup-branch Stage-C work as reintegration candidates Candidate later slices may still be valuable, but they must be re-proved on current `main`: diff --git a/docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.zh-CN.md b/docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.zh-CN.md index abc8c7e9..39c48b68 100644 --- a/docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.zh-CN.md +++ b/docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.zh-CN.md @@ -1,6 +1,6 @@ --- date: 2026-05-08 -last_updated: 2026-06-06 +last_updated: 2026-06-09 topic: packaging-semantic-convergence-progress-and-next-steps --- @@ -341,6 +341,22 @@ release-follow-through 这条链路里的 repo-saga 侧入口现在也补上了 1. 当前 repo-saga 行为仍然没有变化; 2. 真正收紧的是:现在被更强地证明的是已检入 sync helper 的真实 CLI 行为,而不只是其源码形态与 lock-helper 内部逻辑。 +### 2026-06-09 Current-Main Progress-Sync 增量 + +这条轨道接下来的漂移风险已经不再主要来自代码,而是来自 current-main 真值文档之间的所有权断层。 + +1. `docs/brainstorms/2026-05-20-*` 与 `docs/brainstorms/2026-05-28-*` 这两组 canonical progress 文档,现在已经把上面的 helper-entrypoint proof 视为 current main 的已落地证据,而不是待完成跟进; +2. `docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.*` 现在也会把: + - 任务 0 读成仍然活跃的 packaging/source-build 瓶颈; + - 任务 2 读成 compatibility-surface 收口,而不是 pipeline 是否存在; + - 任务 3 读成带真实 Obsidian 验证门槛的 MermaidProcessor 降责; +3. 因此,在当前主线上,packaging 轨道仍然是首要架构瓶颈;release / chronicle / repo-saga helper 的入口级证明,则是支撑这条轨道的 contract-depth 证据,而不是另一条独立架构主线。 + +正确解释: + +1. 这次仍然没有扩大已发货 topology; +2. 但它又补上了一类漂移控制:让 roadmap/progress 真值开始跟随同一套已检入 helper-entrypoint 证据,而不是只靠人工记忆。 + ### Priority 2:把备份分支的 Stage-C 工作视为 reintegration 候选 以下切片未来仍可能值得回灌,但都必须在当前 `main` 上重新证明: diff --git a/docs/brainstorms/2026-05-20-unified-follow-through-matrix.md b/docs/brainstorms/2026-05-20-unified-follow-through-matrix.md index ad311f68..75a1ad56 100644 --- a/docs/brainstorms/2026-05-20-unified-follow-through-matrix.md +++ b/docs/brainstorms/2026-05-20-unified-follow-through-matrix.md @@ -1,6 +1,6 @@ --- date: 2026-05-20 -last_updated: 2026-06-06 +last_updated: 2026-06-09 topic: unified-follow-through-matrix canonical: true --- @@ -22,7 +22,7 @@ From this checkpoint onward: This matrix is grounded in: -1. live `origin/main` after the 2026-05-24 force rewrite, re-audited against the current `main` working tree on 2026-06-06 after the `1.9.2` release boundary plus the later post-release contract/evidence follow-through commits; +1. live `origin/main` after the 2026-05-24 force rewrite, re-audited against the current `main` working tree on 2026-06-09 after the `1.9.2` release boundary plus the later post-release contract/evidence follow-through commits; 2. prior current-main documents: - `docs/brainstorms/2026-05-07-cli-next-phase-planning.*` - `docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.*` @@ -37,6 +37,7 @@ Current execution baseline for this matrix update: 3. after `7999a5f` (`test(local-kb): broaden stage-c fixture coverage`), that fixture lane also explicitly carries broader real-note/query diversity beyond the chapter-split showcase as current evidence instead of future intent; 4. the matrix therefore treats local-KB, file selection, and chapter split as landed product contracts whose next work is evaluation depth, maintainer-example alignment, and packaging-boundary discipline. 5. the current batch further closes maintainer example alignment onto real docs-vault paths: helper help, the bilingual capability matrix, and tests now jointly cover explicit research queries, cross-folder batch-title source paths, diagram-source retrieval, and bounded `topK` / `slidingWindowSize` overrides without widening the public CLI boundary. +6. `7af2f9b` (`docs(progress): sync current-main helper proof truth`) is the current docs-sync baseline: it does not widen runtime behavior, but it does re-lock the canonical progress docs and the diagram roadmap to the same current-main helper-entrypoint truth. ## 3. Current Unified Matrix @@ -61,6 +62,7 @@ Current Batch-C alignment note: - the checked-in release dry-run create/repair path plus invalid-tag wrapper failures; - the chronicle refresh wrapper's no-op / override / git-failure paths; - the repo-saga sync/generation wrapper's sync-only stamp hit, active-lock refusal, isolated generation, and invalid-argument fast-fail behavior. +8. The diagram-platform roadmap EN/ZH is now also part of this current-main truth set: it is expected to keep Task 0 as the packaging-boundary bottleneck, Task 2 as compatibility-surface convergence, and Task 3 as MermaidProcessor responsibility reduction instead of implying the platform is still unbuilt. ## 4. Reconfirmed Current-Main Register diff --git a/docs/brainstorms/2026-05-20-unified-follow-through-matrix.zh-CN.md b/docs/brainstorms/2026-05-20-unified-follow-through-matrix.zh-CN.md index bed2cc20..51818295 100644 --- a/docs/brainstorms/2026-05-20-unified-follow-through-matrix.zh-CN.md +++ b/docs/brainstorms/2026-05-20-unified-follow-through-matrix.zh-CN.md @@ -1,6 +1,6 @@ --- date: 2026-05-20 -last_updated: 2026-06-06 +last_updated: 2026-06-09 topic: unified-follow-through-matrix canonical: true --- @@ -22,7 +22,7 @@ canonical: true 本文基于以下事实建立: -1. 2026-05-24 force rewrite 之后的 live `origin/main`,并在 2026-06-06 基于 `1.9.2` 发货边界以及后续 post-release contract/evidence follow-through commits 重新审计当前 `main` 工作树; +1. 2026-05-24 force rewrite 之后的 live `origin/main`,并在 2026-06-09 基于 `1.9.2` 发货边界以及后续 post-release contract/evidence follow-through commits 重新审计当前 `main` 工作树; 2. 先前仍与当前主线相关的文档: - `docs/brainstorms/2026-05-07-cli-next-phase-planning.*` - `docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.*` @@ -37,6 +37,7 @@ canonical: true 3. `7999a5f`(`test(local-kb): broaden stage-c fixture coverage`)之后,fixture lane 已把 chapter-split showcase 之外的真实 note/query 多样性纳入当前证明范围; 4. 因此,本文把 local-KB、file selection 与 chapter split 视为已落地产品契约;下一步是评估深度、maintainer 示例对齐与 packaging 边界纪律,而不是继续做存在性重证。 5. 当前批次继续把 maintainer example alignment 收口到真实 docs-vault 路径:helper help、双语 capability matrix 与测试现在共同覆盖 explicit research query、跨文件夹 batch-title source path、diagram-source retrieval,以及有界 `topK` / `slidingWindowSize` override;这仍是 maintainer-only 诊断面,不是 public CLI 扩面。 +6. `7af2f9b`(`docs(progress): sync current-main helper proof truth`)是当前 docs-sync 基线:它没有扩大 runtime 行为,但重新把 canonical progress 文档与 diagram roadmap 锁回同一套 current-main helper-entrypoint 真值。 ## 3. 当前统一矩阵 @@ -61,6 +62,7 @@ canonical: true - 已检入 release dry-run 的 create/repair 路径与非法 tag 的 wrapper 失败路径; - chronicle refresh wrapper 的 no-op / override / git-failure 路径; - repo-saga sync/generation wrapper 的 sync-only stamp 命中、active-lock refusal、隔离生成路径,以及非法参数 fast-fail 行为。 +8. diagram-platform roadmap 的中英文版本现在也属于这套 current-main truth:它们应继续把任务 0 写成 packaging 边界瓶颈,把任务 2 写成 compatibility-surface 收口,把任务 3 写成 MermaidProcessor 降责,而不是继续暗示平台尚未建成。 ## 4. 当前主线已确认 register diff --git a/docs/brainstorms/2026-05-28-mainline-progress-audit-and-next-level-direction.md b/docs/brainstorms/2026-05-28-mainline-progress-audit-and-next-level-direction.md index e64b1075..5c527130 100644 --- a/docs/brainstorms/2026-05-28-mainline-progress-audit-and-next-level-direction.md +++ b/docs/brainstorms/2026-05-28-mainline-progress-audit-and-next-level-direction.md @@ -1,6 +1,6 @@ --- date: 2026-05-28 -last_updated: 2026-06-06 +last_updated: 2026-06-09 topic: mainline-progress-audit-and-next-level-direction canonical: true --- @@ -258,6 +258,24 @@ This is no longer only a principle statement. The repo now carries tracked mirro Those mirrors are now also part of executable Stage-C evidence instead of remaining docs-only truth: the local-KB offline fixture and maintainer inspect examples now probe them through real retrieval paths. +### 2.9 Current `7af2f9b` docs-sync baseline + +The current remote-synced baseline is now also explicit at the documentation layer: `7af2f9b` (`docs(progress): sync current-main helper proof truth`). + +What that baseline means: + +1. no shipped runtime or product behavior changed in that docs-sync commit; +2. the canonical current-main progress docs now explicitly treat the release / chronicle / repo-saga helper-entrypoint proofs as landed evidence instead of future intent; +3. the diagram-platform roadmap is now expected to describe: + - Task 0 as packaging/source-build boundary truth; + - Task 2 as compatibility-surface convergence rather than pipeline existence work; + - Task 3 as MermaidProcessor responsibility reduction under a real-Obsidian verification bar. + +Correct interpretation: + +1. current-main truth maintenance now includes keeping roadmap/progress language synchronized with the checked-in helper-entrypoint evidence; +2. document sync is now a regression boundary, not optional prose cleanup. + ## 3. Deep Comparison Against Earlier Plan Language ### 3.1 What the 2026-05-25 audit now understates diff --git a/docs/brainstorms/2026-05-28-mainline-progress-audit-and-next-level-direction.zh-CN.md b/docs/brainstorms/2026-05-28-mainline-progress-audit-and-next-level-direction.zh-CN.md index cb6b43ae..85cd6498 100644 --- a/docs/brainstorms/2026-05-28-mainline-progress-audit-and-next-level-direction.zh-CN.md +++ b/docs/brainstorms/2026-05-28-mainline-progress-audit-and-next-level-direction.zh-CN.md @@ -1,6 +1,6 @@ --- date: 2026-05-28 -last_updated: 2026-06-06 +last_updated: 2026-06-09 topic: mainline-progress-audit-and-next-level-direction canonical: true --- @@ -258,6 +258,24 @@ canonical: true 这些镜像现在也已经进入可执行的 Stage-C 证据面,而不再只是 docs-only 真值:local-KB 的离线 fixture 与 maintainer inspect 示例会沿真实检索路径探测它们。 +### 2.9 当前 `7af2f9b` 的文档同步基线 + +当前远端同步后的基线,也已经在文档层被明确下来:`7af2f9b`(`docs(progress): sync current-main helper proof truth`)。 + +这个基线真正意味着: + +1. 这次 docs-sync commit 没有改变任何已发货 runtime 或产品行为; +2. canonical 的 current-main progress 文档现在会把 release / chronicle / repo-saga helper 的入口级证明明确视为已落地证据,而不是未来意图; +3. diagram-platform roadmap 现在也应明确把: + - 任务 0 读成 packaging/source-build 边界真值; + - 任务 2 读成 compatibility-surface 收口,而不是 pipeline 是否存在; + - 任务 3 读成带真实 Obsidian 验证门槛的 MermaidProcessor 降责工作。 + +正确解释: + +1. 当前主线真值维护现在也包括让 roadmap/progress 语言持续跟上已检入 helper-entrypoint 证据; +2. 文档同步现在已经是回归边界,而不是可选的 prose 清理。 + ## 3. 相对先前方案语言的深度对比 ### 3.1 2026-05-25 审计现在低估了什么 diff --git a/docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.en.md b/docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.en.md index 1b49dd88..b6a6cd96 100644 --- a/docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.en.md +++ b/docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.en.md @@ -36,6 +36,17 @@ This also needs to be explicit: Deep comparison and next-step implementation note: - `docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.md` +## 2026-06-09 Current-Main Truth Sync + +This roadmap now also needs to track the current-main docs-sync baseline explicitly: `7af2f9b` (`docs(progress): sync current-main helper proof truth`) on clean `main...origin/main`. + +What that correction means: + +- Task 0 is still the primary architecture bottleneck. Current build/release/audit/docs truth still enforces single-entry `main.js` plus inline `srcdoc`, and `createRenderHostBundleBuildOptions()` remains candidate-only outside the production `esbuild.config.mjs` path. +- Task 2 is no longer about proving that the spec-first generation pipeline exists. It is now a compatibility-surface convergence problem across legacy command IDs, workflow/sidebar labels, and experimental-era naming. +- Task 3 is no longer about proving Mermaid subtype support. It is now about reducing `src/mermaidProcessor.ts` responsibility under the already-declared rule that every sub-slice must be verified in a real Obsidian session with saved-artifact inspection. +- The checked-in release / chronicle / repo-saga helper entrypoints now have process-level regression proof, so Task 0 packaging evidence is repo-owned truth rather than maintainer memory. + --- **Goal:** Evolve Notemd from a single Mermaid-text generation path into an extensible diagram platform built around intent detection, structured specs, specialized renderers, and multi-format output inside Obsidian. @@ -111,14 +122,14 @@ All existing provider configs, transport protocols, and settings UI remain uncha | Task | Status | Current reality | |---|---|---| -| Task 0 | Delivered with explicit limits | `src/rendering/webview/*` and `src/rendering/host/iframeRenderHost.ts` have landed with an inline `srcdoc` host. `scripts/audit-render-host-bundle.js`, the release workflow, and tests now lock the requirement that the render host must ship self-contained inside `main.js`. `esbuild.config.mjs` is still single-entry, so true heavy-runtime isolation is not complete. | +| Task 0 | Delivered with explicit limits | `src/rendering/webview/*` and `src/rendering/host/iframeRenderHost.ts` have landed with an inline `srcdoc` host. `scripts/audit-render-host-bundle.js`, the release workflow, `scripts/lib/packaging-contract.js`, and tests now lock the requirement that the render host must ship self-contained inside `main.js`. `createRenderHostBundleBuildOptions()` remains candidate-only outside the production `esbuild.config.mjs` path, so true heavy-runtime isolation is still not complete. | | Task 1 | Delivered | `DiagramIntent`, `DiagramSpec`, validators, planner logic, and intent inference rules are on the mainline with tests. | | Task 2 | Partial (hard constraint) | The spec-first prompt and service pipeline are landed, and `src/main.ts`, `src/ui/NotemdSidebarView.ts`, and `src/operations/diagramCommandHostAdapter.ts` now route diagram generation/preview through canonical internal entrypoints (`generateDiagramCommand`, `previewDiagramCommand`, `runPreviewDiagramCommandWithHost`). Workflow/sidebar action metadata also now uses canonical action IDs (`generate-diagram`, `preview-diagram`) while older `*-experimental-diagram` action tokens are normalized as compatibility aliases. The remaining dual-track surface is therefore mostly compatibility-era public command IDs and labels rather than divergent execution chains. **Hard Constraint:** The legacy Mermaid prompt in `promptUtils.ts` was specifically tuned for the original scenario. Any extension or retirement MUST fully preserve the original scenario's usability. Cross-version stability takes priority over cleanup. | | Task 3 | Partial (hard constraint) | Mermaid subtype adapters and `mermaid.parse` validation are shipped. Flowchart pipe-label escaping moved into adapter emit, and a large share of note-directive parsing / edge-label helpers have started moving into `src/diagram/adapters/mermaid/legacyFixerUtils.ts`. `src/mermaidProcessor.ts` still owns too much legacy fixer work. **Hard Constraint:** Each sub-task MUST be individually verified in a real Obsidian instance before proceeding. Diagram output images MUST be saved, checked, and confirmed complete. Unit tests alone are insufficient to advance beyond any sub-task boundary. | | Task 4 | Delivered | Renderer registry/service, cache, inline host, iframe preview session, and unified preview modal are all landed. | | Task 5 | Delivered | `.canvas` output, baseline deterministic layout, save flows, and preview support are all landed. | | Task 6 | Delivered with explicit limits | Vega-Lite preview now boots through the iframe host with a target-specific sandbox and `srcdoc` bootstrap path. The remaining limit is packaging, not preview routing: the runtime still ships through the main bundle bridge until Task 0 grows a real multi-entry host asset strategy. | -| Task 7 | Delivered with explicit limits | Theme, locale, SVG/PNG/source export, and the support matrix are aligned with current code. HTML still promises only iframe fallback preview and raw source save. The release workflow now also pins supported `actions/checkout@v6` and `actions/setup-node@v6` majors so the release path does not inherit the older Node 20 JavaScript-action deprecation warning. | +| Task 7 | Delivered with explicit limits | Theme, locale, SVG/PNG/source export, and the support matrix are aligned with current code. HTML still promises only iframe fallback preview and raw source save. The release workflow now also pins supported `actions/checkout@v6` and `actions/setup-node@v6` majors so the release path does not inherit the older Node 20 JavaScript-action deprecation warning, and the checked-in release / chronicle / repo-saga helper entrypoints now have process-level regression proof for the current release-contract lane. | | Task 8 | Deferred by design | Advanced DSL / renderer evaluation remains intentionally postponed. | ### Cross-Validated Medium-Term Agenda @@ -724,11 +735,11 @@ The following should not enter the mainline now: If work continues now, it should be a convergence batch, not a new-target batch: -1. Finish Task 2's remaining command-architecture convergence -2. Finish Task 3's remaining `mermaidProcessor.ts` responsibility reduction and legacy-fixer sunset boundary -3. Revisit Task 0's remaining heavier-runtime packaging boundary so bridge-backed iframe preview can graduate to a real dedicated host bundle -4. Keep strengthening Task 7 so the support matrix is bound more tightly to docs and release contracts -5. Treat Task 0's smoke gate as a hard regression boundary; any move to standalone host assets must upgrade release/install design first +1. Revisit Task 0's remaining heavier-runtime packaging boundary first, so current source/build/release/audit truth stays aligned before any broader claim widening +2. Finish Task 2's remaining command-architecture convergence +3. Finish Task 3's remaining `mermaidProcessor.ts` responsibility reduction and legacy-fixer sunset boundary +4. Keep strengthening Task 7 so the support matrix, release contracts, and checked-in helper-entrypoint proof stay aligned +5. Treat Task 0's smoke gate plus candidate-only build guard as hard regression boundaries; any move to standalone host assets must upgrade release/install design first Reason: diff --git a/docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.zh-CN.md b/docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.zh-CN.md index b2d378a0..f3a5a1be 100644 --- a/docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.zh-CN.md +++ b/docs/superpowers/plans/2026-04-14-diagram-rendering-platform-roadmap.zh-CN.md @@ -36,6 +36,17 @@ notebook-navigator 全部交叉参考模式已完成(4/5 已实现,1 项延 深度对比与下一步落地说明: - `docs/brainstorms/2026-05-08-packaging-semantic-convergence-progress-and-next-steps.zh-CN.md` +## 2026-06-09 Current-Main 真值同步 + +这份路线图现在也需要把 current-main 的 docs-sync 基线显式写出来:`7af2f9b`(`docs(progress): sync current-main helper proof truth`),并且该基线开始前仓库处于 clean 的 `main...origin/main` 状态。 + +这条校正的真实含义是: + +- 任务 0 仍然是首要架构瓶颈。当前 build/release/audit/docs 真值仍然只承认单入口 `main.js` + inline `srcdoc`,并且 `createRenderHostBundleBuildOptions()` 继续保持在 production `esbuild.config.mjs` 之外的 candidate-only 状态。 +- 任务 2 已不再是“spec-first pipeline 是否存在”的问题,而是 legacy command ID、workflow/sidebar 文案以及 experimental-era naming 的兼容收口问题。 +- 任务 3 已不再是“Mermaid subtype 支持是否存在”的问题,而是带真实 Obsidian 会话与已保存产物检查门槛的 `src/mermaidProcessor.ts` 降责问题。 +- 已检入的 release / chronicle / repo-saga helper 入口现在都具备 process-level 回归证明,因此任务 0 的 packaging 证据已经是 repo-owned 真值,而不再只是维护者经验。 + --- **目标:** 将 Notemd 从“LLM 直接生成 Mermaid 文本并事后修补”的单一路径,升级为“图形意图识别 + 中间规格 + 专门渲染 + 多格式输出”的可扩展图形平台,在 Obsidian 内稳定支持更多图像与图表类型。 @@ -110,14 +121,14 @@ Phase-2 需求快照: | 任务 | 状态 | 当前现实 | |---|---|---| -| 任务 0 | 已交付,但限制已明确 | `src/rendering/webview/*` 与 `src/rendering/host/iframeRenderHost.ts` 已落地,继续采用内联 `srcdoc` 方案;`scripts/audit-render-host-bundle.js`、release workflow 与单测已把“render host 必须由 `main.js` 自包含携带”的 smoke gate 固化下来,但 `esbuild.config.mjs` 仍是单入口,真正的 heavier-runtime isolation 仍未完成。 | +| 任务 0 | 已交付,但限制已明确 | `src/rendering/webview/*` 与 `src/rendering/host/iframeRenderHost.ts` 已落地,继续采用内联 `srcdoc` 方案;`scripts/audit-render-host-bundle.js`、release workflow、`scripts/lib/packaging-contract.js` 与单测已把“render host 必须由 `main.js` 自包含携带”的 smoke gate 固化下来。`createRenderHostBundleBuildOptions()` 继续保持在 production `esbuild.config.mjs` 之外的 candidate-only 状态,因此真正的 heavier-runtime isolation 仍未完成。 | | 任务 1 | 已交付 | `DiagramIntent`、`DiagramSpec`、validator、planner 和意图推断规则均已进入主线,并有单测覆盖。 | | 任务 2 | 部分完成(硬性约束) | spec-first prompt 与 service pipeline 已落地,`src/main.ts`、`src/ui/NotemdSidebarView.ts` 与 `src/operations/diagramCommandHostAdapter.ts` 现在也已经改为通过 canonical 内部入口(`generateDiagramCommand`、`previewDiagramCommand`、`runPreviewDiagramCommandWithHost`)来收口图表生成与预览链路。workflow/sidebar action metadata 也已经切到 canonical action ID(`generate-diagram`、`preview-diagram`),而旧的 `*-experimental-diagram` action token 仅作为兼容别名在解析阶段被归一化。剩余双轨现在主要收缩为兼容期 public command ID 与文案,而不是内部执行链继续分叉。**硬性约束:** `promptUtils.ts` 中的旧版 Mermaid 提示词为原场景专门调优。任何扩展或退役必须完全保留原场景的可用性。跨版本稳定性优先于清理。 | | 任务 3 | 部分完成(硬性约束) | Mermaid subtype adapters 与 `mermaid.parse` 校验已落地,flowchart pipe-label escaping 已前移到 adapter emit,legacy note directive parsing / edge-attachment / note-node formatting 与一批 edge-label merge/quote/rewrite helper 也已开始下沉到 `src/diagram/adapters/mermaid/legacyFixerUtils.ts`;但 `src/mermaidProcessor.ts` 仍承担大量 legacy fixer 责任,adapter-driven fixer 拆分未完成。**硬性约束:** 每个子任务必须在真实 Obsidian 实例中独立验证后方可推进。图表输出图像必须保存、检查并确认完整正确。仅凭单元测试不足以跨越任何子任务边界。 | | 任务 4 | 已交付 | renderer registry/service、cache、inline host、iframe preview session 与统一 preview modal 已落地。 | | 任务 5 | 已交付 | `.canvas` 输出、基础 deterministic layout、保存与预览链路已落地。 | | 任务 6 | 已交付,但限制已明确 | Vega-Lite 预览现在已经改为通过 iframe host 启动,并配套 target-specific sandbox 与 `srcdoc` bootstrap 路径。剩余限制不再是预览路由,而是打包边界:在任务 0 落地真正的多入口 host 资产策略之前,运行时仍通过主 bundle bridge 提供。 | -| 任务 7 | 已交付,但限制已明确 | 主题、locale、SVG/PNG/source export 和文档矩阵已对齐当前代码;HTML 目标仍只承诺 iframe fallback preview 与 raw source save。release workflow 也已补上 `actions/checkout@v6` 与 `actions/setup-node@v6` 的 action pin,避免继续背着旧版 Node 20 JavaScript-action 弃用告警。 | +| 任务 7 | 已交付,但限制已明确 | 主题、locale、SVG/PNG/source export 和文档矩阵已对齐当前代码;HTML 目标仍只承诺 iframe fallback preview 与 raw source save。release workflow 也已补上 `actions/checkout@v6` 与 `actions/setup-node@v6` 的 action pin,避免继续背着旧版 Node 20 JavaScript-action 弃用告警;同时,当前 release / chronicle / repo-saga helper 入口也已经具备当前 release-contract 轨道所需的 process-level 回归证明。 | | 任务 8 | 按设计延后 | 高级 DSL / renderer 评估仍应继续推迟。 | ### 交叉验证后的中期议程 @@ -753,11 +764,11 @@ runtime boundary 现在已经比先前实质性前进:preview modal 不再优 如果现在继续推进,建议只做“收口批次”,不要回到“先加更多 target 再说”的路径: -1. 完成任务 2 剩余部分:diagram command architecture 收口 -2. 完成任务 3 剩余部分:`mermaidProcessor.ts` 降责与 legacy fixer sunset boundary -3. 回到任务 0 的剩余 heavier-runtime packaging boundary,让 bridge-backed iframe 预览后续升级为真正独立的 host bundle -4. 继续维护任务 7:把 support matrix 与 release/docs contract 绑定得更硬 -5. 把任务 0 的 smoke gate 当成回归边界,后续若引入独立 host 资产必须先升级 release/install 设计 +1. 先回到任务 0 的剩余 heavier-runtime packaging boundary,持续对齐当前 source/build/release/audit 真值,再考虑任何更宽的能力叙述 +2. 完成任务 2 剩余部分:diagram command architecture 收口 +3. 完成任务 3 剩余部分:`mermaidProcessor.ts` 降责与 legacy fixer sunset boundary +4. 继续维护任务 7:把 support matrix、release contracts 与已检入 helper-entrypoint proof 绑定得更硬 +5. 把任务 0 的 smoke gate 与 candidate-only build guard 一起当成回归边界;后续若引入独立 host 资产必须先升级 release/install 设计 原因很直接: