Repository navigation
在语义护照中只读展示节点的任务清单(Task checklist) - #1119
Silencentury wants to merge 5 commits into
Conversation
Architecture, Workflow, Sequence, Dataflow and Lifecycle nodes may carry an optional `task_checklist` of up to 12 tasks: a title, a status (implemented, needs-review or pending), optional criteria and optional sources. Implemented tasks must cite a source; pending tasks cite none. Task sources are verified against the pinned revision like node sources and reach the page as `taskChecklists` in the evidence payload. Titles, statuses and criteria ride in an `archify-task-checklists-data` block outside the SVG, emitted only when a document has a checklist, so exports are unchanged. The passport shows one counted line that expands to the tasks. Refs tt-a1i#1114 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rebuilt from the previous commit: the examples (with the drilldown and n8n pages and the template-derived examples/web-app.html), the two MCO pages, the gallery, the Checkout compare example and archify.zip (Node 22.23.2, zlib 1.3.1-e00f703). As in 3b5b16c, the README GIF is not re-recorded; only its receipt hashes change. Refs tt-a1i#1114 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedWe couldn't safely recover the incremental review. No full review was started, and the last reviewed checkpoint was preserved. Retry later, or explicitly request a full review by commenting You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review.
|
| Check name | Status | Explanation |
|---|---|---|
| Contribution Scope | The PR describes the current user problem, intended read-only Semantic Passport behavior, maintenance value, compatibility impact, and failure behavior. It links issue #1114 and records maintainer agr… |
|
| Validation Evidence | Evidence is sufficient for evaluated head 9786a5b (base e837dc4). The source diff adds focused tests for all five supported diagram types, schema limits, payload placement outside SVG, localization, a… |
Full details: Contribution Scope
-
Explanation
The PR describes the current user problem, intended read-only Semantic Passport behavior, maintenance value, compatibility impact, and failure behavior. It links issue
#1114and records maintainer agreement for the scope. The diff matches one focused delivery slice: the optionaltask_checklistcontract, shared evidence/rendering support, focused tests, and regenerated artifacts. It preserves canonical SVG/export behavior and documents validation, repository-evidence, and missing-template failures.
Full details: Validation Evidence
-
Explanation
Evidence is sufficient for evaluated head 9786a5b (base e837dc4). The source diff adds focused tests for all five supported diagram types, schema limits, payload placement outside SVG, localization, and repository evidence failure paths. The browser test is registered in the browser inventory and covers collapsed/expanded interaction, accessibility labels, verified links, SVG exclusion, focus clearing, and bounded scrolling. The PR body reports
npm run test:fullwith 0 failures and a separate Chrome pass; the full run’s browser skips are disclosed, so that claim is correctly distinguished as an author report. Observed checks confirm all 64 changed HTML/SVG pairs retain byte-identical SVG content, gallery manifest hashes match artifacts, and selected archive files match their sources. The real-repository comparison is explicitly exempted because default inputs do not authortask_checklist; this does not leave a material validation gap for the optional behavior.
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
tt-a1i
left a comment
There was a problem hiding this comment.
Agent 辅助审查,基于 9786a5b763054c55c21c70d5f1f1406074971559 和当前 dev e837dc4;本轮检查源码和已有证据,没有重跑整套测试,也不代表人工视觉验收。
同意这一小范围方向:把作者写定的任务状态、验收标准和已校验源码引用挂到节点上,保持只读,不推断代码是否完成。五种现有图类型的可选字段、共用证据验证和原生折叠控件是合理边界。当前适用 CI 已通过,已有 schema、证据失败路径和 1440×900 浏览器交互覆盖,无需另开重复 issue 或补通用生图 benchmark。
还需要一项有区别的共享 Viewer 验证:同一节点同时带上层返回上下文、较长 explanation 和 12 条清单,在 320×300 短视口下展开/收起,用键盘到达末条任务及链接,再切换节点,确认内容可滚动到达、焦点和返回/关闭控件可用、折叠状态符合预期。现有新增测试固定在 1440×900;这是组合证据缺口,不是已复现的缺陷,也不要求扩展成一套移动端矩阵。
请继续明确:任务状态是作者声明,固定提交的源码引用只证明文件和行存在,并不证明任务已经实现。
Verifying task sources only shows that the cited files and lines exist at the pinned revision; it does not show that a task is done. Say so in SKILL.md and the CHANGELOG entry, as requested in review. Refs tt-a1i#1114 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
As requested in review: one node carries the parent return link, a near-limit explanation and twelve linked tasks. Keyboard focus reaches every task link with each one scrolled into view, Shift+Tab and Enter collapse and reopen the list, the explanation's Back and the passport's close control work, the parent link is clickable once the passport closes, and refocusing or switching nodes starts collapsed. Refs tt-a1i#1114 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Brings in the render-output checker fix from tt-a1i#1031. archify.zip is the only conflict; it is rebuilt from the combined source with the canonical Node 22.23.2 / zlib 1.3.1-e00f703 toolchain and also carries the SKILL.md wording from the docs commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The new task-checklist citations reuse |
Thanks for checking first. #1119 doesn't change the revision check: on its head ( |
tt-a1i
left a comment
There was a problem hiding this comment.
Agent-assisted re-review:已核对增量和新增 320×300 组合测试。此前要求的十二条任务键盘可达、explanation 返回/关闭及切换节点折叠恢复都有具体覆盖,任务状态与源码证据的边界也已说明;这些审查项已解决。这里复用作者的浏览器证据,不声称重新进行了视觉验收,无需新增通用生图 benchmark。
当前 head 的19项CI成功、2项条件部署跳过,但 dev 已到852f1e5f,GitHub 仍报告冲突。请同步当前dev、保留#1031检查器和#1137紧凑节点品牌位置修复,并从合并源码重建规范ZIP,验证最终提交适用CI。现有证据保留原测试提交标识,只补受集成影响的检查。
|
Maintainer direction update: please hold integration of this Task Checklist feature for now. The earlier feedback acknowledging the supplied interaction evidence remains valid, but it is not authorization to merge. We will revisit the feature after the maintainer reviews the product behavior; no further implementation or evidence expansion is requested in the meantime. |

问题与价值
dev(e837dc4c)上,节点虽支持已验证的sources和说明文字explanation(feat(viewer): authored node explanations in the semantic passport #398),但无法表达逐条任务的状态和验收标准;开发进度只能散落在图外,编码智能体汇报的进度也无法对照代码核实。architecture、workflow、sequence、dataflow和lifecycle五种图的节点上,可选配置只读的task_checklist并在语义护照中展示,任务证据按固定提交校验。任务状态是作者(或智能体)的声明:固定提交的源码引用只证明引用的文件和行存在,不证明任务已经实现,Archify 也不判断代码是否满足验收标准。explanation一致,直接复用现有的仓库证据校验器,不引入任何新的运行时、状态存储或外部依赖。archify.zip增加 36,807 字节(0.53%)。AI 辅助与贡献者责任
稳定性影响
common.schema.json新增$defs/taskChecklist,支持 1–12 条任务;title为 1–120 个字符,status取值为implemented、needs-review或pending,可选字段为criteria(1–280 个字符)和sources;已实现的任务必须带证据,待实现的任务不能带。verifyRepositoryEvidence采用与节点证据相同的检查和诊断逻辑来校验任务证据,校验结果新增可选的taskChecklists映射,交付回执的evidence.references也同步计入任务证据。Story 工具和archify/explainer/sources.mjs不读任务清单,不受影响。archify-task-checklists-dataJSON 块,新的模板占位符也仅在此时才必需,现有自定义模板不受影响。focus.js将源码链接的渲染提取为辅助函数sourceLink(),供节点证据和任务共用,节点证据的 DOM 结构不变;fix(viewer): meet the 4.5:1 contrast floor for reader text in light presets #1055 的浅色主题覆盖规则加入了“已实现”标记。SKILL.md说明何时编写task_checklist、它与 Explainer 读者待办清单的区别,并写明状态是作者声明、源码引用只证明文件和行存在。citationGroups()复用节点证据的校验循环,源码链接直接复用上述sourceLink(),未另写一套;未发现其他值得删减的地方。source-required的修复建议补充了任务证据说明。meta.repository)会让validate、render和deliver失败并给出仓库证据诊断;自定义模板缺少占位符时会明确报错。测试
对比基线
500d4a65(dev),候选提交6979ce89。由智能体在本地运行(环境:macOS arm64,官方 Node 22.23.2 / zlib 1.3.1-e00f703,Chrome for Testing 156.0.8078.47):test/passport-task-checklist.test.mjs:覆盖五种图上的 Schema 规则、SVG 之外的 JSON 块与zh-CN界面文案,以及任务证据的校验与失败路径(缺文件、缺meta.repository)。test/passport-task-checklist-browser.test.mjs(真实浏览器):验证折叠的计数行、点击展开和 Enter 收起、状态标记的无障碍名称、已验证的源码链接,以及规范 SVG 不含任务内容;同时验证底部节点的长清单在图区内滚动,且聚焦下一个节点时自动恢复折叠。另有一个按审查意见补充的 320×300 测试:同一节点同时带返回上层链接、接近上限的 explanation 和 12 条带链接的任务,验证键盘能逐个到达任务链接且自动滚入视野、展开收起、说明面板的返回、护照的关闭、关闭后返回上层按钮可点,以及重新聚焦或切换节点后从折叠开始。test/reader-text-contrast.test.mjs:增加一条接线断言。repository-evidence的用例覆盖。“只有任务证据、没写meta.repository”这条边界和浅色覆盖的接线断言均做过故障注入:撤掉对应改动后,测试如期失败。npm run test:full(在6979ce89上,未设置ARCHIFY_CHROME):通过。68 项生成物检查通过;3,661 个测试中 3,526 个通过、0 个失败、135 个跳过(其中 122 个需要真实浏览器)。678d21d6上,之后只合并了上游的检查器修复和重建的archify.zip):单独运行test/passport-task-checklist-browser.test.mjs,2 个测试均通过。完整的浏览器门禁和npm run test:webm交给 CI。9786a5b7上的结果,之后没有改动渲染代码和生成页面):设置ARCHIFY_MCO_REPO_ROOT(mco-org/mco@9f1a1cf1)运行test/real-repository-proof.test.mjs,3/3 通过。archify finalize(在6979ce89上;使用一张带三条任务、证据已验证的图):validate、deliver、check和browser-check全部通过,回执中的evidence.references为 2。archify check:61 个通过;experiments/mco-showcase/mco-runtime.html的 showcase 版式检查未通过,上游dev上的同一页面结果相同。output-path.test.mjs复制archify/时与并行的release-package-gates.test.mjs争用临时文件,报ENOENT;单独重跑和第二次全量运行均通过。task_checklist需要显式添加,新增的 Skill 段落只在用户要求展示实现进度时才适用,默认生成行为不变。视觉证据
archify/examples/web-app.architecture.json的users节点上加三条任务(已实现和待复核任务带已验证证据,另有一条待实现),聚焦并展开。4.54:1,四个深色预设下不低于5.27:1。复用的源码链接行号样式在经典浅色下为3.77:1,属原有问题,本 PR 未改。生成物
4f2a9bcd):archify/assets/template.html和archify/renderers/shared/generated-validators.mjs。9786a5b7,从最终源码重建了 66 个文件):examples/ai-agent-n8n.html及两个 MCO 页面;docs/gallery.html、清单和 16 个页面);examples/web-app.html(没有生成脚本,按模板派生,test/golden.mjs会检查);archify.zip。dev(500d4a65,fix(check): check the whole root svg, not just up to the first nested close #1031 的检查器修复)时,archify.zip是唯一冲突,已按规定工具链从合并后的源码重建(逐字节可复现),其中也包含本轮SKILL.md的措辞。artifactSha256,GIF 没有重录,做法同3b5b16c0。docs/guide.html、docs/start.html重建后无变化。其余内嵌 Viewer 的历史快照(docs/cases/下 6 个、examples/下 4 个)保留在原来的版本,同 feat(viewer): authored node explanations in the semantic passport #398 和 fix(viewer): meet the 4.5:1 contrast floor for reader text in light presets #1055 的做法。