LLM Wiki 完整 lint 记录:OneDrive / FileProvider 状态(2026-05-11)
- 来源: 本机命令行 lint
- 日期: 2026-05-11
- 类型: maintenance / lint report
- 涉及公司: 全库
- 涉及主题: LLM Wiki 维护、OneDrive FileProvider、Markdown 链接校验
- 一句话摘要: 本次完整 lint 已跑完;当前 0 errors,但仍有大量 OneDrive
dataless占位文件被跳过,因此结果代表“可读取部分通过”,不是全库完全无警告。
运行命令
python3 skills/investment-llm-wiki/scripts/lint_investment_wiki.py investment-llm-wiki结果摘要
- 结论行:
Lint complete: 0 error(s), 202 warning(s) - ERROR 数量: 0
- WARN 数量: 202
- 其中 OneDrive / FileProvider / dataless 相关 WARN: 197
- 其他 WARN: 5
- 原始日志:
tmp/tests/llm_wiki_lint_full_2026-05-11_0802.log
解释
这次 lint 已能完整执行到结束,不再被 OSError: [Errno 11] Resource deadlock avoided 中断。
但 macOS OneDrive FileProvider 仍有不少 .md 文件处于 dataless 占位状态,lint 对这些文件输出 WARN 并跳过读取,所以不能把本次结果理解为“全库所有文件都已读取校验”。
后续处理规则
- 对
index.md/log.md等可再生元文件:若再次被 OneDrive 占位锁住,可在同一目录改名为.onedrive-placeholder后重建。 - 对 source / calls / reports 等不可再生资料:不要覆盖或删除占位文件;需先通过 Finder / OneDrive 选择“始终保留在此设备上”或从 OneDrive 网页恢复后再校验。
- 后续交付时,如果 lint 输出
0 errors但有 FileProvider WARN,应明确说明“可读取部分 0 errors;占位文件未完整校验”。
非 FileProvider WARN 样例
- WARN: sources/calls/晶泰控股/2025-03-28_晶泰控股_2024年度业绩会议_Gangtise摘要.md: source 元信息缺字段 [‘来源’, ‘日期’, ‘类型’, ‘涉及公司’, ‘涉及主题’, ‘一句话摘要’]。
- WARN: sources/calls/晶泰控股/2026-03-25_晶泰控股_2025年度业绩发布会_Gangtise摘要.md: source 元信息缺字段 [‘来源’, ‘日期’, ‘类型’, ‘涉及公司’, ‘涉及主题’, ‘一句话摘要’]。
- WARN: sources/filings/晶泰控股/2026-05-11_晶泰控股_官方披露资料索引与摘录.md: source 元信息缺字段 [‘来源’, ‘日期’, ‘类型’, ‘涉及公司’, ‘涉及主题’, ‘一句话摘要’]。
- WARN: sources/market-data/2026-05-11_晶泰控股_行情与估值快照.md: source 元信息缺字段 [‘来源’, ‘日期’, ‘类型’, ‘涉及公司’, ‘涉及主题’, ‘一句话摘要’]。
- WARN: sources/research-reports/晶泰控股/2026-05-11_晶泰控股_Gangtise研报与纪要线索.md: source 元信息缺字段 [‘来源’, ‘日期’, ‘类型’, ‘涉及公司’, ‘涉及主题’, ‘一句话摘要’]。
ERROR 明细
- 无
复跑:补齐晶泰控股 source 元信息后
补齐 5 个晶泰控股 source 文件的标准元信息字段后,重新运行完整 lint:
- 结论行:
Lint complete: 0 error(s), 197 warning(s) - ERROR 数量: 0
- WARN 数量: 197
- 其中 OneDrive / FileProvider / dataless 相关 WARN: 197
- 非 FileProvider WARN: 0
- 原始日志:
tmp/tests/llm_wiki_lint_full_2026-05-11_after_source_meta.log
结论:晶泰控股新增文件自身已无 lint blocker;剩余 warning 全部来自 OneDrive/FileProvider 占位文件。
复跑:批量物化 OneDrive 占位文件后
使用 open -g <file> 逐个触发 OneDrive/FileProvider 下载并等待命令行可读后,原先 197 个 dataless / EDEADLK 占位文件均已变为可读状态。随后重新运行完整 lint:
- 结论行:
Lint complete: 0 error(s), 0 warning(s) - ERROR 数量: 0
- WARN 数量: 0
- 原始日志:
tmp/tests/llm_wiki_lint_after_materialize_2026-05-11.log - 物化脚本:
tmp/tests/materialize_llm_wiki_placeholders.py - 占位文件清单:
tmp/tests/llm_wiki_fileprovider_warning_paths_2026-05-11.txt
补充校验:对原 197 个 warning 路径重新 stat 和 read_text,当前 dataless=0、unread=0。
结论:本轮剩余问题已清除,当前 LLM Wiki 完整 lint 为全量 clean。
复盘纠正:批量 open -g 不是推荐方法
本次为清除 OneDrive/FileProvider dataless 占位文件曾使用批量 open -g <file> 触发物化。该方法虽然让 lint 最终变为 clean,但会打开大量 GUI 文档/窗口,副作用过大,不应作为推荐操作流程。
后续规则:
- 不再批量使用
open、TextEdit、Preview、Typora、Obsidian、Quick Look 等 GUI 应用强制物化。 - 对大量占位文件,应优先保留 lint WARN 并说明“未物化文件未完整校验”,或由用户在 OneDrive/Finder 中对目录执行“始终保留在此设备上”。
- 若必须对单个文件用 GUI 打开作为最后手段,必须立即关闭对应窗口,并用
lsof验证没有遗留 wiki 文件句柄。
目录级 Finder/OneDrive 操作记录
按用户要求,本次改用 Finder 对 investment-llm-wiki 目录本身执行右键菜单“始终保留在此设备上”,不再批量打开内部文件。操作后复查:
fileproviderctl evaluate显示目录isDownloaded=1、isMostRecentVersionDownloaded=1、isRecursivelyDownloaded=1,但isKeepDownloaded=0;Finder 图标仍显示云/下载样式,说明 OneDrive 的显示/内部 pin 状态可能没有立刻反映为isKeepDownloaded=1。- 完整 lint 复跑:
Lint complete: 0 error(s), 0 warning(s)。 - 原始日志:
tmp/tests/llm_wiki_lint_after_dir_keep_2026-05-11.log
注意:目录级“始终保留在此设备上”应通过 Finder/OneDrive 菜单执行;不要用批量打开文件方式替代。