用途:在 prune sweep、批量条目编辑或重构后,生成一个交互式 HTML 预览页,让维护者逐行审阅条目的保留/移除/新增裁决,再据反馈执行变更。
主要能力:每行一个条目,显示种子裁决与理由;提供 Keep/Drop 按钮(新增候选用 Add/Drop),以及维护者理由输入框;Copy feedback 按钮只导出有改动或已批注的行,格式为 JSON。只有维护者明确同意后,条目变更才写入 README.md。
使用方式:构建 DATA 数组,组为 [section, subcategory, rows],行为 [entry, url, downloads, verdict, reason]。subcategory 可在 — 后附注,用于提议拆分或迁移等需整组权衡的信息。downloads 用 PyPI 上月下载量的逗号格式字符串,无信号用 —,标准库用 stdlib,查询失败用 fetch failed,并在副标题写明抓取日期。verdict 取 keep、drop 或 add。替换条目拆成两行:旧条目 drop,新条目 add。
复制同级 template.html,替换 TITLE、SUB、KEY、DATA 占位符。KEY 必须每次评审唯一,如 slug 加日期,避免旧状态串入。页面写到仓库根目录 tmp/awesome-python-<slug>-preview.html(git 忽略),打开后告知维护者路径与返回路径:翻转或批注行会变黄,点 Copy feedback 后把 JSON 粘贴回对话。
处理反馈:每行 JSON 为 {section, subcategory, entry, my_verdict, your_verdict, reason}。种子为 add 时 your_verdict 为 drop 表示不加入。维护者裁决为最终结果,直接应用。理由为空即裁决无需解释。执行前应把翻转所隐含但尚未决定的事项(超出上限的用例、被拆分后无归属的条目、已满足的请求)提出询问,获同意后再执行;每行要么应用要么反馈询问,不得静默丢弃。