Skip to content

P0/P1/P2/P3 交付证据矩阵

本页的 P0–P2 实现证据冻结自 2026-07-27 的最后一个文档刷新前 exact-main 基线 main@0e091261233e7430ce5b904ad84d33569de910a1。P2-5 只有在后续合并提交通过 exact-main 门禁并完成 Pages 部署后才独立验收。P3 证据按 leaf 记录:每行明确实际执行的 merge commit、Test Suite、文档 run 和 Pages deployment;本页不暗示某个后续文档提交重新执行了全部历史门禁。

证据规则

  • 实现证据来自生产代码、配置、Flyway 迁移、OpenAPI 合同或生成类型。
  • 自动化证据来自可重复的单元、集成、浏览器、真实 provider 或 CI 门禁。
  • 运行证据必须绑定精确提交、workflow run、环境指纹和保留制品;不能把前一个叶子任务的结果直接套用到后续提交。
  • ROADMAP.md 是唯一规范路线图。历史 Trellis task 与 PR 是执行证据,不是第二份路线图。

P0 稳定性底座

已交付能力实现证据自动化证据边界
租户感知缓存隔离TenantKeyUtils 与文件查询/写入缓存注解把条目和驱逐绑定到 tenantId:userIdcache proxy 与跨租户服务测试授权事实始终来自认证后的租户上下文,不接受调用者提供缓存 key
管理端外部 ID 安全文件管理控制器在持久化调用前使用 IdUtils 解码外部 ID非法、空值和授权控制器测试混淆外部 ID 不能作为数据库主键直接使用
可恢复上传清理上传状态持久化 tenant、user、SUID、路径、重试和最终化 claimcleanup/restart/finalization 集成测试清理失败保留有界人工恢复入口,不伪报成功
Manifest 驱动完整性校验IntegrityCheckService、active chunk manifest、存储 HEAD 与 V1.17.0__manifest_backfill_governance.sql三级完整性与告警控制器测试file.fileHash 是链记录 ID,不能替代 contentHashplainHashcipherHash

P1 可信证明产品化

已交付能力实现证据自动化证据边界
可恢复批次上链candidate/batch 持久状态机、写前/写后查询恢复、有界生产准入链故障、重试耗尽、并发和 exact-main CI未知链上存在状态不能降级为 false;写入耗尽后只允许 query-only 恢复或人工终态
合约身份治理不可变 registry 绑定 chain、address、语义版本、ABI 指纹、runtime bytecode 与部署回执FISCO/Besu registry、runtime code、receipt、nonce 与回滚测试合约自报名称/版本不能单独证明身份
签名证明 ZIP v2确定性八条目 STORED ZIP、canonical JSON、compact JWS EdDSA、不可变签发快照、公开 key/status 端点ZIP 边界、签名、生命周期、限流、审计隔离和并发测试proof-bundle.v1.1 JSON 已弃用且未签名;其后端 verifier 仅用于兼容读取
独立验证器platform-verifier SDK、CLI、独立 Web 服务共享 DefaultProofVerifier合法、篡改、撤销、离线、SSRF、ZIP 边界 fixture只有本地检查全过、Ed25519 key 可信、在线状态为 ACTIVE 且实时链根匹配才是 VALID;resolver 不可用返回 INDETERMINATE
公开边界加固可信客户端 IP、无租户公共限流桶、权威 SSE 短 token、按 shareCode 恢复 owner tenanttenant/header/proxy/rate-limit 负向和审计隔离测试调用者租户头或转发头不能成为 proof/share/SSE 权威事实源

P2 大文件与高并发闭环

叶子任务已交付合同主要证据验收证据
P2-1 原生提升direct create -> staging 预签名 PUT -> complete;同 endpoint 条件式服务端 copy,跨 endpoint 有界流;receipt 先于 repair/cleanupStorageProperties.DirectUploadConfig、promotion/receipt/intent/tombstone 服务、后端最终化 claim真实 MinIO/Redis、重启/竞态测试与 96 MiB 受限堆门禁
P2-Q1 前端依赖修复完整前端开发依赖图阻断新 High/Critical,且不削弱测试frontend workspace/lockfile 与 CI audit指定 Dependabot 告警真实 fixed,未 dismissal
P2-Q2 Jackson 运行时修复API/backend/FISCO/storage/verifier 的 Jackson 2.x/3.x 安全补丁保持一致五个 Maven 依赖树与 JSON/日志兼容测试运行时告警 fixed,刷新后的依赖证据不含旧版本
P2-1A 测试依赖修复storage test scope 固定安全 Commons Compress/Lang3 并设置最低版本门禁storage POM/enforcer 与 test/runtime 依赖树真实容器测试通过;test-only 依赖未进入生产 runtime
P2-2 有界下载自有/公开分享/认证分享共用一个 manifest reader;明确区分 NONE、legacy v1、framed AEAD v2;支持的浏览器通过事务型 File System Access sink 写盘;允许一次身份栅栏保护的 401/403 当前分片续传FileDownloadMetadataBuilder、generated OpenAPI alias、boundedDownloader.tsdownloadSink.tsfileSize.ts、framed v2 迁移/fixtureChromium 64/256/512 MiB 门禁证明应用缓冲不随文件增长、稳定身份刷新可恢复,漂移/篡改/截断/取消/sink 失败均在提交前 abort
P2-3 Manifest 治理租户级 SCAN/DRY_RUN/APPLY、insert-only 发布、确定性分类、引用 census 与独立开关 sweep管理控制器/服务与 V1.17.0__manifest_backfill_governance.sql事务/并发/崩溃恢复/安全测试;不根据 map 顺序、ETag、文件名或链记录 ID 猜测
P2-4 负载与故障证据direct-path k6 与强制 MinIO/Redis/Toxiproxy 矩阵覆盖上传、下载、quorum、降级修复、超时、竞态和清理tools/k6/direct-path.jsperf-smoke.yml、storage fault/load ITexact-main Test Suite 30209115456;Linux amd64/Java 21.0.11 受限 smoke 完成 8/8 文件且生命周期残留为零;不可变指标见 retained report
P2-Q3 docs 依赖公告修复docs workspace 固定 DOMPurify 3.4.12 与 PostCSS 8.5.18docs/pnpm-workspace.yaml 与可复现 lockfilePR #315、exact-main docs deploy、docs low audit 零公告;#588/#590 fixed 且未 dismissal
P2-5 在线文档本双语证据矩阵与同步后的架构/API/运维页面VitePress 路由与导航、规范路线图、OpenAPI、一致性脚本只有 docs build、一致性检查、exact-main 部署与在线 Pages 验收都成功后才算完成

P3 企业密钥治理

Leaf精确合并与实现证据自动化证据精确运行/Pages 证据边界
P3-1 wrapping provider 与外部 KMSPR #317,exact main@cfe9b9e54eefa01246dbddda7ab5a4c27717a3dcFileKeyEnvelopeServiceVaultTransitKeyWrappingProviderV1.18.0__key_wrapping_provider_metadata.sqlVaultTransitKeyWrappingProviderITKeyWrappingProviderMigrationIT 以及 provider/configuration 单测Test Suite 30222751986Deploy Documentation 30222751977、Pages deployment 5614564147历史 envelope 只按持久化 provider/contract 路由;生产 Vault 可用性和权限由环境负责,异常时失败关闭。
P3-2 自动 envelope rotationPR #318,exact main@a4ba5acf3864fd341219a7382d13b2cd30d3afde;rotation policy/run/item 服务、管理控制器和 V1.19.0__automated_key_rotation.sqlKeyRotationMigrationIT 以及 scheduler、claim、崩溃恢复、审计、指标、控制器测试Test Suite 30235985313Deploy Documentation 30235985338、Pages deployment 5616938788应用只确认外部退休,不禁用或删除 provider key;run 不得超出冻结的候选快照。
P3-3 runtime crypto agilityPR #319,exact main@c0bd8076994ce0cb3bf98a3ff0f722c60ea84a4cCryptoSuiteRegistry、租户 policy/管理 API 和 V1.20.0__runtime_crypto_agility.sqlRuntimeCryptoAgilityMigrationIT、registry/policy/configuration 测试和持久化身份分派回归Test Suite 30245935210Deploy Documentation 30245935295、Pages deployment 5618660915ML-DSA/ML-KEM 条目仍为 experimental/unimplemented,不能用于生产写入;历史制品不得回退到新默认值。
P3-4 明文密钥暴露收敛PR #320,exact main@7f9d639f3395269735e9efeb3dbea4e9e025d412FileKeyGrantService、认证/公开 consume 控制器、generated OpenAPI types 和前端内存态下载流FileKeyGrantRedisIT、控制器/限流/审计隔离、前端生命周期、non-extractable key、OpenAPI、浏览器 E2E 测试Test Suite 30267453969Deploy Documentation 30267454033、Pages deployment 5622671802默认使用 grant-v1 且响应 no-storeplaintext-v0 必须显式协商、默认关闭并受硬截止约束。浏览器清理减少常规暴露,不等于物理内存取证保证。

以上每行都是对应 exact leaf 的历史证据。后续提交只通过正常 Git 祖先关系继承实现,仍须执行自身适用门禁;skipped 或不适用 job 不能写成重新执行通过。

当前传输限制与默认值

合同当前值
直传文件 / part 上限4 GiB / 100 MiB
提升流缓冲默认 64 KiB;有效范围 8 KiB~1 MiB
提升传输 deadline默认 300 秒;最大 1,800 秒
staging 保留至少 48 小时
浏览器内存 fallback硬上限 64 MiB
下载分级500 MiB 建议流式;2 GiB 为超大文件;绝对上限 100 GiB
有界 reader最多 10,000 parts、网络块 1 MiB、最多 3 次 fetch;401/403 立即刷新 metadata,只有 5xx 有限重试
legacy v1 密文 part约 80 MiB 加 4 KiB 兼容开销

以上是配置和产品限制,不是吞吐承诺。

依赖公告边界

P2-Q3 只代表绑定当时 lockfile 的历史 docs audit,不是仓库永久零公告。带边界快照 main@85a57ae847423308cf60683c6fd299d51a1650f1(2026-08-10 14:51 CST)有 3 open,均为 Maven / Medium 的 org.apache.commons:commons-lang3,位于 platform-verifier/sdkplatform-verifier/cli-verifierplatform-verifier/web-verifier。当前 Spring Boot BOM 解析为 3.17.0,首个 patched version 是 3.18.0。P6 supply-chain maintenance 必须在 2026-09-30 前或下一次 release 前(取更早者)完成独立 Maven 兼容升级与复验。实时值始终以 Dependabot live view 为准;依赖图或 registry 变化后不得把本快照继续写成 current。

发布验收

后续每次变更都必须在候选提交上重新执行适用测试,正常合并后获取 merge SHA,再等待真正适用于该精确 origin/main 的工作流。只有同一 SHA 的 Pages 部署成功且关键中英文路由能读取到新内容,在线文档才算发布完成。

Released under the Apache 2.0 License.