- 状态:v0.2.0 维护基线;五项近期路线图完成,现有私人 Docker 实例已升级;常规功能开发暂停
- 最近更新:2026-09-05(五项完成,进入维护与使用阶段)
- 当前阶段:常规功能开发暂停;按维护交接完成有限收尾及后续使用支持
- 对应需求:当前产品需求
- 工程方案:开发大纲
- 当前实现与未完成项:当前项目状态与实现清单
M1C 已经证明来源证据、人工审核、正式知识和确定性搜索可以完整运行。直接使用表明,下一步 不应继续要求每个短 Fragment 先成为正式知识,而应按 ADR 0007 形成更轻的主线: “原始资料 → 结构化 InformationEntry → 内容/类型/领域关键词 → 文档标签 → 选择性关联 → 结构、文本和关系搜索”,再按需深化为版本化正式知识。
日报、QQbot 和公共外部 API 仍是后续交互层;单用户容器运行与维护工具已经实现,私人云端运行由所有者确认。知识树、时间线和混合在线问答按具体搜索与维护任务逐项选择。
开发遵循可运行核心与比例门禁:只有当前受支持产品路径上的材料性逻辑、数据或权限问题可以阻断主线。测试框架自证、不可达边缘情况、未来部署强化和没有实测影响的性能优化进入延期强化备忘,不得触发反复返工。
真实资料、偏好、Blob、数据库、导出和备份继续只存在于所有者选择的外部数据位置。公开仓库、源码发行、容器镜像和自动化测试保持无个人数据;测试只使用合成 fixture。所有者已经完成首轮外部真实数据使用审核并授权 v0.1.0,但这不授权把该数据加入 Git 或镜像。
| 范围 | 状态 | 说明 |
|---|---|---|
| Evidence/Blob 与文档导入 | 已实现 | 手工/固定 Git Markdown;单份或显式最多 20 份本地 .md/.markdown/.txt/.html/.htm/.pdf;原始 Blob、文本投影、不可变 Snapshot、结构与精确 Fragment |
| InformationEntry | 已实现 | 确定性/人工/AI 首次物化、当前成品态、三维标签、两项评分、文档标签、隐私和来源 |
| Entry 联系 | 已实现 | 确定性投影、分项解释、外部版本化权重和逐对人工 override |
| Entry 查询 | 已实现 | 标题/正文/标签的精确、包含和近似词法匹配,可见分数、组合筛选、绑定分页、查询页关联联想、双条比较及显式隐私范围内的独立完整文档结果 |
| 完整个人数据包 | 已实现 | 66 表、引用 Blob 字节、偏好、Entry v5、Association v5 与 Processing v10 |
| Codex 批量 Snapshot→Entry | 已实现 | 最多 500 Snapshot / 50,000 计划 Entry;逐 Snapshot 原子分片、ProcessingRun 尝试、暂停/恢复/重试和脱敏报告 |
| Codex 批量标签与增量联系 | 已实现 | 成功 P0A 批次接续内容关键词、字段感知类型/主次领域分类、typed 诊断、外部个人规则、只触及本批 Entry 的联系投影、有限窗口恢复/重试和脱敏报告 |
| Codex 批量异常复核 | 已实现 | 当前/过期 revision 分组、稳定无正文抽样、精确数量保护的 accepted/manual-review/deferred 状态转换和显式回退 |
| Disposable PostgreSQL 基准 | 已实现 | 500 Snapshot / 15,000 Entry 合成完整链、28 迁移重放、P0A/P0B 故障恢复、P0C stale guard、持久化计数与资源清理;记录结果约 15 分 20 秒 |
| Codex 外部批次审阅与回写 | 已实现 | 当前 pending 异常的 1–20 项稳定工作包、默认无效结果模板、显式隐私范围、closed result、幂等标签 revision、exact 裁决与增量联系 |
| 统一批量推进 | 已实现 | pipeline-start/advance/status 严格按 P0A→P0B→P0C 推进有界窗口,并返回 advance/wait/export-review/none 下一动作 |
| 旧 Curation/Knowledge 运行时 | 已退役 | 迁移和数据兼容保留,活动代码/HTTP/Web 已删除 |
| 正式知识页面 | 已实现 | 最高匹配中心、有界图/列表、关系语义/说明/来源核验、用户编辑、隐私范围与 selected-pair AI 联系提案 |
| ProcessingRun / AI 提案 | 已实现 | 中性任务状态、取消;OpenAI split/tags/selected-pair association 的启动、列表、接受与拒绝 |
| 版本化 Git 信源订阅 | 已实现 | 精确公开 GitHub Markdown 文件、手动/默认关闭定时检查、变化游标,以及默认关闭的“变化后确定性拆分并分流”串联 |
| AI 综合查询 | 已实现 | 用户显式综合当前公开确定性查询的前 8 条证据;claim 映射本地精确来源,不含私密外发、检索接管或持久化答案 |
| Entry 探索候选 | 已实现 | 用户从当前结果显式启动;按外部版本化策略从可见直接联系生成页外候选,不改变普通查询排序 |
| 外部信源订阅 | 已实现 | GitHub Markdown、公开 RSS/Atom、声明式 JSON API、受限同源网页及已安装插件 connector 已接通;共享 Registry、remote_document Evidence、能力发现与外部配置引用已实现 |
| 分词、向量与 RAG | 已实现 | 可重建三字段词项索引、可选公共向量、词法/语义/混合召回、Recall@K/MRR 与带精确来源的公开证据 RAG |
| 其他 AI / 第二 Provider | 未实现 | 私密内容外发、自动接受、Provider 自主检索和第二 Provider 尚未实现 |
| 私人容器/生产发布 | 已上线 | v0.1.0 为历史公开发行;现有本机 Docker 已升级至 v0.2.0 并完成真实空库恢复演练。当前范围与维护限制见维护交接,实例身份和实际运维记录保持外部 |
首版主线已完成并发布。M2-P0A–P0C 建立无 Provider、由 Codex 直接操作的可恢复 Snapshot→Entry、确定性标签、增量联系和异常复核底座;P0D 已在 disposable PostgreSQL 18.6 中用 500 个合成 Snapshot / 15,000 Entry 跑通迁移、Blob/Evidence、两次受控故障恢复、裁决和精确计数,记录耗时约 15 分 20 秒。P0E/P0F 又把疑难内容转为外部稳定批次工作包和闭合幂等回写,P0G 提供有限窗口统一推进。首次真实规模使用随后暴露并由 M2-P1A–D 关闭备份预算、407 份文档完整分页、空类型/领域分类及公开词法候选筛选四项缺口。M2-P2A–D 已进一步完成可统计诊断、字段感知分类、有限主次领域和外部个人分类规则;真实 refresh 随后确定了异常分布,P2E 完成批量复核,P2F 为最大缺类型类别提供可见覆盖与纠错工作台。升级后仍需操作方显式执行迁移、备份、enrichment refresh 和索引重建;真实延迟、分类质量与备份结果不能由合成测试代替。
M1E-3B、M1E-3C 和 M1E-3D 已依次完成单个公开 Entry 标签提案、用户明确选择的公开 Entry 对联系提案,以及用户明确选择的公开 Snapshot 拆分提案。三者都只创建 typed proposal,只有人工接受才调用现有 Entry/图谱命令;私密内容在网络前拒绝。
M1E-4A/4B 已补齐无 Provider 的人工首次拆分;M1E-5A/5B 又把本地 Markdown、纯文本、HTML 或带文字层 PDF 接入相同 Blob → Snapshot → Fragment → Split 主链。M1F-1/2/3 完成可解释词法查询、查询内联想/比较与公开证据综合。M1G-1–5 建立探索、精确信源订阅、外部偏好规则、独立自动化权力、可恢复路由与所有者队列;M1H 完成确定性推进动作、结构纠错、拆分前派生全文、版本化拆分规则和显式多文件队列;M1I/M1J 完成订阅连接器和正式知识深化;M1K 完成可替换词项/向量索引、混合召回评估与公开证据 RAG;M1L 建立可重复合成性能基准并优化实测到的关联遍历与重复读取;M1M 已补齐容器、外部秘密、维护命令、备份恢复、运行权限和升级手册。第二 Provider、自动接受和私密外发仍后置。
上线前顺序已经完成:RSS/API/网页订阅与插件兼容采集、正式知识深化、分词/向量/RAG、性能评估优化,以及容器/维护/生产收口均已落地。M2 只针对已确认的高吞吐入库瓶颈继续扩展,不重开首版合同验收循环。
M2-P5A–D 已完成生产收口:分别固定发行/开发/运行身份,补齐备份盘点与只读校验,增加可外部调度的运行健康/容量/备份年龄告警,并把 disposable PostgreSQL 18 合成回归贯穿到查询与知识读取。它们都不声称当前云端已经运行全部 M2 增量,也不把域名、凭据、数据根、镜像摘要、备份清单或恢复演练记录写入 Git。本轮按所有者要求完成代码盘点并确定下节的开发优先级。先收口当前工作树候选,再降低索引维护、重复查询和来源复核的成本;真实资料操作与私人实例升级仍是独立选择。
所有者本轮要求阅读代码、整理能力边界,并确认按“代码缺口和使用价值”排序。
当前实现证据与工作树状态见项目状态的代码核对。
以下顺序按代码缺口和使用价值确定。所有者随后依次选择第 1、2 项,现已完成本地候选收口和可恢复增量索引维护,并通过集成审查纳入本次提交;第 3–5 项随后由所有者明确选择并实现,见下节;它们已随 bc4c7c2 完成联合审查并提交。本轮未发布或部署,也未调用真实 Provider、操作真实数据或升级云端。
新增持久状态、外发范围和写权限仍应在对应切片启动时由窄 ADR 固定。
| 顺序 | 开发项 | 代码证据与使用价值 | 交付终点 |
|---|---|---|---|
| 1,已完成 | 当前交互与读取性能候选收口 | 工作树已有空查询分页、索引聚合统计、局部关系读取和图谱交互改动;历史全量浏览曾达到 10–14 秒,需要验证现有修正 | 形成身份明确、功能与合成性能证据完整的候选,保留既有查询和隐私语义 |
| 2,已完成 | 可恢复的增量索引维护 | InformationEntryRetrievalService.search() 要求全部公开投影当前有效,rebuild() 每次读取全量并重新生成向量;日常编辑会增加重建成本 |
显式更新变化项、有限窗口继续、失败可重试;没有模型时词法索引与搜索仍完整可用 |
| 3,已完成 | 保存查询与恢复查阅上下文 | 外部版本化命名查询保存条件与选中身份,重开时读取当前数据;来源/图谱可返回原查询 | 常用条件可命名保存、重新打开并回到当前条目/来源,减少重复设置 |
| 4,已完成 | 来源复核与关系维护队列 | 版本绑定的来源复核列表、双端原文与保存并继续已接通 | 集中找出待核对/需复核关系,逐条回看证据并保存决定,端点变化可识别 |
| 5,已完成 | 带引用的资料复用导出 | 显式选择最多 20 条,预览版本与引用,再生成外部 Markdown 文件 | 将显式选定的有限 Entry 清单导出为可读 Markdown,保留出处和来源/AI 区分 |
顺序表示价值优先级,不是新的联合验收门。 第 2 项复用现有检索协议;第 3、4 项可独立于向量维护开发,第 5 项可复用已保存查询但不以其为必需前置。 云端不可访问或旧正式 TM2 未签发,不阻塞这些本地产品开发。
第 1 项开始时的基线是 89d7c32a7f0d41066a1e018c2c269aa37523e9f4 加当时尚未提交的工作树改动。
第 1 项已核对并完成这些既有改动,补齐可达缺陷修复和合成验证。
范围对应:
loadCurrentEntryBrowsePage:空条件浏览先计数/选页,只读取本页及判断后页所需的 Entry;loadSearchIndexMetrics:状态只读聚合值,不装载全部正文、posting 和向量;loadAssociationSnapshotForEntries:联系/图谱按所选端点读取,保留 block、用户关系和隐私过滤;- 当前图谱交互、等价列表、来源操作和页面文案调整。
退出条件:
- 快路径与原查询的结果、总数、排序、游标和三种隐私范围一致,复杂条件仍沿完整路径返回结果;
- 图谱中心选择、人工/AI 来源、隐藏/恢复、双端精确来源和列表操作一致;
- 在相同合成工作负载下记录读取行数、请求耗时与峰值资源,证明分页/聚合/邻域路径实际生效;不拿历史耗时当作新结果,不设无依据的机器通用毫秒门槛;
- 按现有发行回归路径执行
corepack pnpm run verify、corepack pnpm run test:e2e和corepack pnpm run performance:m2-p0d -- --smoke;前端补齐规定五种宽度、键盘与运行错误检查。只有标准规模结论或新性能疑问需要时才运行--full; - 记录候选身份、实际通过项和未验证环境。提交、发布和私人实例升级是各自明确的后续操作。
**2026-09-05 收口通过:**完整 verify(1,017 项单元、4 项集成)、14 项浏览器回归和 PostgreSQL 18.6 合成 smoke 均通过。
读取对照覆盖 45 次分页、48 次图谱及 60 次复杂查询,三个快路径的 SQL 返回行数均减少;小样本浏览延迟基本不变,不作标准规模或云端性能推断。
图谱隐私切换/迟到响应、来源焦点/关闭/重试、200% 字号与运行编号问题已修正。
完整候选范围、复核和测量结果见收口记录。此处保留第 1 项的独立历史验证记录;第 2 项及集成提交见下一节。
ADR 0066 已实现用户显式启动的公开 Entry 增量刷新。 每次最多 32 项,数据库按当前 revision、tokenizer 和已配置模型选择变化项,复用有效输入与向量。 已提交投影作为恢复检查点,不新增 ProcessingRun、进度表或数据包部分;页面可本批后暂停、失败后重试或重新打开后继续。 每批提交核对当前版本、结构与隐私;派生内容损坏保留显式完整修复入口,不新增自动索引器或 Provider。
退出条件:
- 修改一个条目后,只刷新受影响投影;未变化内容不会因本次刷新再次发送给 Embedding Provider;
- 窗口中断后可以继续,重复请求无重复副作用,生成期间发生的 Entry 变更不会被标为当前有效;
- 新增、退役、模型变化及索引损坏都能明确选择增量或完整重建;
- 状态说明待处理量、失败和下一动作;索引未就绪时保留明确的词法路径,不把过期向量结果伪装为当前结果;
- 隐私内容始终不进入向量任务;恢复个人数据包后仍可重新构建全部派生索引;
- 合成验证记录实际选择、装载和刷新量及 Provider 输入数量,不把装载量当作数据库扫描行数;真实费用与召回质量只在之后获准的外部评测中确认。
**2026-09-05 实现与集成验证:**PostgreSQL 18.6 合成演练从无索引的 29 个公开 Entry 分 5 批恢复,重复请求装载/生成均为 0;单项编辑只处理 1 项,单独评分变更复用向量。失败重试、并发修订、隐私变更、退役、模型切换与完整修复均通过;刷新前后的查询、精确来源及浏览页/游标完整相等。集成审查修复人工关系保存失败后接受 AI 提案不刷新图谱的问题,完整 verify(1,026 项单元、4 项集成)及 17 项浏览器回归通过。完整结果见增量索引维护记录。以上为第一、二项集成时的记录;第三项见下节。
ADR 0067 已实现命名查询的保存、更新、重命名、删除和重新执行,以及从查询进入来源/图谱后返回原条件与选中位置的路径。 复用现有查询 schema,不保存分页 cursor、结果正文或 AI 答案来冒充当前结果。 个人视图存于外部版本化偏好并进入个人数据包,旧偏好默认没有保存项。 导航若需要地址,使用受当前工作区校验的身份;不把个人查询内容或隐私选择随意写入可传播 URL。
退出条件:
- 重启/重新打开后能恢复已命名的条件,并重新查询当前数据;
- 关联锚点退役、Entry 不存在或 Provider 不可用时有明确提示和可继续路径;
- 保存视图不授予未来隐私披露权限,重新打开涉及隐私的视图仍需当次显式选择;
- 双条比较继续遵守查询范围绑定与会话边界,不借保存查询隐式持久化比较正文;
- 有界数量、期望版本、兄弟偏好字段、旧包兼容和无 AI 行为均通过聚焦验证。
**2026-09-05 交付:**每工作区最多 20 个命名查询,独立集合 revision 防止旧写覆盖;只保存条件与可选 Entry 身份。旧文件/旧包补空,新包携带并在恢复失败时回滚。隐私范围每次重新打开都需明确选择,非首页条目单独读取,查询结果/游标不变。测试与设计复核见保存查询记录。以上为第 3 项交付时的记录;第 4 项见下节。
ADR 0068 已实现“知识 → 来源复核”:以现有 Entry 关系为单位,提供有界分页的 unreviewed / needs_review / source_checked 列表、双端原文、维护说明及保存后继续。
迁移 000031 为新记录绑定当时两端 Entry revision;版本变化和缺少绑定的旧核验记录显示需要复核。
Association Bundle v5 携带绑定,v1–v4 升级补空,不补造历史核验事实。
退出条件:
- 用户可从待复核列表打开两端精确证据、写维护说明、保存核验状态并继续下一项;
- 条目改变后能区分“曾经查看过来源”和“当前版本仍经核对”,不自动裁决事实真假;
- 人工决定保持 CAS 和显式权限,计算投影重建不覆盖关系维护记录;
- 隐私先于计数和分页,隐藏关系不会因复核列表而自动恢复;
- 不恢复旧 M1C Knowledge writer,不在同一增量建设复杂本体、通用 ConflictCase、自动事实核查或网络核验。
**2026-09-05 交付:**列表在计数和分页前过滤隐私、退役和隐藏关系;保存检查两端 Entry 与关系 override 版本,保持原关系语义、方向、来源和人工调整。投影重建保留维护决定,结构替换后的新关系需重新复核。实现、数据库及浏览器证据见来源复核交付记录。
ADR 0069 已实现“显式选定的有限条目 → 带来源的 Markdown 清单”。
查询页可按顺序收集最多 20 条,预览核对版本、范围与精确出处后显式生成并下载。
输出标题、必要摘录、当前 Entry/证据引用、来源时间和已有关系说明;不凭空生成缺失摘要或事实核验结论。
生成文件属于外部 exports/ 个人数据,普通备份格式继续承担完整恢复职责。
退出条件:
- 每项都能定位到导出时的条目版本和精确来源,AI 综合与原文摘录保持区分;
- 导出前范围、数量、隐私和所用版本可见,过期选择须重新读取或明确报错;
- 导出不修改 Entry、标签、图谱、处理状态或来源;无 Provider 也能完成;
- 不自动发送消息,不顺带加入定时日报、Webhook、QQbot 或公开分享权限。
**2026-09-05 交付:**生成在现有工作区锁内核对当前结构、隐私与 Entry 精确版本,重建预览并比较摘要;条目或关系变化需重新选择或预览。Markdown 区分当前正文与来源摘录,保留 Unicode 范围、时间、关系来源和复核状态,仅写外部文件;没有迁移、Provider 或领域写入。使用与验证见资料清单导出记录。
**2026-09-05 联合审查:**第 3–5 项与现有主链完成交叉检查,修复查询作用域、页码及偏好恢复并发问题。全仓 verify、完整 29 项 Chrome 回归和 PostgreSQL 18.6 合成 smoke 通过;本次无遗留提交阻断项,详见联合审查记录。
所有者已决定转入使用阶段。以下条目只在明确使用任务反复受阻、取得可复现证据且 所有者重新接受该边界后排期,不作为维护完成前的欠账。
| 候选 | 重新排入主线的具体依据 | 首个增量应收窄到 |
|---|---|---|
| 新一期/新文件发现 | 需要持续发现同一仓库的新文件,而当前 Git 订阅只监测一个固定路径 | 明确一个仓库/ref、路径匹配规则及有界发现游标;复用现有逐文档入库,不扩展为开放爬虫 |
| 大文件/持续上传、Office、OCR | 所有者的实际文档因 1 MiB、格式或文字层边界无法进入系统 | 先选一种文件类型或一个可恢复上传问题;保留原始字节与精确派生来源,不直接全局放宽预算 |
| 更高分类覆盖 | 现有 P2E/P2F 人工/Codex 流程出现明确成本或误判证据 | 先固定类型定义、代表性评测和复核效率;M2-P4R 继续冻结,只有另行授权和独立评测集才重开 |
| 集合/知识树/时间线 | 保存查询、现有图谱和引用式导出仍不能完成具体组织任务 | 选择一种组织视图,继续引用 Entry,不复制成第二套正文或恢复旧 Knowledge 模型 |
| 日报/外部接口/推送 | 已有稳定复用内容,且指定一个消费项目或消息渠道 | 先选只读出口;写授权、签名、幂等与投递失败再按实际接口定义 |
| 删除/保留/异地恢复 | 外部运维确认容量、保留义务或恢复目标需要 | 独立冻结删除范围、恢复点、保留规则和可恢复性;当前预览不自动升级为删除授权 |
| 更深 SQL/向量性能优化 | 当前合成或获准外部工作负载复现具体瓶颈 | 只优化可复现路径;不因模块较大就引入缓存集群、搜索服务或微服务重构 |
私人实例升级作为独立运维支线:指定目标和候选后,按现有手册完成外部备份验证、迁移/权限、索引重建、主线 smoke 与状态报告。 本地源码、包版本和测试通过都不能证明云端运行身份或恢复演练结果。 类型学习实验、真实 Provider 质量、长期运行与灾备证据继续分别记录,不能用一次合成 PASS 替代。
M1D 最初以兼容方式保留 M1C 数据,让普通文档条目无需先填写正式知识字段就能持久化、 标注、建立可解释关联并被找回。M1D 使用现有 PostgreSQL、Blob、Snapshot、Fragment、 隐私、HTTP 和 Web 外壳,不增加新的数据库产品、向量服务或 AI 前置条件。ADR 0009 随后 删除了已无调用方的 M1C 应用运行时,但继续保留历史迁移、外部数据和个人数据包兼容。
依赖顺序如下:
- M1D-0 基线重定向(已完成):冻结 M1C-USE-9;接受 ADR 0007 和 文档条目处理准则;明确 Fragment 是证据锚点、 Entry 是普通检索主单元、KnowledgeItem 是可选正式语义层。预计 1–2 个开发日;
- M1D-1 Entry 最小纵向切片(已完成):新增前向迁移
000008,从已有 Snapshot 幂等生成稳定 Entry/不可变修订,人工编辑内容、类型和领域关键词,通过现有本地 HTTP 与 Web 按正文/关键词查找并返回精确来源;默认排除隐私,显式扩大范围时才返回。六张 Entry 表、纯逻辑、PostgreSQL repository、本地 API、五工作区网页和聚焦行为测试已接通, 全仓质量门通过; - M1D-2 文档聚合(已完成):前向迁移
000009以 Snapshot 为 Document 身份保存 文档标签集、不可变修订和逐标签证据指标;确定性规则以全文命中频次为主、当前 Entry 关键词覆盖数为辅生成最多 32 个标签,人工编辑追加独立修订。现有 Entry 工作区提供 Document 导航条、聚合证据、完整文档入口、Document → Entry 筛选与 Entry → Document 返回;隐私文档仍需当次显式扩大范围,未引入 AI、向量或个人词表。收尾已对所选外部 工作区应用000008/000009,从 issue 398 生成 34 个 Entry 和首个文档标签修订;Bundle 新增独立struinfo.m1d-entry.v1分区,在一次一致读取/原子恢复中覆盖当前 45 张表,仍兼容 旧的单分区 36 表 Bundle; - M1D-3 选择性关联(已完成):前向迁移
000010保存版本化本地策略产生的 可重建投影,以及与投影独立的追加式人工 override。候选必须具有正文或内容关键词证据, 再分别计算内容、类型和领域分数;重建不会覆盖人工增强、削弱、屏蔽或恢复。现有本地 API/Web 已提供重建、分项解释、精确来源和人工控制,并在匹配前应用隐私范围。所选外部 工作区的 34 个 issue-398 Entry 确定性生成 7 个关联对,覆盖 6 个 Entry;桌面与窄屏浏览器 均完成实际重建。关联投影不等于人工核验的语义断言;ADR 0011 后续允许它作为可编辑的similarity图谱边;M1D-5 已把投影与人工 override 加入独立 Bundle 分区; - M1D-4 完整 Entry 搜索(已完成):同一无 AI 查询现在组合正文、精确内容/来源关键词、
Snapshot、类型与自定义类型、主/副领域与自定义领域、拆分方式、发布时间或采集时间、隐私
范围,以及最多两跳且可设最低分的关联邻域。结果逐条说明文本命中、结构过滤和关联路径,
使用绑定查询语义的排他游标稳定分页;隐私先于计数、候选、遍历、排序和分页。所选外部
工作区的 34 个 Entry 稳定分为 20/14 两页,重建 7 个关联投影后可返回 5 个最多两跳的
解释结果;20 次顺序公开搜索平均 17.23 ms。320/390/768/1024/1440 CSS 像素浏览器检查
通过,因此没有引入
pg_trgm、中文词项投影、查询下推或额外索引; - M1D-5 现有工作区转换与直接使用(已完成):Bundle v1 增加独立
struinfo.m1d-association.v1分区,和既有 36 表领域分区、9 表 Entry 分区组成 48 表原子 导出/恢复。用户显式选择其余九份 Snapshot 后,固定 398–407 期形成 345 个 Entry 并重建 598 个关联投影;没有 migration seed、后台写入或 Git 中的个人资料。5,281,365-byte、 10-Blob-reference、9,385-row Bundle 在可丢弃空数据库完整恢复,人工 override 两次追加 修订往返,非空目标重放安全拒绝且状态不变。固定语料没有私密文档,隐私边界继续由 默认/显式范围检查和既有 M1C-PRIVATE smoke 共同证明。 - M1D-UI-1 所有者工作台重构(已完成):不改变数据库或 HTTP 协议,把浏览器主线 收敛为“总览、导入、拆分、标签、联系、查询”六个页面。总览只展示外部工作区的真实 文档、Fragment、Entry、已标注 Entry 和文档标签统计,并把五阶段 AI 进度作为独立轨道; 没有 AI 运行数据时明确显示未启用或暂无任务,绝不伪造百分比。五个工作页分别承接来源 与 Bundle、结构生成与原文检查、内容/类型/领域三维标注、可解释候选与人工 override、 确定性组合检索与精确来源回看。联系策略权重现由外部个人配置提供版本化写入并可重建自动候选; 当时尚未实现的模糊搜索和 AI 任务流显示为未开放能力,不以假控件冒充完成;桌面、平板和 390 CSS 像素 移动宽度均保持自然滚动和可达操作。
M1D 的数据与所有者工作台基线已经完成。345 个 Entry 和 598 条投影现仅作为已归档的历史运行证据,不是活动工作区数据。它们触发的 M1E 图谱、任务和三类窄 AI 提案边界已经完成;后续增量继续只接受无数据直接使用暴露的产品缺口,或另行明确接受的窄边界。时间估算和未签发的未来认证都不是阻断条件。
直接使用已产生新的产品决定,见 ADR 0008。本增量按一条可运行纵向链交付:
- 用前向迁移 000011 把普通 Entry、Document 标签和关联控制从追加历史收敛为当前成品态;原始 Snapshot/Fragment 与正式 Knowledge 历史不变;
- 把五档有用/有趣评价、确定性标签候选、快捷标签、排除词和别名归一整合到“标签”页,删除当前工作流中的处理意图、判断原因和手工联系;
- 将外部 Bundle 升级为完整个人数据包,连同引用 Blob 字节和工作区偏好一起导出/恢复,同时继续读取旧 Bundle;
- 为 Entry 查询加入“不查看隐私 / 包含隐私 / 只看隐私”三个明确范围;
- 在“查询”后新增“正式知识”占位页,待所有者另行冻结其交互逻辑后再接线。
M1E-1 已实现并通过当前状态、个人数据包、隐私范围、标签偏好、API 和 Web 聚焦测试以及 全仓单元质量门。它不等待 AI、向量、正式 TM2、自证型测试强化或正式知识页的未定设计。
M1E-1 收尾修复已补齐 000011 关联 override 别名、旧 Curation 五档评分/有效分类词的一次性
兼容投影、标签页在外部偏好暂不可读时的会话内审核能力,以及页面级最新请求标识。拆分、标签、
联系和查询不再由一个 mode 大组件切换,各自只接入本页能力;迟到查询或文档读取不会覆盖更新的
结果。这些修复不恢复已删除的处理意图、判断原因或手工联系流程。
ADR 0009 完成代码收口:旧 Manual Curation、正式 Knowledge 写入/读取、旧 Knowledge 确定性搜索及其 PostgreSQL adapter、HTTP 路由、前端协议和样式已从活动应用删除。既有 迁移、历史表、旧数据与个人数据包分区仍保留,避免把代码清理误作用户数据删除;延期 TM2 材料只作为历史档案保存,不再属于日常质量门。
ADR 0010 已接受页面形态,ADR 0011 修订了边的进入规则:正式知识以现有 InformationEntry 为节点,确定性相似联系和用户关系共同构成可编辑图谱。相似边不需要逐条人工确认,用户可以 编辑、屏蔽/删除或恢复,且人工决定优先于后续重建。页面内的简单确定性搜索选择最高匹配 Entry 作为中心;主体展示该中心的有限直接邻域,可显式换中心或逐步展开。普通“查询”页继续负责 完整过滤、分页和结果比较。
M1E-2 按以下最小顺序实现,不恢复已删除的旧高级编辑器或隐藏 API:
- M1E-2A 页面与语义定义(已完成):接受 ADR 0010 的中心图形态和 ADR 0011 的边来源, 冻结 Entry 节点、自动相似边、用户关系、有限邻域、隐私前置、来源回看和列表/树替代视图;
- M1E-2B 图谱边组合与用户编辑(已完成):复用 AssociationProjection/override 作为自动
similarity边;前向迁移000012只增加用户关系来源、名称和方向,窄命令支持 edit/block/restore 和纯用户关系; - M1E-2C 中心图读取(已完成):复用确定性 Entry 匹配选择中心,组合自动边和用户关系,隐私过滤后读取最多 24 个直接邻居;重建更新自动分数但不覆盖用户元数据或 block;
- M1E-2D Web 与携带性(已完成):占位已替换为搜索、候选、图谱/列表和节点/关系详情,明确自动计算/用户编辑/用户创建来源,支持精确来源、三种隐私范围;Association Bundle v3 携带图谱元数据并兼容 v1/v2;
- M1E-2E 纵向验证(代码门已完成):纯逻辑、迁移、repository、HTTP service、客户端、Bundle 升级和 Web 页面均有聚焦测试;选定外部工作区的实际迁移与使用观察属于运行操作,不伪写成源码完成条件;
- M1E-2 直接使用增量(已完成):查询页在 Entry 结果之外返回完整隐私文档的独立通道,只有当次显式扩大隐私范围才读取外部 Blob 并允许打开全文;联系页可修改内容/类型/领域权重和阈值,使用期望修订保存到外部个人偏好,并立即重建自动候选,逐对人工 override 与正式图谱关系保持不变。完整个人数据包会携带该策略,旧偏好文件按默认修订读取。
第一版不渲染全库图,不引入图数据库、AI、Embedding、RAG、复杂本体或物理布局依赖。关系 标签属于外部工作区数据,不作为代码常量或迁移 seed。已按真实使用插入的隐私全文查询和联系 策略编辑不新增数据库迁移或依赖。M1E-4A/4B 已补齐既有 Fragment 与 Fragment 内 Unicode 标量边界上的人工首次结构编辑,M1H-2A/B 已补齐已物化结构的人工预览与原子重组,M1H-3A/B 已补齐拆分前唯一全文草稿与派生 Snapshot;剩余可插入缺口是来源重排、自定义规则和 Office/OCR/复杂版面还原等更多导入格式。容器/ Linux、正式 TM2 和发布许可继续后置,除非当前产品路径出现可复现阻断。
ADR 0012 将任务生命周期、产品提案语义和具体 Provider 分开;ADR 0013/0014/0015 在同一边界上依次加入三个最小 OpenAI 纵向链:
- M1E-3A1 决策与模型(已完成):
ProcessingRun记录稳定身份、五阶段位置、进度、状态、隐私范围和稳定错误码;ProcessingProposal只允许 split/tags/association 三类有界信封与精确 Fragment 输入; - M1E-3A2 持久化(已完成):前向迁移
000013新增三张 workspace-first 表,typed repository 支持幂等创建、闭合进度转换、提案追加、期望版本取消和最近任务读取; - M1E-3A3 公开产品边界(已完成):本地 API 公开最近任务列表与取消;总览从真实记录计算阶段和进度;
- M1E-3A4 携带性(已完成):个人数据包新增 Processing v1 分区;
- M1E-3B1 Provider(已完成):使用原生
fetch调用 OpenAI Responses API,不增加 SDK 依赖;OPENAI_API_KEY只在进程环境,STRUIINFO_OPENAI_MODEL来自外部配置; - M1E-3B2 闭合 tags payload(已完成):迁移
000014用三张类型化表保存一个公开 Entry 的内容/类型/领域标签提案; - M1E-3B3 产品边界(已完成):标签页/API 提供列表、显式启动、接受和拒绝;私密 Entry 不可启动,接受转换为既有
reviseEntry; - M1E-3B4 携带性(已完成):Processing section 升级为 v2;
- M1E-3C1 closed association payload(已完成):迁移
000015新增一张 typed payload 表,冻结两个 Entry 修订、当前 override 修订、模型、Prompt 版本、关系名和方向; - M1E-3C2 Provider(已完成):用户明确选择两个公开 Entry 后才发送该对当前内容与三维标签;任一端隐私时在 fetch 前拒绝;
- M1E-3C3 图谱接受边界(已完成):正式知识页/API 列表、启动、接受和拒绝;接受复用现有图谱 edge command/CAS 并标记
ai_assisted,拒绝不改图谱; - M1E-3C4 携带性(已完成):Processing section 升级为 v3,个人数据包覆盖 52 张表;旧 v1/v2 section 自动补为空 association proposal 状态;
- M1E-3D1 Provider(已完成):用户明确选择一个公开 Snapshot 后,Provider 只接收按结构顺序排列的 section Fragment 序号和正文;私密 Snapshot 在 Blob 读取和 fetch 前拒绝;
- M1E-3D2 closed split payload(已完成):迁移
000016用三张类型化表保存模型、Prompt/拆分规则版本以及完整连续覆盖的 Fragment 分组,不保存任意 Provider JSON; - M1E-3D3 人工应用边界(已完成):拆分页/API 提供列表、显式启动、逐组精确来源审阅、接受和拒绝;接受从本地 Fragment 重建正文,并复用既有空 Snapshot Entry 物化与 workspace lock;
- M1E-3D4 携带性(已完成):Processing section 升级为 v4,个人数据包覆盖 55 张表;旧 v1/v2/v3 section 自动补为空 split proposal 状态。
processing_runs 仍只表示任务读取/取消;ai_split、ai_tags 和 ai_associations 是三个独立窄 capability,通用 ai 不会因此解锁查询占位。审核延期不等于通过;当前只以合成、无个人含义 fixture 验证代码,活动工作区继续无数据。
- M1E-4A1 关闭分组模型(已完成):人工分组必须按来源顺序完整覆盖第一结构的全部 section Fragment;标题有界,正文只由服务端从精确 Fragment 重建;
- M1E-4A2 唯一提交边界(已完成):确定性、人工和 AI 接受都使用
materializeEntriesIfSnapshotEmpty,workspace lock 下只有第一套完整结构生效; - M1E-4A3 页面工作台(已完成):拆分页支持全文查看、逐 Fragment 预览、相邻合并、边界恢复、标题编辑、重置、全部合并及明确的隐私/加载/冲突状态;
- M1E-4A4 边界保持(已完成):不新增迁移、依赖、偏好或 Bundle section,不改 Snapshot/Fragment,也不重组已有 Entry。该切片当时尚未覆盖的 Fragment 内边界由后继 M1E-4B 实现;重排、全文源修改、自定义规则和结构迁移继续后置。
- M1E-4B1 精确区间模型(已完成):人工输入以相对不可变 Fragment 正文的半开 Unicode 标量区间表示,完整分割全部 section Fragment,拒绝缺口、重叠和重排;
- M1E-4B2 持久化与携带(已完成):迁移
000017新增可选一对一 range 子表;Entry Bundle 升级为 v3/8 表,个人数据包覆盖 56 张表,旧 Entry v1/v2 补空区间表; - M1E-4B3 产品接线(已完成):本地 API 只接收标题/Fragment ID/标量区间并从本地证据重建正文;拆分页提供只读来源段、鼠标/键盘光标和明确的“在光标处分开”;
- M1E-4B4 边界保持(已完成):继续复用空 Snapshot 原子赢家,不改证据、不引入 Provider/依赖/真实资料,也不迁移已物化 Entry。全文保存修改、来源重排、自定义规则和结构迁移继续后置。
- M1E-5A1 本地选择边界(已完成):导入页可选择或拖入单份
.md、.markdown、.txt,在浏览器侧先检查基础文件名、严格 UTF-8、空文本/NUL 和现有 1 MiB 上限; - M1E-5A2 原始字节与身份(已完成):无前置文字时以 canonical Base64 携带所选原始字节,默认来源 key 为基础文件名加 SHA-256,不发送目录路径;显式前置文字产生可见的组合 Snapshot;
- M1E-5A3 既有原子导入(已完成):服务端只允许
uploaded_file使用 Base64,解码后复用现有 Evidence/Blob/CommonMark/Fragment 导入和隐私传播,不新增迁移或依赖; - M1E-5A4 可恢复交互(已完成):文件摘要、只读预览、错误反馈、移除和失败重试均在原表单内完成;重试复用 command/resource/snapshot/capturedAt,成功后进入已有 Split 队列。后续 M1H-5 已补上显式最多 20 文件批次;DOCX/ODT、OCR、复杂 PDF 版面/图片还原、目录扫描/监视和云同步继续后置。
- M1E-5B1 闭合文件边界(已完成):导入页接受单份
.html、.htm、.pdf;原始输入与投影均受 1 MiB 边界约束,HTML 必须为严格 UTF-8,PDF 必须具有合法签名和可读取文字层; - M1E-5B2 原始证据与投影(已完成):HTML/PDF 原始字节完整写入外部 Blob;服务端生成单独 Markdown 投影并复用 CommonMark/Fragment 管线,前置文字只进入投影;
- M1E-5B3 格式适配(已完成):HTML 提取语义正文并跳过脚本、样式、表单、嵌入/隐藏内容且不抓取外链;PDF.js 按页提取文字层并保留页标记;
- M1E-5B4 边界保持(已完成):不新增迁移、数据目录或真实 fixture;隐私、幂等、Split 和 Bundle 语义不变。
parse5@8.0.1、pdfjs-dist@6.2.108与entities@8.0.0已纳入依赖记录,未使用的原生 Canvas 可选依赖被排除。后续 M1H-5 已补上显式最多 20 文件批次;OCR、Office 和复杂版面还原继续后置。
- M1F-1A 闭合文字范围(已完成):非空查询显式选择
exact、substring或fuzzy,以及标题、正文、标签中的至少一项;省略时兼容旧有全部字段包含匹配; - M1F-1B 确定性评分(已完成):精确和包含保留更高固定分;近似匹配在查询长度附近的字符/双字符窗口上计算有界整数词法分,短查询不作宽泛近似;界面明确它不是概率或语义相同;
- M1F-1C 排序、游标与隐私(已完成):词法分参与稳定排序并进入查询绑定 cursor v2;隐私在匹配和计数前生效,完整隐私文档通道仅在当次显式授权后以同一标题/正文/标签语义读取外部 Blob;
- M1F-1D 边界保持(已完成):不新增迁移、依赖、索引、Provider、搜索服务或真实资料。中文分词、自动翻译、语义/向量搜索、RAG 和 SQL query pushdown 继续等待真实需求或性能证据。
- M1F-2A 查询内联想入口(已完成):查询结果中的当前选中 Entry 可直接开启既有 Association 过滤,作为一至两跳起点;可关闭或改用另一条结果,跳数和最低分继续使用现有精确筛选;
- M1F-2B 双条事实比较(已完成):同一语义查询范围内最多保留两条结果,并列显示来源、修订、隐私、词法命中、拆分、评分、类型、领域、关键词、正文和精确来源;不生成胜负、综合评分、摘要或新关系;
- M1F-2C 查询与隐私约束(已完成):比较可跨 cursor 页面保留,但文字、字段、结构筛选、Association 或隐私范围一旦改变便立即不可见;状态只在当前浏览器会话内,不写入偏好、数据库或个人数据包;
- M1F-2D 边界保持(已完成):复用现有公开查询响应和 Association 过滤,不新增服务端协议、迁移、依赖、Provider、搜索服务或真实资料。
- M1F-3A 合同与 Provider(已完成):独立
ai_query_synthesiscapability、闭合请求/结果、公开查询证据包和 OpenAI Responses API adapter 已接通;确定性查询仍负责筛选与排序,Provider 只接收前 8 条请求内句柄、标题、正文摘录和三维公开标签; - M1F-3B 产品接线(已完成):
POST /api/v1/entries/search/synthesize、应用服务与 Web client 已实现;Query 在本地结果之后提供次级“AI 综合当前结果”动作,逐条 claim 映射回本地 Entry 与精确来源; - M1F-3C 隐私与会话约束(已完成):
includePrivate和onlyPrivate在 Blob/Provider 前拒绝;答案只留在当前页面会话,查询语义变化立即失效,迟到响应不得覆盖新范围; - M1F-3D 边界保持与关闭(已完成):复用现有环境配置、native
fetch、store: false、无 tools 和现有超时;没有新增迁移、SDK、Bundle section、答案历史、Entry/图谱写入、第二 Provider、Web 搜索、向量或 RAG。合成测试和 320/390/768/1024/1440 CSS 像素响应式浏览器检查已完成。
M1F-3 没有自动推导 M1F-4;所有者随后明确选择了 M1G-1。真实 Provider 答案质量与费用仍留待统一审核。
- M1G-1A 独立策略(已完成):外部个人偏好增加带期望修订的启用状态、0–50% 当前页份额和邻域扩展/跨领域/偶然发现开关;默认关闭,旧偏好和个人数据包读取关闭默认值;
- M1G-1B 可解释候选(已完成):只读取当前锚点的可见直接 Association;隐私先行,排除当前页、屏蔽和过期联系;三类内部按分数/UUID 排序,再固定轮转并限制最多 12 条;
- M1G-1C Query 接线(已完成):普通结果之后提供清楚分隔的策略和显式生成操作;候选显示原因、分数、本地依据、同/跨文档和精确来源;查询范围或锚点变化使旧结果失效,迟到响应不能覆盖新范围;
- M1G-1D 边界保持(已完成):普通搜索协议、排序、总数、分页和游标不变;候选生成只读,不写行为历史、Entry、联系、图谱或 Processing,不调用 Provider,不新增迁移、依赖或真实数据。
M1G-1 后不自动推导偏好学习、基础缺口、新兴信号或观点多样性。下一产品任务仍应来自所有者明确选择的窄边界。
- M1G-2A 外部订阅状态(已完成):在工作区外部个人配置中保存默认关闭、带期望修订的精确 GitHub Markdown 文件订阅及提交/内容游标;个人数据包向后兼容携带;
- M1G-2B 变化检查与幂等导入(已完成):用户手动或到期调度检查精确 ref/path,变化时复用现有 fixed-Git Markdown Evidence 导入,相同内容不重复生成 Snapshot;
- M1G-2C 真实任务与界面(已完成):每次检查写入现有 ProcessingRun 的 import 阶段;Import 编辑订阅并可立即运行,Overview 只显示真实任务记录;
- M1G-2D 边界保持(已完成):只用合成 reader/响应测试;不恢复真实资料,不加入任意网页抓取、仓库执行、自动拆分/标签/联系、偏好学习、自动 AI 接受、迁移或新依赖。
M1G-2 当时只完成阶段 3 的第一条窄纵向路径。M1I-1A/B 随后建立通用连接器与远程文档入库底座,M1I-2 已接通公开 RSS/Atom,M1I-3 已接通声明式 JSON API;网页、仓库目录发现、日历时区调度、认证私有仓库和长期运行审核继续后置。不从“订阅”一词自动推导通用爬虫或自治流水线。
M1G-3 已由 ADR 0025 接受并完成。M1G-3A 建立外部 Profile 状态和个人数据包兼容,M1G-3B 完成确定性建议与有界只读试运行核心,M1G-3C 接入窄公共边界和 Tags 次级面板,M1G-3D 完成兄弟偏好写入序列化、迟到响应、隐私、旧包、窄屏和制品隔离检查;自动分流权继续留给独立 AutomationPolicy。
- M1G-3A 外部 Profile 状态(已完成):新增默认关闭、带修订、最多 64 条规则的
EntryPreferenceProfile;规则分别描述有用或有趣维度上的内容/类型/领域特征及偏好方向,保存在外部 workspace 偏好并随个人数据包携带;旧文件/旧包加载空默认,现有写入保留该字段; - M1G-3B 本地建议与试运行(已完成):只从显式人工 1–5 评分和当前三维标签统计候选;不足或矛盾样本不产生规则;候选最多 64 条并携带请求内计数/样本身份;对草稿/已保存 Profile 的评估稳定限制为 100 个 Entry,只返回匹配解释和两个独立净值,并显式区分格式错误、Profile 过期和 Entry 修订变化,不写任何业务状态;
- M1G-3C Tags 公共边界(已完成):Profile 读取、期望修订保存、候选生成和草稿试运行均经窄公共操作;标签页次级面板提供规则增删改、启停、候选证据查看和最多 100 条 Entry 的只读试运行,普通逐条标注仍是页面主任务,隐私样本必须当次单独勾选;
- M1G-3D 隔离与兼容(已完成):隐私先于计数且不调用 Provider;按 workspace 原子串行外部偏好写入以保护订阅游标等兄弟字段;递增请求标识拒绝迟到 UI 响应;旧偏好/旧包、320–1440px 窄屏和应用制品边界均通过合成回归。
M1G-3 不实现自动拆分、自动忽略、自动标签/联系、AI 自动接受、行为追踪或查询重排。自动分流权由后续独立 AutomationPolicy 决定。
M1G-4A 已由 ADR 0026 接受并完成。它建立自动处理所需的独立外部策略与可解释试运行,但不启动执行器。
- 外部策略状态(已完成):默认关闭、带独立修订和暂停状态,绑定精确 Profile 修订,分别保存有用/有趣推进与延后阈值、最少规则数、单/双维度一致要求、运行/候选预算和未来失败暂停模式;旧偏好/旧包补入关闭默认值;
- 确定性只读分流(已完成):复用 Profile 试运行的隐私与修订边界,按稳定 Entry ID 返回推进候选、延后候选或人工审核;人工接管优先,混合信号、证据不足和预算耗尽都有闭合原因;
- 权限隔离(已完成):结果始终标记
dryRunOnly;不创建 ProcessingRun,不自动拆分、写标签、建联系、改图谱、接受 AI 提案或隐藏/删除 Entry;无 Provider、迁移或新依赖; - M1G-4B 可恢复执行(已完成):ADR 0027 用迁移
000018增加 typed run header 与逐 Entry claim;精确绑定策略、Profile、Entry 修订和计划摘要,在开始及提交前重校验;失败时只暂停仍匹配的策略修订、补偿开放 claim,并显式报告待恢复状态; - 权限边界(保持):claim 完成只表示路由事实已记录,不自动改写 Entry、标签、联系、图谱或 AI 提案。Processing Bundle 升至 v5/12 表,旧 v1–v4 补空执行表;完整个人数据包覆盖 58 表;
- M1G-4C 所有者控制(已完成):ADR 0028 增加策略读取/保存、只读试算、显式启动、最近运行列表和精确运行读取,并在 Tags 次级面板提供启停、暂停/恢复、阈值/预算、隐私范围、逐条原因、人工接管和 claim 审计;脏草稿或非 ready 试算不能启动;
- M1G-4D 控制完整性(已完成):ADR 0029 将最近运行限定为摘要导航,真正接入精确运行读取,显示未结算/补偿 claim,并以独立最新请求代次隔离策略、保存、试算、执行、列表和详情;合成浏览器验证覆盖迟到列表及 320–1440px 布局;
- 阶段边界(保持):M1G-4 已完成“策略 → 试算 → 可恢复路由事实 → 所有者控制 → 精确审计与异步隔离”。M1G-5A/5B 只按下节接受的队列和订阅串联扩展;M1H-1 又只按 ADR 0032 为推进候选开放两项显式、默认关闭的本地动作,其他业务动作仍不能从 claim 推导。
- M1G-5A 工作队列(已完成):ADR 0030 与迁移
000019为成功 claim 建立独立pending / completed / dismissed所有者状态;状态可按版本更新和重新打开,但不改写原 claim 或 Entry; - 可达操作面(已完成):Tags 次级区域可按隐私范围读取队列、打开当前 Entry、标记完成、跳过或重新打开;Entry 已变化时明确显示过期事实而不隐藏工作项;
- 传输兼容(已完成):Processing Bundle 升为 v6/13 表,旧 v1–v5 恢复空工作队列,完整个人数据包覆盖 59 张工作区表;
- M1G-5B 订阅串联(已完成):ADR 0031 为每个订阅增加默认关闭的
routeAfterImport;变化内容复用既有 Evidence 导入、确定性空 Snapshot Entry 物化和可恢复分流,最终进入同一工作队列; - 幂等与重试(已完成):资料身份不包含该开关,稳定自动化键绑定 subscription + source hash;只有导入、物化和分流全部成功后才推进成功游标,失败可安全重试;
- 权限边界(保持):该串联不调用 AI,不自动修改标签、联系或正式图谱,不接受提案,也不隐藏/删除 Entry。其他信源类型和具体自动内容动作仍需独立窄边界。
- 显式权力(已完成):ADR 0032 为外部 AutomationPolicy 增加两个彼此独立、默认关闭的推进动作开关;只有 completed
advance_candidate获得动作,人工审核和延后仍只进入工作队列; - M1H-1A 确定性标签(已完成):服务端复用本地词法规则,遵守自动提取总开关、排除词和已确认别名,仅追加缺失的 rule-origin 内容标签,保留人工/AI/导入标签,不调用 Provider;
- M1H-1B 联系重建(已完成):标签阶段后按当前外部联系权重和显式隐私范围重建可替换 Association 投影;逐对人工 override 与正式知识图谱关系不被覆盖;
- 恢复与补偿(已完成):迁移
000020保存 pending/tags_applied/applied/undo_pending/undone/cancelled 动作状态、精确规则来源、Entry 结果修订和计数;失败可续跑,只有 Entry 仍匹配动作结果时才能删除本次规则标签并重建投影; - 订阅串联(已完成):
routeAfterImport开启时仍使用保存策略;若动作也开启,订阅成功游标在导入、物化、分流和动作全部完成后才推进; - 携带性与边界(已完成):Processing Bundle 升为 v7/14 表,旧 v1–v6 恢复空动作状态,完整个人数据包覆盖 60 表。该阶段不接受 AI 提案、不写图谱事实、不改评分、不隐藏/删除 Entry,也不赋予通用工作流权限。
M1H-1 完成时只开放了明确启用的推进动作;随后经独立窄边界接受的 M1H-2 仍是所有者手动结构纠错,不得把任一阶段解释为任意自动操作授权。
- M1H-2A 影响预览(已完成):ADR 0033 在拆分页复用人工 Fragment/标量范围编辑器,对完整分组计算 Entry 身份复用、successor lineage、标签/评分冲突和人工/AI 图关系迁移;预览不写数据,编辑后旧 plan 立即失效;
- M1H-2B 原子应用(已完成):同一 plan digest 与显式确认进入工作区锁事务,一次完成当前结构切换、successor/lineage、Document 标签重算、关系迁移和可见范围 Association 投影重建;陈旧 Entry、override 或 Document 标签版本使整笔操作回滚;
- 证据与隐私(保持):正文只由服务端从本地不可变 Fragment 重建;私密来源或触及私密端点的关系必须有当前请求 opt-in,公开重组不清除无关私密投影;
- 身份与关系(已完成):精确边界复用 Entry ID,变化边界产生确定性 successor;有向关系在 low/high UUID 顺序翻转时同步反向,折叠需确认,冲突阻断;
- 携带性(已完成):迁移
000021增加当前结构事实,Entry Bundle v4 向后读取 v1–v3;旧 Entry 作为 lineage 前身保留,表总数仍为 60; - 边界(保持):没有依赖、Provider、真实数据、自动结构替换、来源重排、拆分前全文写回或自定义解析规则。
M1H-2 完成后,下一产品任务继续由新的明确窄边界或开发完成后的统一实际审核决定;不得把人工结构权限扩展给 AutomationPolicy 或 AI 提案。
- M1H-3A 当前工作副本(已完成):ADR 0034 允许尚未生成 Entry 的 Snapshot 保存一份当前 UTF-8 全文草稿;再次保存覆盖同一当前行,恢复原文删除草稿,不追加输入历史;
- M1H-3B 派生证据(已完成):所有者显式确认后,服务端通过既有 Evidence/CommonMark 导入边界生成确定性、不可变的新 Resource/Snapshot,并把页面切换到该派生 Snapshot;
- 拆分复用(已完成):确定性、人工 Fragment/Unicode 标量范围和 AI 提案继续调用既有空 Snapshot 物化边界,不建立第二套拆分器或知识存储;
- 证据与隐私(保持):原始 Blob、Snapshot 与 Fragment 永不改写;私密来源的读取、保存和确认都要求当前请求 opt-in,派生证据继承隐私事实;
- 携带性(已完成):迁移
000022增加一张工作副本表,Entry Bundle v5 向后读取 v1–v4 并补空;完整个人数据包覆盖 61 张表; - 边界(保持):没有草稿历史、富文本、来源重排、自定义解析规则、Office 回写、Provider 扩张、自动确认或真实资料。
M1H-3 完成后,五步主线已同时具备首次拆分前正文修订与物化后结构纠错。下一产品任务继续由新的明确窄边界决定。
- M1H-4A 规则 Profile 与试算(已完成):ADR 0035 在外部工作区偏好中增加独立 revision 的
EntrySplitRuleProfile;默认保持每个 section 独立,可选择按字符和 Fragment 上限合并相邻短段; - M1H-4B 拆分页操作(已完成):拆分页可编辑并显式保存规则,对当前空 Snapshot 做只读预览,并只把与保存 revision 一致的结果通过既有空 Snapshot 原子边界物化;
- 证据与隐私(保持):服务端从本地不可变 Fragment 重新计算正文和标题;规则不提交正文、不重排来源、不切断单个 Fragment,私密 Snapshot 要求当前请求 opt-in;
- 携带性(已完成):规则作为现有外部个人偏好对象的兄弟字段随完整个人数据包携带,旧文件/旧包补默认规则;没有迁移、新表、依赖或新 Bundle 分区;
- 边界(保持):没有任意脚本/正则程序、自定义解析器、后台自动拆分、Provider、真实数据或已物化结构批量替换。
M1H-4 完成后,本地首次拆分同时具备默认确定性规则、可配置短段合并、精细人工范围和显式 AI 提案四条互不冒充的路径。下一产品任务继续由新的明确窄边界决定。
- M1H-5A 显式批次选择(已完成):ADR 0036 在导入页增加单份/批次切换;一次最多 20 份明确选择的既有格式,每份独立复用原文件校验、隐私、幂等 Evidence 和外部 Blob 路径;
- M1H-5B 会话队列控制(已完成):页面显示逐文件准备/写入/成功/失败/停止状态、总进度和结果;失败重试保留原请求身份,停止只阻止当前项之后的文件,成功后统一刷新材料列表;
- 兼容(保持):单文件导入及服务端请求不变;批次不增加 API、迁移、数据库任务、偏好字段、Bundle 分区或依赖;
- 边界(保持):不扫描/监视目录,不持久化上传队列,不自动拆分 Entry、生成标签/联系、启动 AutomationPolicy 或调用 Provider,不引入真实资料。
M1H-5 完成后,导入页同时具备单份精细录入和显式多文件顺序录入。下一产品任务仍由新的明确窄边界决定。
- M1I-1A 连接器协议(已完成):ADR 0037 增加稳定 connector ID、内建/插件共享 Registry、闭合 unchanged/changed 结果和最多 64 份文档的有界批次;
- M1I-1B 远程文档 Evidence(已完成):前向迁移 000023 只增加 remote_document 资源种类;通用准备器从精确原始字节和 Markdown 投影派生幂等 Resource/Snapshot,继续复用外部 Blob 与 CommonMark/Fragment 入库;
- 权力边界(保持):连接器不能写 Entry、标签、联系、图谱、AI 提案、偏好或游标;只有主订阅服务在整批成功后才可推进游标;
- 当前可用性(诚实):底座已由 RSS/Atom、声明式 JSON API、受限网页和运行环境实际安装的插件 adapter 使用;未安装的插件不会被伪装成可用能力。
- 内建 adapter(已完成):ADR 0038 只接受公开无凭据 HTTPS Feed,使用 20 秒、1 MiB、最多 20 条和无 redirect 的有界请求,拒绝 DTD 与本地/私有网络地址;
- 增量语义(已完成):cursor v1 携带 Feed 摘要、当前条目版本 token、ETag 和 Last-Modified;304、Feed 未变或窗口内没有新版本均不复制 Snapshot;
- 主线入库(已完成):RSS 2.0/Atom 正文由服务端清洗成 Markdown,新增或修订条目逐份进入 remote_document Evidence;精确 Feed 字节留在外部 Blob;整批及可选确定性分流成功后才推进游标;
- 产品接线(已完成):外部偏好 union、版本化 API、scheduler、ProcessingRun、Web client 和导入页支持 Git/RSS 两种已实现信源,旧无 kind 的 Git 记录继续可读;
- 边界(保持):条目链接只作为来源引用,不抓取图片、附件或外链全文;不增加 Entry/标签/联系/图谱/AI 写权限,不引入真实 Feed fixture。
- 声明式映射(已完成):ADR 0039 增加公开 HTTPS GET、记录数组、ID/标题/正文及可选原文地址/发布时间/版本的有界点分路径;不执行 JSONPath、脚本或任意转换表达式;
- 分页与增量(已完成):分页 cursor 只驱动同次检查的后续页,增量 checkpoint 只进入下次检查首请求;最多完整读取 5 页、32 条、每页 1 MiB,超限整次失败而不是截断后推进;
- 凭据边界(已完成):无认证或 Bearer 环境变量引用;外部偏好和个人数据包只保存变量名,令牌不进入配置、数据库、Git、日志或响应;
- 逐记录入库(已完成):每条新增或修订记录形成独立 remote_document Snapshot,精确 JSON 响应页保存在外部 Blob;既有 API、scheduler、ProcessingRun、可选确定性分流和导入页共同接线;
- 验证(已完成):只使用注入式 fetch/DNS/environment 与合成 JSON,覆盖多页、checkpoint、修订、偏好往返、API、游标最后提交和失败边界;没有真实 API 或真实资料。
- 显式范围(已完成):ADR 0040 只接受一个公开 HTTPS 主页面和最多七个用户逐条填写的同源路径,不发现链接、通配、站点地图或第二 origin;
- 抽取与保留(已完成):服务端按
article → main → body提取阅读正文,跳过 active/hidden 内容;精确 HTML 字节进入外部 raw Blob,Markdown 投影进入既有 Evidence/Fragment/Split; - 变化与预算(已完成):每页 20 秒/1 MiB、每次最多 8 页、不跟随 redirect;逐页内容摘要和 ETag/Last-Modified 组成有界 cursor,完整成功后才推进;
- 产品边界(已完成):外部偏好、API、scheduler、ProcessingRun 和导入页均已接线;没有登录态、浏览器自动化、开放爬虫、附件抓取或真实网页 fixture。
- 能力发现(已完成):ADR 0041 让 Registry 校验并公开稳定 connector ID、显示名、builtin/plugin 来源和 internal/external-reference 配置方式;
- 可信安装边界(已完成):adapter 只由 runtime composition 注入;偏好或 HTTP 不能提交模块路径、脚本或可执行 payload,也不会动态加载代码;
- 外部引用(已完成):plugin 订阅只保存
plugin.*ID 和 opaqueconfigurationRef,不保存秘密或配置正文;缺失插件的配置可迁移但运行稳定失败且不推进 cursor; - 产品可见性(已完成):订阅列表 API 与导入页只展示当前 runtime 的真实 capability;没有安装插件时明确显示 0 个;插件仍只有有界文档读结果,没有领域写端口。
- 关系语义(已完成):ADR 0042 在同一 Entry 图谱 override 上加入相似、相关、支持、冲突、组成、因果、例子和自定义八类闭合语义;
- 维护与核验(已完成):关系可保存 500 code-point 内说明和未核验/已核对来源/需复核状态;自动相似边单独显示为“计算所得”,不冒充事实确认;
- 来源操作(已完成):知识页关系检查器可分别打开两端 Entry 的精确来源,再由用户显式保存核验状态;隐藏、恢复和结构纠错保留全部关系元数据;
- 兼容传输(已完成):前向迁移
000024原位扩展当前 override;Association Bundle v4 往返新字段并保守读取 v1–v3;不新增第二套图谱表或恢复旧 Knowledge runtime。
- 可替换索引(已完成):ADR 0043 以迁移
000025保存绑定当前 Entry revision 的词项/可选向量投影,并由显式 workspace 级重建原子替换;派生索引不进入个人数据包; - 可选 Embedding(已完成):无 SDK 的 OpenAI adapter 只接收公共 Entry 的有界标题、正文和三维标签;模型来自外部配置、key 只来自环境,私密范围在 Provider 前拒绝;
- 三种 Query(已完成):词法模式保持兼容;语义与 45/55 混合模式拥有独立 digest/cursor、相似度说明和最终检索分;模型缺失或索引未就绪时诚实不可用;
- 评估与 RAG(已完成):显式小型 expected-set 返回 Recall@K/MRR;既有查询综合复用选定检索模式的前八条公开本地证据并保留精确来源,不写入产品状态。
- 可重复工作负载(已完成):ADR 0044 增加只使用合成数据的
performance:m1l,固定测量 Markdown 导入、Entry 拆分、词项/联系投影、三种 Query、两跳联系、知识图和连接器批次,并输出带 workload hash 的闭合 JSON; - 关联遍历热点(已完成):800 个 Entry、8,040 条投影的同机基线显示两跳查询远高于其他查询;每次请求改为只建立一个只读邻接索引并由 BFS 复用,相同 workload hash 下中位耗时从 184.565 ms 降到 4.196 ms;
- 重复仓储读取(已完成):词法 HTTP 查询在一次 Entry/Association snapshot 上同时产生普通结果和显式私密全文结果;语义/混合查询不再在检索服务完成后由 API 二次加载;
- 边界(保持):数字只作同机方向证据,不是 SLO 或测试耗时阈值;没有迁移、依赖、真实资料、持久缓存、独立搜索服务、SQL pushdown 或后台索引任务。
- 容器与隔离(已完成):ADR 0045 提供非 root 多阶段镜像、只读根、回环端口、资源上限和分离的 runtime/高权限 maintenance Compose;普通应用清单不接触 migrator secret;
- 秘密与启动(已完成):数据库和 OpenAI secret 支持互斥的直接变量或严格单行
*_FILE注入;迁移、pg-boss schema 准备、runtime grant、preflight 与应用启动具有明确顺序; - 备份恢复(已完成):维护命令复用完整个人数据包,把 66 表、引用 Blob 和偏好写入外部
backups/,只恢复到同 workspace 空数据库; - 监控与升级(已完成):容器复用 live/ready 健康端点、结构化日志和优雅关闭;操作手册冻结备份、前向升级、失败处理和干净目标恢复流程;
- 发布边界(首版发行):Compose 语法、production deploy、静态 deployment verifier 以及本地 Docker/PostgreSQL 18.6 的合成迁移、队列准备、runtime grant、健康、完整备份、空库恢复和重启演练已通过;项目采用 MIT License。
v0.1.0增加运行镜像瘦身、浏览器安全响应头和宿主 Caddy 认证反向代理示例;目标云端仍需记录实际镜像 digest,配置域名/证书/防火墙、备份保留和监控。
- 冻结计划(已实现):ADR 0046 以幂等键、隐私范围、Snapshot 内容摘要、计划 Entry 数和稳定次序冻结最多 500 个 Snapshot / 50,000 个 Entry;
- 可恢复执行(已实现):每个 Snapshot 独立调用既有确定性 section 物化边界并原子提交;每次执行窗口形成 ProcessingRun,成功项不重做,失败/中断项可显式 retry;
- 维护控制(已实现):
ingest plan/run/pause/resume/retry/status/report只返回身份、计数、状态和稳定错误码;没有正文、Provider、浏览器逐条保存或新的正式知识写入; - 确定性 enrichment(已实现):ADR 0047 把成功批次接到现有标签/别名/排除规则,按 Snapshot 原子写 Entry revision,并把不能处理的 Entry 记入 typed 异常;
- 增量联系(已实现):只重建与本窗口 Entry 相接的可替换 projection,保留 pair override、正式知识关系和其他历史 pair;
- 异常复核(已实现):ADR 0048 按代码/当前状态汇总异常,稳定抽样最多 50 项,并只在 current revision 和精确预期数量一致时批量转换状态;过期异常不进入裁决;
- 可移植性(已实现):
000026/000027/000028增加五张控制表,Processing Bundle v10/19 表和 runtime grant 携带其当前状态;旧 v1–v9 包升级为空的后续状态; - 性能与恢复证据(已完成):ADR 0049 在 disposable PostgreSQL 18.6 中用固定 500 Snapshot / 15,000 Entry 跑通 28 迁移、Blob/Evidence、P0A/P0B/P0C、故障恢复、幂等重放和数据库计数,总耗时约 15 分 20 秒;普通
verify不依赖 Docker; - 外部 Codex 审阅包(已实现):ADR 0050 只把当前 pending 异常按精确 revision/version 导出为 1–20 项工作包和默认无效结果模板;文件位于外部
exports/codex-work/,隐私需要本次显式 opt-in; - 闭合幂等回写(已实现):ADR 0051 只接受 annotate/accept/manual-review/deferred,原子写完整标签 revision、exact 裁决并只重建涉及这些 Entry 的投影;placeholder、开放字段、缺项和过期状态全部拒绝;
- 统一有限推进(已实现):ADR 0052 以
pipeline-start/advance/status严格复用 P0A→P0B→P0C,一次最多推进 500 项并返回明确下一动作,不新建后台循环或第二套批次状态; - 冻结审计(已完成):P0A retry 兼容 ProcessingRun 已先被取消/失败的恢复路径;P0B 从持久 ProcessingRun 历史取得下一 attempt,即使执行器在首次 claim 前退出也不会复用任务身份;P0F exact 裁决绑定 annotation 写入后预期的当前 Entry revision,避免并发人工修改被误判为已裁决;
- 当前停点:开发周期批量完整入库链已满足合成 4–6 小时预算,并且不再要求浏览器逐条执行。真实语料、人工抽查节奏、长期增长和生产资源只在所有者后续使用时测量;未来 Provider 微批次自动化必须另立明确边界,不能反向阻塞当前可运行主线。
- P1A 备份容量:完整个人数据包统一为 1 GiB / 3200 万 value 的显式闭合预算,覆盖已观察到的约 425.6 万个 Domain value,同时保持字节、结构、Blob 和引用闭包校验;
- P1B 文档分页:服务端每页仍最多返回 200 份 Snapshot,但用稳定 cursor、
total和next允许客户端读完全部 407 份及后续增长文档; - P1C 三维分类:确定性 enrichment 只补空且唯一高置信度的类型/领域,不覆盖人工、AI 或导入值;歧义进入
classification_incomplete,既有成功批次必须显式enrich-refresh; - P1D 查询候选:公开 exact/substring 查询先从完整、当前且未触及 posting 截断上限的词项投影取得候选并选择性加载 Entry,再复用原搜索核心;索引不完整、存在截断风险、fuzzy、隐私和 Association 查询自动完整回退;
- 部署收口(已完成):本地 Docker 私人部署已应用
000029和 runtime grants,保留刷新前/后的正式备份,以 397/397 成功 refresh 14,565 条批次 Entry,并重建 14,910 个当前词项投影;407 份文档通过 3 页完整可见; - 真实性能边界:非空 exact/substring 已从候选索引路径稳定返回,三次实测约 1.0–1.3 秒;空条件全量浏览仍约 10.2–14.5 秒。后者只有在直接使用需要时再进入列表投影或 SQL query-pushdown 增量,不回开 P1A–P1D;
- 生产资源档位:app 固定 3 GiB 容器 / 2 GiB heap,backup/restore 固定 6 GiB / 4 GiB,其他维护任务保持 1 GiB;该档位来自真实 OOM 复现并由部署 verifier 锁定。
- P2A 诊断拆分:保留旧异常兼容,新 enrichment 分别记录无信号、只缺类型、只缺领域及平局/低置信度;现有 summary/sample 即可按原因形成分布,不新建报告表;
- P2B 字段感知分类:标题、内容关键词、正文按 3:2:1 观察权重计分,最低分与领先幅度共同控制接受;有限结构线索和负信号保持本地、确定且可复现;
- P2C 主次领域:主领域必须唯一通过门槛,最多再携带两个达到最低分且不低于主领域一半的次领域;顺序仍是现有 primary/secondary 语义;
- P2D 外部规则:版本化个人 Profile 提供别名、类型/领域映射和噪声排除;闭合解码拒绝开放字段、重复、别名环及
other映射,偏好文件与完整个人数据包负责迁移; - 升级边界:
000030只扩展异常 CHECK;规则/Profile 摘要变化不会后台改数据,操作方必须先备份、迁移、重授权限,再显式 refresh; - 真实分布(已测量):397 个 Snapshot / 14,565 个批次 Entry 刷新成功,仍有 11,794 个当前分类异常:缺类型 7,528、缺领域 1,069、平局/低置信度 1,868、无信号 1,329;该规模确认 P2E 有必要,后续实际操作确认缺类型需要 P2F 可见工作台。
- 按原因分组:复用四个 typed classification exception code,一次只导出一个原因,建议依次处理缺类型、缺领域、平局和无信号;
- 100 条微批次:显式分类组默认并最多导出 100 条;其他 P0E 异常继续保持 20 条,不把普通疑难正文批次无条件放大;
- 只补缺失维度:结果模板预填当前内容关键词、类型和领域,缺失项保留
replace_me;模板仍默认不可应用,避免误写; - 可恢复写回:继续使用 P0F exact revision/version、完整标签 revision、精确裁决和增量联系重建;成功项退出 pending,过期包重新导出;
- 规模读取:PostgreSQL 导出路径只 hydration 被抽样的 Entry ID,不为 100 条工作包加载全部 14,910 条 Entry;
- 边界:没有 Provider、迁移、UI 或后台循环。分类复核后的查询性能工作继续由真实使用决定。
- 可见覆盖率:标签页显示可见 Entry 总数、已分类、缺失和十种类型分布,不再依赖命令行汇总理解类型进度;
- 专注队列:默认列出缺失类型,也可选择某一已有类型抽查;页面每次最多 20 条并使用稳定 cursor;
- 规模读取:PostgreSQL 在只读可重复读事务内统计并选页,只 hydration 当前页;类型保存前后按 Entry ID 选择性读取;
- 只改类型:保存复用现有 CAS 修订并保留正文、关键词、领域、评分、来源和隐私事实,缺失项保存后退出默认队列;
- 隐私与并发:默认排除隐私,只有当次显式加入;前端取消旧请求并以请求代次拒绝过期响应;
- 边界:没有 migration、依赖、Provider、自动接受或后台循环;P2E 继续用于 100 条 Codex 微批,P2F 只承担覆盖观察和直接纠错。
- 真实规模只读结果:本地 PostgreSQL 18.6 中 14,910 条公开当前 Entry 的类型覆盖为 4,195 / 14,910(28.14%);缺失队列首屏把正文及三个附属集合的 hydration 从 88,826 行缩到 121 行,六段产品等价 SQL 的一次代表性测量合计约 39.8 ms。该工作区没有私密 Entry,且本次评测没有写入数据。
- P2G-A 规则扩展:强体裁词允许正文独立过门槛;
factual_material只接受数据集、统计数据、资料汇总和事实记录等强信号;真实回放否决了通用链接资源卡规则,v4 对普通工具/项目/软件链接失败闭合; - P2G-B 只读预览:按现有分类异常与当前 Entry revision 统计 assignable/unresolved/stale/protected,返回完整类型/原因分布和不含正文的稳定抽样;
- P2G-C 可恢复应用:不新增 writer,按批次状态调用既有 run/resume/retry/refresh,以有限 Snapshot 窗口只补空类型;规则摘要变化、失败恢复和 Association 增量替换继续由 P0B 负责;
- P2G-D 残余收口:高置信度候选处理完后,未解决项明确转入 P2E Codex 工作包,个别修正留给 P2F;人工裁决状态不被自动重开;
- 安全边界:不会自动填
other,不会覆盖任何现有类型,不扩大批次隐私范围,不写日志正文;没有 migration、dependency、Provider、后台任务或第二套分类状态; - 真实资料边界:代码实现和自动化验证完成,但没有自动对所有者外部工作区执行 apply;实际补全必须另行授权并在停写备份后进行。
- 只读规模推演:默认 Profile v0 对现有 10,715 个缺类型公开 Entry 可确定 353 个(3.29%),预计总覆盖从 28.14% 升至 30.50%;10,362 个继续留给 P2E/P2F。已有类型回放的选择性精确一致率为 90.92%,按类别投影的新候选精确率为 88.94%;不能把推演写成已应用或独立人工金标。
- P3A 类别阈值:类型和领域不再共用一组接受门槛;高误判风险类别使用更高最低分/领先幅度,明确强信号类别保持可达,
other仍不自动生成; - P3B Profile v2:v1 外部配置自动升级;每维最多 4,096 条映射,数千条规则走精确内容关键词索引,正文 substring 映射仍限 256;别名与排除词按 Profile 编译一次;
- P3C 邻居共识:只在低 fan-out、达到 15% 相似度、至少 4 个已标注邻居且 85% 一致时形成证据;类型排除同 Snapshot,所有候选先按隐私范围隔离;
- 统一执行:首次 enrichment 与 type-completion preview 使用同一上下文,正式写入仍复用 P0B 原子 revision、恢复和增量联系协议;没有 migration、Provider 或第二套 writer;
- 只读实测:已有类型选择性一致率为 92.16%,邻居类型子集 91.38%;缺类型可预测 355 条,预计总覆盖 30.52%。缺领域可补 242 条,预计总覆盖由 71.39% 升至 73.01%,邻居领域至少一项重叠率 97.87%;这些结果尚未 apply。
- P4A 可信样本与主动抽样:外部 Profile v3 保存最多 1,024 个带 Entry revision、Snapshot 和 manual/codex_accepted 权威的样本;候选保持 revision 与隐私绑定;
- P4B Codex 工作包:maintenance 可把最多 100 条候选写入外部 codex-work,并只接受逐 Entry/revision 绑定的 trust/reject 封闭结果;导入只更新 Profile,不直接改 Entry;
- P4C 可解释模型与影子门:本地训练有界内容关键词、标题、结构和长度特征,按 Snapshot 分组验证并报告全局/逐类 precision、recall 和 coverage;候选只有满足精确率门槛后才可由独立命令激活;
- P4D 类别均衡与规模保护:抽样先补每类至少 8 样本/6 Snapshot 的缺口,再轮转模型不确定性和结构分层;零/少样本类别禁用,不再用加一平滑;
- P4D 激活门:至少 4 个支持类别,验证 precision 不低于 92%、coverage 不低于 15%,每类至少 2 个验证赋型;当前全部缺类型 Entry 的投射 coverage 不低于 15%、至少 3 类且单类不超过 50%;
- P4E 正文与正则化:在前 4,096 code point 内有界提取正文词项、相邻短语和字符 trigram;特征至少跨 2 个可信样本和 2 个 Snapshot,按最多 4 个正 Snapshot 的支持量缩减权重;
- P4E 三折校准与诊断:类别均衡的三折 Snapshot 交叉验证生成 out-of-fold 预测;逐类搜索
minimumScore和minimumMargin,要求每个执行类别达到 92% precision,并输出混淆矩阵和最多 64 个误判身份; - P4E 困难样本上限:每类最多 64 条训练行时先保留 48 条错误、无信号、低 margin 或低分样本,再补未代表 Snapshot 和稳定余量;
- 执行顺序与复用:激活前按当前 Entry 重训并比对完整投射摘要;强确定性规则优先,激活模型只处理其未解决项,邻居共识最后兜底;正式补全继续由 P0B/P2G 原子 writer 执行;
- 延期 API:当前没有 Provider/API 调用。后续 API 只适配同一 packet/result 和 Profile,不建立第二套训练、激活或 Entry 写入协议;
- 产品结论:前两轮隔离标注没有写入真实 Entry,也没有激活真实模型或执行补全 apply;开发期实际使用仍不能证明可靠泛化,因此上述内容只视为冻结的实验性工程实现,不视为已交付的自动类型标注能力。
- 重新排队原因:当前抽样、可信样本、稀疏特征和校准框架仍不能稳定处理真实材料差异,继续在同一方案上追加标注或门槛无法证明会改善泛化;
- 冻结边界:保留 Profile v3、packet/result、影子模型、诊断和激活保护以便以后复用,但当前不继续 export/apply/activate,不使用候选模型改写 Entry;
- 重新启动条件:只有所有者明确恢复该项后,先建立与训练数据分离、跨类别且跨 Snapshot 的代表性人工评测集,再冻结逐类准确率、覆盖率、拒绝率和分布稳定性口径;
- 后续方案自由:重新启动时允许替换特征、模型或抽样框架,不要求继续修补现有稀疏模型;现有实现是可回退基线,不是未来方案约束;
- 主线关系:
M2-P4R留在后续队列,不是当前下一任务,也不阻塞与其无关的产品开发。
- 公开发行身份:
v0.1.0固定在提交3100567265b70e32c1d903b165d3d2248815a968、tree6f02768158a9030b1332ea8dab4c1249dd66a68d; - 开发线身份:当前 M2-P5A 输入为提交
86066009193c98bc65088827faa0cbf5204c41a4、treee6aba30c16104f5f69c507926d44a531e7f4e2cb,不得继续冒充v0.1.0; - 运行状态:所有者确认私人云端 Docker 服务已经上线;本增量没有独立登录目标主机,因此未取得的镜像、网络、备份与监控证据仍诚实保留为待生产复核;
- 外部边界:域名/IP、证书、认证、防火墙、secret、数据库、个人数据、备份清单和告警目标全部留在仓库之外;
- 完成状态:M2-P5B–D 已按顺序完成备份恢复工具、监控/容量可见性和五步主线发行回归。冻结的 M2-P4R 仍不阻塞后续工作。
- 备份盘点:
maintenance backup list只列出当前 workspace、当前个人数据包格式的直接普通文件,按导出时间从新到旧返回有界摘要; - 只读校验:
maintenance backup verify复用正式恢复的完整 Bundle 解码,验证 workspace、四个数据库 section、Blob 引用/字节和个人偏好,并返回文件 SHA-256 与计数,但不写数据库、Blob 或偏好; - 保留预览:
maintenance backup retention-preview --keep-latest N明确列出将保留和拟移除的数量及有界候选文件名;应用不提供自动删除,N 和实际删除仍由所有者在外部运维流程决定; - 数据库故障可用:以上三个读取动作不要求数据库 ready,仍只依赖已配置的 workspace 和外部数据根;普通 backup/restore 保持原有 readiness 与空 workspace 边界;
- 真实证据边界:云端具体备份文件名、摘要、保留选择和恢复演练结果继续只写外部运维记录。仓库的合成校验证明工具行为,不冒充目标主机演练;
- 后续衔接:M2-P5C/D 已接续完成运行状态可见性与五步主线发行回归。
- 统一状态入口:
maintenance status以稳定 JSON 报告数据库、领域对象、当前搜索投影、失败/停滞任务、外部数据根容量和最新备份年龄; - 明确阈值:缺省使用备份 168 小时、可用空间 10%、运行中任务 60 分钟,可由当次命令在闭合范围内覆盖;
- 失败可见:数据库、容量与备份 observer 独立执行;任一缺失或失败形成稳定告警码,而不会伪装成 ready;
- 隐私收敛:报告只含计数、十进制字节数、百分比、年龄和安全文件摘要,不返回 URL、绝对路径、正文、标签或偏好内容;
- 部署适配:
ready退出 0,attention退出 1;宿主 scheduler/监控负责定时和通知,没有新建常驻轮询、远程告警 SDK、迁移或产品写入。
- 同库完整链:既有 disposable PostgreSQL 18 工具在 Evidence/P0A/P0B/P0C 后继续重建当前搜索投影,执行词法查询、精确 Fragment 来源返回和 Entry 中心知识图;
- 运行状态核对:同一 runtime role 实际执行 P5C 数据库 observer,并要求当前 Entry 与当前搜索投影完整一致;
- 恢复与权限不旁路:迁移 exact no-op、runtime grant、两次受控故障恢复、stale/count guard 和资源清理仍由同一链证明;
- 无真实资料:smoke 与标准规模都只创建随机命名容器、随机端口和临时外部数据根,成功或失败后清理;
- 标准规模证据:500 Snapshot / 15,000 Entry 回归实际生成 15,000 个当前搜索投影、13,500 个词法匹配和 13 节点/12 边知识图,30 份迁移重放 no-op,总耗时约 18 分 9 秒并完成资源清理;
- 候选门:完整质量门、浏览器 E2E 和 PostgreSQL 回归是当前候选的开发证据;固定 commit、镜像扫描和私人实例升级仍须在显式发行操作中完成。
v0.1.0 保持已发布基线,私人云端实例由所有者确认已投入使用;实际运行版本和外部数据仍以所有者运维记录为准。M2 的开发和合成验证继续保持无真实资料;生产复核结果不倒推重开已完成的首版主线。
2026-08-16 重新审视后,项目不再把更多合同、静态证明或测试框架强化作为下一阶段产出。过去的工作按以下方式处理:
- 当前直接复用的核心资产:TypeScript 模块化单体、外部配置和数据根、本地内容寻址 Blob、个人数据包、Evidence/Markdown、InformationEntry/DocumentTag/Association 及其 PostgreSQL adapter;
- 仅作兼容保留的资产:
000001–000007迁移、旧 Curation/Knowledge 数据表和个人数据包旧分区;旧纯逻辑、adapter、HTTP/Web 入口与日常 TM2 命令已由 ADR 0009 删除; - 已经关闭的真实缺口:十期固定周刊已通过同一导入路径,最小领域 Bundle 已完成外部落盘与空工作区恢复;持久化审核队列、隐私文档边界,以及首轮使用暴露的“评分、动作和标记混在一起且逐条操作过重”均已关闭;
- 历史闭环证据:旧知识维护与确定性检索曾在 M1C 纵向 smoke 中运行;该证据保留,但对应应用入口不再是当前产品能力;
- 历史直接使用证据:345 个 Entry 和 598 条投影已移出活动工作区,只保留为 M1D/M1E 决策证据;当前不得为了审核或展示恢复这些真实资料,三类 M1E-3 提案的真实质量、等待和费用统一留到项目开发完成后的实际审核;
- 不再阻断的工作:PostgreSQL TM2 harness 自身强化、488 项正式认证、容器/Linux/发布认证、未被工作负载证明必要的 SQL 查询下推和性能强化、复杂认证、别名/树/集合、生产灾难恢复、其余 AI、偏好学习和外部接口。
既有 C-SLICE-* 合同和 TM1 结果作为实现输入冻结。除非出现能够在当前产品路径复现的 PRODUCT_BLOCKER,不再为了增加 oracle 数量、覆盖不可达输入或提高测试框架自证能力修改这些合同。
M1C 只按以下依赖顺序推进:
- M1C-PERSIST(已完成):Evidence repository 和导入应用用例把包体外 Markdown、Git 来源身份、原始 Blob、文档结构、Fragment 和媒体引用写入 PostgreSQL;
000005保存 workspace-scoped 命令摘要而不修改已接受迁移;2026-08-16 的 PostgreSQL 18 功能 smoke 已证明首次写入、相等重放、同键异内容冲突、重建 pool/adapter 后重放以及两个外部工作区的数据库/Blob 隔离。该结果是功能 smoke,不是正式 TM2、容器或生产 grant 认证; - M1C-API(已完成):最小本地产品 HTTP 用例已覆盖导入、查看证据、读取当前审核状态、人工分类/准入、提交知识变更和确定性搜索;工作区由外部配置注入,请求不能选择 workspace,正文只进入外部 Blob 根;没有提前建设公共 API 平台、WebSocket、Webhook 或通用任务系统;
- M1C-WEB(已完成):同一回环监听器提供资料/证据、快速审核、知识维护、搜索/出处四个工作区;界面保留人工权威、AI 未启用、独立评分、内容形成方式(内部
EpistemicRole)、审核状态、匹配原因和精确 Fragment 出处; - M1C-VERTICAL(已完成):固定
ruanyf/weeklyissue 405(commitcf5e367d98e5141fb3381816f2ac8c5dd1bdb69f,19,432 bytes,SHA-256f85743906806dabd1ebcfcd5ba8c9ea084bd9bd5a01f5c89ca13b40618d0ef0e)在真实浏览器和 disposable PostgreSQL 18 上完成 Git 来源导入与 277 个 Fragment、三个代表性人工决定、三个直接来源知识项、一条类型化关系、引用两个既有修订的 Framework、一次撤回修订,以及文本、直接来源、一跳关系和精确 Fragment 回溯。重复导入和重复知识命令均返回既有结果,没有重复副作用; - M1C-EXPAND(已完成):同一正式导入器在 disposable PostgreSQL 18 上处理固定 398–407 期,精确核验 10 个来源哈希,写入 10 个 Snapshot、2,639 个正式 Fragment,并返回与阶段 0 清单一致的 345 个审核单元。最小领域 Bundle 把当前 36 张领域表导出到包体外
exports/,只携带 10 个 Blob 身份;空数据库恢复后逐表状态、2 项知识搜索结果和导入命令重放均保持一致。资料字节、数据库、Bundle 与验证决定均未进入 Git 或应用包。 - M1C-USE-1(已完成):Evidence 读模型把 Fragment 连接回持久化 DocumentNode 并公开
nodeKind;网页只把sectionFragment 重建为当前来源的审核队列,保留已审核/总数进度、上一条/下一条、精确原文回看和提交后自动前进。真实 PostgreSQL 18 复跑十期后仍得到 2,639 个证据 Fragment、345 个队列单元,空库恢复后相同;浏览器链路覆盖提交与自动前进。没有新增迁移、依赖、个人资料或 AI 前置条件。 - M1C-PRIVATE(已完成):资料录入可显式标记隐私文档;完整原始和规范化正文继续保存在包体外 Blob;拆分后的知识修订传播隐私,涉及隐私知识端点的关系也进入隐私范围。默认搜索排除这些内容,只有当次勾选“查询隐私文档”才返回隐私知识、关系及单独的完整文档结果。2026-08-17 的 disposable PostgreSQL 18 smoke 从空库执行
000001–000006,用一份私密和一份普通合成文档验证原始备份、规范全文、知识与关系传播、默认隐藏和显式扩大范围;000006只给三张既有表增加布尔事实,没有新增依赖、个人数据或安全平台。 - M1C-USE-2(已完成):审核页改为左侧分页、中央 Fragment/人工评价、右侧关键词/联系意图的快速工作台;
有用程度与有趣程度分别写入信息价值和当前兴趣,处理动作保持独立并只接受用户最终确认。界面提供既有原因、可编辑的确定性关键词、拒绝自动联系和显式联系意图;提交自动前进,返回上一条恢复持久化结果。正式知识变更集编辑移到独立知识维护工作区。没有新增迁移、依赖或仓库内用户资料。 - M1C-USE-3(已完成):两个评分明确显示五个档位;用户可新增、选择和删除个人快捷标记。快捷栏按
workspaceId保存到外部数据根preferences/,源码不提供个人默认值,领域 Bundle 不携带该 UI 偏好;删除快捷入口不改写既有审核。该增量只增加小型文件端口与本地 GET/PUT 路由,没有数据库迁移或新依赖。 - M1C-USE-4(已完成):自动标签增加总开关、URL 域名开关和精确排除词。确定性提取器默认剥离链接目标、路径、附件名及其派生 token,只保留语义链接标题;筛选和快捷栏共同写入外部工作区个人偏好文件,旧 v1 快捷栏文件按安全默认值继续读取。审核工作区使用正常纵向滚动,不再以固定视口和隐藏溢出强制单屏显示,所有评价、标签、联系与提交内容均可顺序到达。没有新增数据库迁移、依赖或仓库内用户数据。
- M1C-USE-5(已完成):审核标签先按大小写无关身份和用户别名规则复用规范词条;知识维护页提供显式词表整理,可迁移当前分类后退役重复词条,并保存中英文翻译提示、相近词联系和“分类词条 → KnowledgeKind”规则。短 Fragment 的完整/拆分/压缩选择保留为审核倾向,实际处理计划按长度与结构优先形成单项;用户可把任一外部词条映射为
work,从已审核 Fragment 预填作品类知识项。所有别名、联系和类型规则仍位于包体外工作区个人配置;系统不硬编码真实词条,也不自动执行语义合并。 - M1C-USE-6(已完成):知识维护页新增按 Snapshot 组织的“审核转知识”队列,只接收已有完整/拆分/压缩准入决定的 section Fragment。短条目直接预填可编辑的标题、正文、知识类型、内容形成方式和状态;结构足以拆分的条目进入既有高级编辑器。每次成功提交后,界面通过现有确定性来源搜索重新读取当前知识,明确显示“已可检索”并前进到下一条;搜索刷新失败不会把已经提交的命令伪装成失败或诱导重复写入。隐私 Snapshot 只有显式选择时按隐私范围回读;个人词表规则继续只从包体外偏好文件读取。本增量没有新增迁移、API 路由、依赖或仓库内用户数据。
- M1C-USE-7(已完成):用户界面把内部
EpistemicRole改写为“内容如何形成”,四个选项分别说明来源原文、从来源整理、依据来源推断和用户补充判断,协议与数据库值不变。知识写入操作栏新增“返回上一条”;本次页面会话由快速队列创建的知识可以复用稳定 Item ID 和当前修订号保存修改,后端追加不可变修订并由确定性搜索回读,旧历史不覆盖。无法从搜索结果完整还原 provenance 的既有知识仍进入高级编辑器。本增量没有新增迁移、API、依赖或用户数据。 - M1C-USE-8(已完成):正式知识列表中的“在高级编辑器中修改”不再打开空白表单。网页通过新增的窄当前知识读取路由取得所选 Item 的稳定 ID、当前修订、标题、正文、类型、形成方式、状态、隐私事实以及完整 Fragment/历史修订来源,逐项预填高级编辑器;选择新 Fragment 才会明确替换原 Fragment 来源链,提交仍使用既有追加式知识命令。本增量没有迁移、新依赖或仓库内用户数据,且不会用信息不完整的搜索结果猜测 provenance。
- M1C-USE-9(已完成):新知识写入只提供概念、观点、事件、方法、资源、其他六个选项;内部
assertion仅改为“观点”显示,旧entity/framework/work修订不重写并统一按“资源”显示和筛选。000007只扩展knowledge_revision的类型约束以接纳真实other值。来源支持的新条目默认使用“来源原文所述”;知识状态和更广的知识框架留待后续讨论,不在本增量改动。
M1C 的退出条件已经满足:用户可以在本机网页、真实 PostgreSQL 和包体外数据根上完成上述闭环,并且无 AI 配置时仍能得到正确、可追溯的结果。同一应用构建可以在不修改 Git 或重新构建的情况下受控打开或恢复外部工作区;首版允许重启/重新打开,不把复杂无中断热重载列为退出条件。正式 TM2、容器认证、发布许可证、生产备份演练或未来安全强化仍可保持未签发;它们不能替代已经取得的产品结果。
M1C 的执行纪律:
- 不为每个子增量新建大型前置合同或 mandatory-ID ledger;只有公开协议、数据库兼容性或核心语义确实发生变化时才修订权威合同;
- 实现与聚焦行为测试同批交付,验收以用户流程和数据库结果为中心,不以测试数量为目标;
corepack pnpm run verify继续作为普通代码质量门,另加一条小型真实 PostgreSQL smoke;尚未准备好的正式环境测试报告为ENVIRONMENT_NOT_READY,不等于产品失败;- Test/Maintenance 发现产品缺陷时给出最小复现;只影响测试工具自身的发现直接进入延期强化备忘,不再派生 R1/R2/R3 修复链;
- 每完成一个步骤就保持可运行并进入下一步,不等待后续步骤的完美设计。
M1C-PERSIST 的固定功能验证使用项目自己的迁移 runner 在 disposable PostgreSQL
18 上顺序执行 000001–000005,二次执行返回 noop;同一应用代码读取两份位于
包体外的合成配置和数据根,两个 workspace 各提交一个完整 Evidence 图。测试数据均为
合成值,临时 Blob 根在验证后删除,仓库和应用包没有接收来源正文、偏好或 workspace
数据。M1C-API 随后复用这些 repository adapter,在同一 Nest 回环监听器上提供窄产品路由;150 KB Markdown JSON、健康检查和产品路由已经过真实本机 HTTP 集成测试。M1C-WEB 已把构建后的 React 应用从同一监听器提供,并以精简 Playwright 场景覆盖四个工作区、Git 来源提交、knowledge-revision derivation、确定性搜索/精确 Fragment 回溯、持久化快速审核、Bundle 导出/恢复、320/390/768/1024/1440 响应式与键盘首焦点。固定 issue 405 的真实纵向运行验证了 Framework 重组、撤回修订、shares_theme_with 一跳关系、稳定知识身份、直接来源过滤和命令重放;随后十期 smoke 验证 2,639 个正式 Fragment、345 个可重建审核单元及 36 表 Bundle 恢复。知识维护页现在复用同一知识命令和搜索协议完成逐条写入、来源回读与自动前进;高级修改先用窄读取边界加载完整当前修订和来源,再沿相同追加式命令保存,不另造第二套编辑状态。下一项不预设为新的横向合同,而由维护者实际搜索、修订和关联这些知识时出现的下一个材料性阻碍决定。
基础架构门已于 2026-08-08 完成:
- Windows/Linux 平台与恢复、中文/图片证据定位、协议与重复副作用方向已经过 M0-P 风险比例验证;
- 发现的 writer/reader 预算、容器/字节身份、运行时 schema、工作区 scoping、原子幂等、状态 fencing 和 WS 一致恢复问题已写为生产不变量;
- 非分布式探针依赖许可结果足以支持架构选择,但不授权生产依赖或发布;
- ADR 0001 与 ADR 0002 已接受;
- ADR 0004 已接受知识摄取与策略授权边界;
- ADR 0005 已接受来源支撑、版本化关系知识图及无 AI 完整操作路径;
- ADR 0006 已接受工程代码、运行配置、工作区数据、Blob 数据根和秘密存储的分离边界;
- 所有探针候选代码均禁止直接作为生产实现复用。
M0-S 已建立非浏览器、非容器的工程地基:精确 package/lockfile、最小应用入口边界、数据库迁移与角色合同、Windows/Linux 质量 CI、统一验证命令、默认拒绝的生命周期策略、许可证/NOTICE 与初始 SBOM。该结果由 ADR 0003 接受。 Playwright 浏览器制品、强制浏览器 CI、生产等价 Compose/镜像、数据库 CI 和 Linux parity 仍等待各自发布或部署准入;M1C 可以先运行本机浏览器与 disposable PostgreSQL 18 功能 smoke。未执行的正式门不得写成跳过或已通过,也不得阻塞与其无关的本地产品闭环。项目发布许可证与生产备份/部署仍有独立后续门。
架构门不替代阶段 0 的真实场景验证。阶段 1 的范围由固定周刊语料、逐条标注、搜索/维护任务和首要成功指标决定;浏览器与真实数据库门在相应实现需要它们时独立关闭。
以下阶段保留长期方向和历史验收依据,不表示其中每一项仍是当前活动代码。当前交付顺序以本文顶部的真值表、M1E-2 和项目状态为准;旧 Curation/Knowledge 范围不得从这些历史段落恢复。
目标:用真实周刊条目和真实找回任务决定知识核心,而不是继续抽象设计通用平台。
交付物:
- 首个信源固定为阮一峰科技周刊 GitHub 仓库;
- 至少 10 期固定历史周刊及其仓库、路径、提交身份和内容哈希;
- 以栏目独立条目为单位的内容分类,以及与分类相互独立的“完整处理 / 拆分 / 压缩 / 仅保留来源 / 忽略 / 待定”动作样例;
- 5–6 个真实的搜索、比较、核验或维护任务,不预设必须用图、树、时间线或问答完成;
- 初始知识类型、关系类型和图片用途的最小词表;
- 周刊正文、图片和二级链接的授权、保留期限和删除边界;
- 一个面向可追溯找回和正确变更的首要成功指标。
可以继续积累但不阻塞阶段 2A:完整偏好/探索评级、每项反馈原因、当前人工效率基线、自动分流指标,以及外部 AI 数据范围、核验站点和预算。它们分别在阶段 2B、3 或 4 启用相应能力前冻结。
已确认但不需要在阶段 0 再决策:
- 第一版通过网页验证入库、审核、知识浏览和搜索;
- 图片只保存、关联并标注用途;
- AI 可以自动提交低风险新增和非破坏性修订,高影响操作人工确认;
- 报告、QQbot、外部接口和云部署后移。
退出条件:可以用固定样本人工完整模拟一次“保存证据 → 解析条目 → 分类与准入 → 拆分/连接/重组 → 知识变更 → 搜索/核验 → 纠错或重处理”,并为每一步给出预期结果。完整偏好评级、自动入库阈值和兴趣模型不再阻塞该退出条件。
2026-08-10 的首批真实语料冻结曾用于历史验证;其详细身份清单和工作副本现已移到项目目录外的恢复归档。当前仓库只保留由该阶段形成的通用产品规则和代码,不再携带该语料清单。
目标:建立真实资料进入系统后的可靠证据、文档结构和人工判断基础。
候选范围:
- 从包体外加载运行配置,并拒绝仓库、安装目录或容器非持久层内的个人数据根;
- 默认仅监听本机回环地址的单用户浏览器界面,写操作使用本地会话认证和 CSRF 防护;
- 导入至少 10 期固定周刊 Markdown fixture,并保留 Git 来源身份;
Resource → Snapshot → DocumentNode/Fragment → MediaAsset证据链;- 按标题、栏目、列表项和图片位置解析文档,同时保留全文与原始顺序;
- 图片保存或受控引用、来源位置和用途标注;
- 网页端独立设置内容分类与完整处理、拆分、压缩、仅保留来源、忽略或待定动作,并可记录反馈原因;
- 查看原文、准确片段、文档上下文、导入状态、错误和重复处理结果。
退出条件:固定语料可重复导入、解析和标注而不产生重复副作用;每个内容单元和图片都能返回稳定证据位置;用户可以完成阶段 0 所需的代表性分类与准入决定。
2026-08-11 进展:前置切片 0 已在当时的非容器范围内完成。普通运行角色强制从包体外加载闭合配置,规范化外部数据根,并拒绝源码/安装目录 containment、配置与数据互相包含以及 symlink/junction 逃逸;固定数据区域和本地 SHA-256 Blob 端口已实现。pnpm 实际候选包内容通过闭合路径、普通文件、容量、秘密/本机路径检查并生成 SHA-256 清单;工作区 Bundle v1 通过注册分区 codec、规范 JSON、16 MiB 默认预算、Blob 引用和 secretHandling=excluded 完成合成往返。后继领域切片已实现导出与完整个人数据包,M1M 又实现备份/空库恢复和容器源码;目标镜像与生产发布仍不因这段历史记录自动通过。
来源证据数据库边界已冻结为
C-SLICE-A-EVIDENCE-r2。r2 仅要求
Resource.source_key 使用 adapter-owned、deterministic、portable opaque identity,
并由闭合应用边界拒绝本机绝对路径、Windows 反斜杠形式和 traversal segment;
000002 迁移及其他 r1 语义保持不变。提交
c50ad35e07b2f1b64cd938b0417d4b6bd7c231aa 已通过固定候选 TM1:27 项模块与静态矩阵全部通过,覆盖工作区、逻辑 Blob、Resource/Snapshot、Git 观察、确定性文档结构、Fragment 和 MediaAsset/Usage 的迁移声明与纯逻辑边界。该结果不包含 PostgreSQL 实际解析、约束、事务、运行角色或容器执行;这些项目继续位于具名 TM2/容器准入门之后。
C-SLICE-A-MARKDOWN-r2 的实现提交 7a27c2d63c64c13a2e933bdcc90ce13f98fbfaf2 已通过正式固定候选 TM1:128/128 项强制矩阵和 23/23 项精确错误矩阵全部通过。该结果接受纯 CommonMark 解析、独立 ruanyf-weekly-v1 profile、规范定位、稳定 ID 与结构哈希、外部媒体引用、封闭 Evidence 装配和有界资源预检;它不新增数据库表,也不表示真实 PostgreSQL、HTTP、浏览器、网络抓取或真实周刊导入已经通过。
C-SLICE-A-CURATION-r3 的实现提交 ac03c18ce568b3d2d090104bbb41727aa22afe05 已通过正式固定候选 TM1:128/128 项强制矩阵和 31/31 项精确问题矩阵全部通过。该结果接受精确 Snapshot/Fragment 上的空起始用户词表、版本化内容分类、六种独立准入动作、可选分维度评级、A0 人工命令、原子幂等回放、闭合输入与 000003 静态迁移合同;它不表示真实 PostgreSQL、HTTP/浏览器、正式知识、检索、偏好模型、自动准入或 AI 已经通过。下一步进入阶段 2A,冻结并实现无 AI 的原子知识变更、版本化知识项与关系核心。
阶段 2A 的首个边界
C-SLICE-B-KNOWLEDGE-r3 已在固定候选
f18c0346910de824ef20d074d88744c446946025 上通过正式 TM1:224/224 项强制
矩阵、282 项聚焦测试、811 项全仓单元测试和 2 项集成测试全部通过,完整质量门
与 611 项候选应用制品审计通过。该结果接受从当前获准证据或显式人工编辑到 A0
人工 KnowledgeChangeSet、稳定知识项/关系身份、不可变修订、精确来源、原子
幂等回放和 000004 静态迁移合同。它不表示真实 PostgreSQL、事务/锁/并发、
运行角色、HTTP/浏览器、检索、导出恢复或 AI 已经通过。确定性检索作为紧邻
子增量读取这套规范模型;别名、集合、树、冲突、导出、HTTP/浏览器和 AI 不与
首个迁移捆绑。
紧邻检索增量
C-SLICE-B-RETRIEVAL-r3 已在固定
候选 dfaecb622515cc640802562485e715cc7da35cc8 上通过正式 TM1:308/308 项
强制矩阵、324 项聚焦测试、1,135 项全仓单元测试和 2 项集成测试全部通过,
完整质量门与 631 项候选应用制品审计通过。该结果接受当前知识项的双 NFC +
ASCII 大小写折叠文本匹配、显式结构过滤、直接来源、一跳关系、稳定 UTF-8
排序、游标和匹配原因。它不表示真实 PostgreSQL 查询下推、跨页并发一致性、
索引、查询计划、HTTP/浏览器或扩展检索已经通过;这些能力保留给后续具名门。
C-SLICE-B-POSTGRES-r3 已指导实现
旧 Curation、Knowledge 与 Retrieval 的 PostgreSQL repository adapter、共享 pool、
事务和工作区锁。它们曾支撑 M1C 功能 smoke,但没有签发正式 TM2。ADR 0009 已删除
这些旧 adapter 与活动命令,只保留冻结合同、迁移和 Test-owned harness 作为历史档案;
档案不进入日常类型检查、lint 或产品脚本,也不能阻断当前 Entry 主线。
目标:在没有任何 AI、Embedding 或模型凭据时完成首个真正的产品闭环,让获准资料能够被人工或确定性工具变成可解释、可维护和可找回的知识。
候选范围:
- 用户扩展词表和
ContentClassification,与IntakeDecision、知识类型、认知角色、审核状态及操作来源分列; - 稳定
KnowledgeItem、不可变KnowledgeRevision、别名、引用和派生; - 稳定
KnowledgeRelation与不可变关系修订,允许重复、补充、更新和冲突陈述并存; - 人工选区拆分、创建、修订、关联、撤回、补偿、合并审核和重新处理;
- 通过集合、排序成员、树位置、保存查询和框架重组既有知识,不复制正文;
- 用户命令、确定性解析器、声明式规则和导入器共享同一个
KnowledgeChangeSet、权限、幂等、引用和事务边界; - 结构化过滤、精确匹配、别名、中文子串、来源、时间和关系遍历搜索,并显示匹配原因;
- JSON 工作区导出、备份和恢复,排除秘密并验证版本、引用和 Blob 完整性。
退出条件:满足产品需求中的 MVP-0A 验收;所有正式来源型知识都能回到具体证据和变更集,重复处理无重复知识副作用,索引删除后可以重建,仓库和构建包不包含个人数据。
阶段 2A 不再一次性交付全部候选范围。M1C 先只使用已经实现的知识项/关系、精确来源、Framework 类型修订和当前确定性检索形成可运行闭环。别名、集合、树位置、保存查询、ConflictCase、时间过滤、搜索投影和完整导出恢复在纵向闭环之后按真实需求逐项加入,不得作为 M1C 前置门。
目标:证明 AI 能提高拆分、比较、连接和搜索综合效率,同时不拥有另一套知识语义,也不成为核心可用性的前提。
候选范围:
- AI 处理计划和对象、概念、断言、事件、方法、框架及关系提取;
- 分开保存原文摘录、来源陈述、AI 总结、AI 推断和用户断言;
- 与既有知识的重复、补充、过期、关联和冲突比较;
- AI 只产生标准
KnowledgeChangeProposal,再由阶段 2A 的命令和变更集边界提交; - 对已准入内容按 A1 范围授权自动提交低风险新增和非破坏性修订;
- 合并、删除、重要冲突裁决和大规模结构调整转人工;
- 可选 Embedding 召回和带逐项引用的自然语言综合;
- AI 关闭、超时、预算耗尽或供应商切换时,阶段 2A 功能不降级。
退出条件:满足产品需求中的 MVP-0B 验收;同一语义操作由人工、确定性规则和 AI 提案发起时产生相同的规范变更形状,AI 结果可追溯、可审核、可拒绝,禁用 AI 后仍能完成全部核心任务。
目标:让首个信源连续运行,并在不形成信息茧房的前提下逐步减少人工筛选。
候选范围:
- 每周发现新一期、Git 游标、可恢复调度、重试和变化检测;
- 从人工反馈提议可读、版本化的
PreferenceProfile; - 独立、用户可控的
ExplorationPolicy,覆盖邻域扩展、跨领域连接、基础缺口、新兴信号、观点多样性和偶然发现; - 信息价值、偏好、探索、噪声和不确定性的分维度评估;
- 高确定性内容自动处理、低价值内容自动忽略、中间区域人工审核;
- 自动化试运行、阈值、数量/费用预算、暂停、解释、接管和补偿修订;
- 用户反馈原因区分“已经知道”“质量低”“暂时不需要”“不感兴趣”等语义。
退出条件:满足产品需求中的 MVP-1 验收;连续处理多期无静默漏抓或重复入库;自动决定可以解释和覆盖;探索内容不会被偏好学习逐步清零。
目标:将已验证的摄取逻辑扩展到不同文档形态,并安全使用实时网络补充或核验知识。
候选范围:
- 手工上传 Markdown、纯文本、HTML、项目文档和经过准入的 PDF;
- 按文档类型生成处理计划,支持原子知识、全文级知识和框架级知识并存;
- 图片区域、用途和派生文本;需要真实样本后才加入 OCR;
ConflictCase、允许站点、来源优先级、查询/费用预算和网络证据快照;- 私人知识、实时网络和混合查询;
- 带出处自然语言回答,清楚显示来源范围、证据年龄、冲突和不确定性;
- 根据真实任务加入最小知识树、时间线或关系浏览,不预先建设大型图谱画布。
退出条件:至少两种不同文档形态可以在不丢失原结构的前提下进入同一知识系统;本地与在线答案来源清晰;重要结论有修订级引用;证据不足时系统不会伪装成确定答案。
目标:在知识核心稳定后,通过报告和通用接口触达用户及其他项目。
候选范围:
- 日报/周报按知识变化、主题、对象、探索原因和冲突编排;
- 通用、版本化 HTTP 命令/查询、WebSocket 实时进度和可靠 Webhook;
- 带签名、防重放、至少一次投递的 outbox 和死信处理;
- QQbot 只作为薄适配器展示摘要、查询结果和受控网页链接;
- 后续需要时再加入身份绑定的一键审核,不从普通自然语言直接执行高影响操作;
- 本地项目的能力级授权、目录白名单和资源限制,不提供通用命令执行。
退出条件:报告只展示真实知识与处理状态;重复命令和事件不产生重复副作用;推送失败不影响知识核心;外部项目无法越过网页端相同的权限与审计边界。
目标:让单一所有者通过 HTTPS 认证反向代理访问回环绑定的容器服务,并保持数据、自动化和外部交互可恢复。
候选范围:
- 宿主 HTTPS、单用户认证、私有默认权限、密钥管理和外部模型策略;
- 附件迁移、备份恢复、资源配额、费用预算和运行监控;
- 稳定资源/工作区 ID、API 与事件版本;
- 调度游标、规则版本、知识变更和投递状态在重启或恢复后保持一致;
- 本地桥接程序主动向云端建立认证出站连接,云端不扫描用户局域网。
退出条件:未认证用户无法读取私人内容;备份恢复不会重新批量入库或推送;自动化授权和人工撤回在恢复后保持一致;密钥不进入内容与普通日志。
目标:在偏好、探索、可信边界和回滚机制得到长期验证后,提高 AI 的自主性。
候选范围:
- 在指定主题、站点或查询范围内自动发现候选信源;
- 跨来源交叉印证、冲突和过期维护;
- 更广泛但仍分动作授权的局部结构优化;
- 自动化预算、每批数量上限、暂停、解释、模拟和回滚;
- 用长期反馈更新偏好,但保持独立探索预算和来源/观点多样性;
- 对任何扩大权限、合并、删除、重要冲突裁决或大规模重组继续要求人工确认。
提高自动化等级需要基于真实变更集的接受率、纠错率和回滚率,不使用单一固定置信度门槛,也不以点击率代替知识质量。
- 原始来源、文档结构、AI 产物、控制记录和正式知识分层;
- 内容分类、准入动作、知识类型、认知角色、审核状态和操作来源分开建模;
- 无 AI 模式是正式、完整的操作路径,而不是故障或只读降级;
- 任何重要结论可追溯;
- 模型和来源适配器不能直接写正式知识;所有自动提交都具有用户命令或明确策略版本;
- 高影响动作需要明确权限并默认转人工;
- 当前偏好、探索价值、信息价值和事实可靠性分别建模;
- 偏好学习不能自动覆盖探索策略或把探索内容逐步降为零;
- 外部内容不能提升自己的工具权限;
- 所有异步工作可恢复、可重试且可观察;可重试写操作幂等,至少一次事件投递由接收方去重;
- 稳定 ID、工作区边界和 API 版本从第一版保留;
- 工程代码、外部运行配置、工作区数据、Blob/导出/备份和秘密存储完全分离;个人数据不进入 Git、fixture 或正式包体;
- 自动化能够暂停、解释、接管并通过补偿修订撤回;历史证据和审计不被静默删除;
- 不以复杂图谱、更多模型或更多连接器代替真实使用价值。