Skip to content

[P2] 内容/文件编辑与 Revision 完整契约 #79

Closed

Description

@LIghtJUNction

2026-09-28 核验:结构化文本 patch/独立 Revision 签名已合入,完整文件契约待验

基线 main 13c562ea05d273e618b1ea06b9e452da79d4439f、完整 CI 36384948145 及逐测试核验见 #83。#101 已加入 exact/unified diff/Markdown heading/block 编辑与独立 Revision 签名;core/text_patch.py 当前包含对应解析/匹配实现,不再整体标为未实现。

已完成切片与不变量

剩余验收

  • 完整 create/read/write/patch/mkdir/move/copy/delete/list/stat/batch 的 schema、别名、元数据、scope、mode/owner/group、base_revision/generation、不存在/冲突和并发矩阵;目录管理不授子项正文写。
  • exact/context/unified/heading/block 的歧义、重复行/碰撞、编码和大块边界、只有目标块未改且上下文唯一才 rebase;行指纹默认关闭且不作 ID/授权。
  • 模板版本/默认值固化与签署范围、文章/回复/附件/关系独立 Revision、作者与 actor/subject、metadata/history 签名和零副作用读取;旧正文/签名/key_id 不变。
  • 批量一项失败、先可靠存正文后发布、DB 回滚/孤儿 GC、归档/恢复/purge 的保留和引用边界;无法交付真实内容时拒绝,不发布空成功。
  • Markdown 链接/LinkSet/相对 href、锚点、改名/移动稳定引用、raw/Range/下载授权,不能曝宿主路径或裸 CAS。
  • file/Revision 与 grep/Search 的短上下文、输出/复杂度/扫描限额;跨协议签名和 CLI 窄编辑路径,完整 PG/Git 恢复与 doctor/selftest/CI。

任务 C

主责文本/Revision/模板与文件操作语义,B 主责 Transfer/Git/CAS/hosting 的物理存储与发布;边界通过 ResourceRef/BlobRef/content_ref 对齐,不各自实现第二套文件模型。客户端身份/恢复沿用 A。

先补失败回归再最小修复,保留 #101 和历史已验契约。公共接线/状态文档只由 C 按 #83 串行集成。原第05/07/10/11/15章范围不变,部分证据不关闭总体验收。

Activity

  1. LIghtJUNction commented on Sep 29, 2026

    @LIghtJUNction
    ContributorAuthor

    2026-09-29 当前接续(#185 已合并)

    main 5cdaeba2b7b191a27684093cce7b5a153c99c88d / tree 3ad68f2012896310abfa9bcaf800c9ab05f6c886 已实际读回,等于最终PR通过的树。18个PR工作流全部success;8份ZIP摘要/JUnit node-ID独立核验 2531 core + 8 conformance,零失败/错误/跳过。精确来源和产物摘要见 #185证据,更新索引见#83。合并后main push是独立运行,正在核验,不预记成功。

    内容/file/patch/Revision、签署字节与恢复等既有断言随当前全量通过。发布wheel的221个包文件与git源码逐字节相等,sdist代码/锁/部署文档/新回归相等,项目TOML完整语义相等。保留DB事实原子发布与可回收物理孤儿的区别;不从构建成功推导真实共享盘断电回滚或完整所有条款。

    各条款源码入口与独立现场材料见 docs/RELEASE_ACCEPTANCE.md。本评论更新证据归属,不降低原验收范围或扩大现场权限。

  2. LIghtJUNction commented on Oct 3, 2026

    @LIghtJUNction
    ContributorAuthor

    内容/文件编辑与不可变Revision的当前契约已落地,可关闭。main 105c2cf7 的CI包含file权限/冲突/目录所有者边界、损坏二进制源拒绝、结构化patch格式/歧义/EOF与字节限额、独立Revision签名与旧原文不变、batch并发/中途失败/真实PG COMMIT故障;历史/diff/稳定引用继续走当前授权。

    原子性保证是数据库事实和引用一起发布;物理写失败可留待回收孤儿,不承诺回滚已发生的文件系统动作。目标共享盘/断电/容量与旧生产迁移仍由#80/#84/#65跟踪,本次没有这些现场操作。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions