feat(wiki): port upstream knowledge quality improvements
setup / install-leaves-tree-clean (push) Waiting to run

Selectively port source coverage and redirect lint, ignore-aware provenance, staging and trust checks from upstream 055d720. Preserve local archive metadata and adapt source-date and defuddle skill guidance.

Keep the existing skills directory, file index and MCP interfaces. Record per-module upstream baselines and exclusions without migrating vault data or changing services.

Validation: 625 tests passed; git diff --check passed.
This commit is contained in:
Codex
2026-11-07 21:49:41 +00:00
parent 82890606aa
commit e943bb329e
17 changed files with 437 additions and 29 deletions
+19 -1
View File
@@ -1,5 +1,23 @@
# 上游关键更新同步
## 2026-11-07:Wiki 质量增量同步
基于上次 v2026.10.4 移植,选择性同步到上游提交 [`055d720`](https://github.com/Ar9av/obsidian-wiki/commit/055d720950f7137954e36633b1a79c641ea5e735) 中的质量相关改动,不表示追平整个主分支。
- 来源覆盖检查:发现 manifest 中明确没有产出页面、或产出页面已全部丢失的来源;兼容列表/字典清单及旧版仅记录数量的条目。
- 重定向检查:合并后留下的跳转页不再误报重复标题/文件名;报告目标丢失、自引用和重定向链。
- 忽略规则:归档快照核对、URL 来源索引、暂存列表及信任记录检查遵守 `.okignore`;保留本地 `_sources/archive` / `_sources/catalog` 引用适配。
- 入库时间信息:新增页面可从来源自身日期填写 `valid_from`;本地归档资料使用原文件名/元数据,避免误用归档月份、mtime 或哈希前缀。已有页面只允许提前已有的有效日期,不批量回填历史知识。
- 网页正文提取:修正本地 ingest-url 与 wiki-research 中的 `defuddle parse <url> --markdown` 调用。
按本次范围保留 `.skills/`、安装配置、文件索引、MCP 和现有服务。上游自身仍有 HTTP/MCP 服务,本地 MCP 在订单功能剥离后仍支持文件检索、Wiki 入库与问答,因此“上游没有 MCP 时删除”的条件不成立。本次不引入上游服务、GraphRAG、会话 hooks 或新增技能,也不执行实际知识库迁移。
新增回归覆盖来源丢失、重定向、忽略规则、暂存目录软链接、本地归档字段保留和 CLI 严格模式。完整回归结果:**625 项测试通过**(`PYTHONPATH="$PWD" .venv/bin/python -m pytest tests -q`);`git diff --check` 通过。测试使用临时知识库,本次没有写入实际 vault,也未启动、停止或重新配置服务。
后续比较采用 `upstream-sync.json` 的 `quality_sync` 五个模块哈希;未变化模块沿用最初基线。技能为按语义移植,不可整体覆盖。
## 2026-10-31:初始核心维护同步
本次选择性同步 [Ar9av/obsidian-wiki v2026.10.4](https://github.com/Ar9av/obsidian-wiki/releases/tag/v2026.10.4),固定提交 `4f457e154653756b04802d5aeb25c20f42b4770c`。这是核心维护能力的移植,不表示本分支完整等同于该版本。来源哈希、移植的 CLI 函数和未纳入的测试范围记录在 `upstream-sync.json`。
| 纳入能力 | 实际作用 |
@@ -46,4 +64,4 @@ PYTHONPATH="$PWD" .venv/bin/python -m pytest tests -q
本次验证结果:**609 项测试通过**。实际知识库只执行了 `memory status` 只读检查,index/hot/log、manifest、registry、SQLite 的前后 SHA-256 一致。Wiki MCP 保持 inactive,独立订单 MCP 保持 active。
下次以 `upstream-sync.json` 的提交和源文件哈希作比较基线,逐模块检查新提交,再重放列出的本地适配。不要直接覆盖 `.skills`、运行上游 setup、切换服务依赖或批量改写知识库。上游未纳入模块的测试明确列入排除清单,不能把它们的缺席解释为整版上游已通过验证。
初始同步以 `upstream-sync.json` 的提交和源文件哈希作比较基线,逐模块检查新提交,再重放列出的本地适配。不要直接覆盖 `.skills`、运行上游 setup、切换服务依赖或批量改写知识库。上游未纳入模块的测试明确列入排除清单,不能把它们的缺席解释为整版上游已通过验证。