diff --git a/.gitignore b/.gitignore index a6b02ba..f9819bc 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ __pycache__/ .pytest_cache/ .mypy_cache/ .ruff_cache/ +.claude/scratch/ dist/ build/ *.egg-info/ diff --git a/AGENTS.md b/AGENTS.md index 87cc33e..d16471f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,9 +1,9 @@ # AGENTS.md > [!IMPORTANT] -> **当前是文档治理基础阶段,不是已实现的清洗工具。** +> **当前阶段与已实现范围只以根目录 `README.md` 为准。** > -> 1. 本仓库研究政务文档 PDF→Markdown 清洗问题;当前没有可运行实现。 +> 1. 本仓库是实验室共用的 Markdown 清洗研究与基础工具库;已有实现不等于完整清洗工具或生产能力。 > 2. 真实文档和外部数据默认只读,不修改、不复制、不提交。 > 3. 面向用户的说明使用简体中文;代码、命令、路径和标识符使用英文。 > 4. `AGENTS.md` 与 `CLAUDE.md` 是同步镜像,除第一行标题外正文必须一致。 @@ -28,11 +28,12 @@ ## 1. 项目定位与当前阶段 -`mdpolish` 是独立的清洗算法研究与治理仓库。它用于理解 PDF→Markdown 噪音、定义清洗边界、 -比较候选方案并积累可复核证据。 +`mdpolish` 是实验室共用的 Markdown 清洗研究与基础工具库。它用于理解 PDF、DOCX、OCR、网页等上游管线 +生成的 Markdown 噪音,定义清洗边界,比较候选方案并积累可复核证据。 -当前只建立文档治理基础。源码目录、测试目录、依赖配置、命令行接口、规则格式和评估体系均未获批准、 -也未实现。不得因为 README 中描述了目标,就把目标写成已经存在的能力。 +当前阶段、已经完成的工作和实际能力边界只查阅根目录 `README.md`,不在本文件维护第二份进度清单。 +源码目录、测试目录、依赖配置、命令行接口、规则格式和评估体系都必须先经对应 design 批准后才能建立或改变; +已经存在某个核心接口或单项组件,不表示完整规则集、文件适配、CLI、profile 或生产接口已经实现。 本仓库的研究结论不会自动成为其他仓库的生产契约。跨仓落地必须在目标仓库重新评审并获得授权。 @@ -127,4 +128,3 @@ design 草稿可以在评审中修改;批准后冻结。决策发生变化时 - 能在授权范围内安全判断的事项直接完成;会改变范围或契约的选择交给用户; - 进度和最终报告必须对应真实工具输出,不把计划描述成结果; - 不输出内部思维链,只提供可复核的依据、实际变更和验证结果。 - diff --git a/CLAUDE.md b/CLAUDE.md index b1a69d4..49d5e3c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,9 +1,9 @@ # CLAUDE.md > [!IMPORTANT] -> **当前是文档治理基础阶段,不是已实现的清洗工具。** +> **当前阶段与已实现范围只以根目录 `README.md` 为准。** > -> 1. 本仓库研究政务文档 PDF→Markdown 清洗问题;当前没有可运行实现。 +> 1. 本仓库是实验室共用的 Markdown 清洗研究与基础工具库;已有实现不等于完整清洗工具或生产能力。 > 2. 真实文档和外部数据默认只读,不修改、不复制、不提交。 > 3. 面向用户的说明使用简体中文;代码、命令、路径和标识符使用英文。 > 4. `AGENTS.md` 与 `CLAUDE.md` 是同步镜像,除第一行标题外正文必须一致。 @@ -28,11 +28,12 @@ ## 1. 项目定位与当前阶段 -`mdpolish` 是独立的清洗算法研究与治理仓库。它用于理解 PDF→Markdown 噪音、定义清洗边界、 -比较候选方案并积累可复核证据。 +`mdpolish` 是实验室共用的 Markdown 清洗研究与基础工具库。它用于理解 PDF、DOCX、OCR、网页等上游管线 +生成的 Markdown 噪音,定义清洗边界,比较候选方案并积累可复核证据。 -当前只建立文档治理基础。源码目录、测试目录、依赖配置、命令行接口、规则格式和评估体系均未获批准、 -也未实现。不得因为 README 中描述了目标,就把目标写成已经存在的能力。 +当前阶段、已经完成的工作和实际能力边界只查阅根目录 `README.md`,不在本文件维护第二份进度清单。 +源码目录、测试目录、依赖配置、命令行接口、规则格式和评估体系都必须先经对应 design 批准后才能建立或改变; +已经存在某个核心接口或单项组件,不表示完整规则集、文件适配、CLI、profile 或生产接口已经实现。 本仓库的研究结论不会自动成为其他仓库的生产契约。跨仓落地必须在目标仓库重新评审并获得授权。 @@ -127,4 +128,3 @@ design 草稿可以在评审中修改;批准后冻结。决策发生变化时 - 能在授权范围内安全判断的事项直接完成;会改变范围或契约的选择交给用户; - 进度和最终报告必须对应真实工具输出,不把计划描述成结果; - 不输出内部思维链,只提供可复核的依据、实际变更和验证结果。 - diff --git a/README.md b/README.md index b9af324..e337ecf 100644 --- a/README.md +++ b/README.md @@ -12,41 +12,16 @@ profile 表达论文、政务文档、RAG、文档对比等不同需求。 ## 当前阶段 -2026-08-20 已完成仓库重置与最小文档治理骨架: +项目当前已经进入第一版可执行核心和真实组件验证阶段: -- 原有 Python 实现、YAML 规则、测试和打包配置已经移除; -- `AGENTS.md` 与 `CLAUDE.md` 提供同步的协作规则; -- `research-wiki/` 按文档生命周期区分设计、说明、参考、指南和草稿; -- `research-wiki/design/0001-repository-foundation.md` 记录本次基础架构选择。 -- `research-wiki/reference/GOVDOC_SAAS_CLEANING_SCOPE.md` 保存 45 份外部测试 Markdown 的只读问题审计; -- `research-wiki/scratch/markdown-cleaning-ecosystem-research-2026-08-20.md` 完成首轮生态与架构调研。 -- 2026-08-21 完成师姐项目(ClinDB-ReviewBench)5 份论文 Markdown 的问题审计 - (`research-wiki/scratch/data-5papers-cleaning-audit-2026-08-21.md`),并确定其第一版清洗范围 - (`research-wiki/reference/CLINDB_REVIEWBENCH_CLEANING_SCOPE.md`,8 类自动清洗候选)。 -- 2026-08-21 明确本项目定位为实验室共用库;GovDoc 和论文清洗都是使用场景,不是核心边界。 -- 2026-08-21 批准并冻结 `research-wiki/design/0002-composable-cleaning-pipeline.md`,确定只接收 Markdown、 - 项目显式组装组件、单轮修改加最终只读复查的总体组织方式。 -- 2026-08-22 批准并冻结 `research-wiki/design/0003-first-executable-core-architecture.md`,确定第一版只建设 - Python 内存自动清洗核心:组件只提出确定可执行的精确修改,不同时建设独立检查、人工建议或真实清洗规则。 -- 2026-08-22 按 `0003` 实现第一版内存核心和测试:包括不可变数据契约、组件基类、原子修改执行器、 - 顺序流水线和最终稳定性复查;58 项测试以及 Ruff、mypy 检查均通过。 -- 2026-08-22 批准并实现 `research-wiki/design/0004-arxiv-submission-stamp-component.md`:新增严格整行匹配的 - arXiv 提交边栏戳删除组件;5 份论文只读复核只命中 sim 和 springer 各一处,两处合法参考文献保持不变, - 第二次运行零修改,源文件没有变化。 -- 2026-08-21 完成 HTML 表格清洗专题调研 - (`research-wiki/scratch/html-table-cleaning-ecosystem-research-2026-08-21.md`):核实 Pandoc 表格 - 方言能力边界、Turndown 不处理合并单元格、Docling Markdown 导出重复合并单元格内容、MinerU 全 - HTML 输出,印证审计 T001 的分流方向。 -- 2026-08-21 完成 45 份测试 Markdown 中 HTML 表格的只读结构分析 - (`research-wiki/scratch/html-table-real-data-analysis-2026-08-21.md`):剔除空 `