feat(ql3): establish 3.0 incubation baseline

This commit is contained in:
whyour
2026-08-12 00:25:26 +08:00
parent 4bf92dcfeb
commit c699c32461
2817 changed files with 779642 additions and 653 deletions
@@ -0,0 +1,44 @@
# ADR-0311Local Owner Pepper Custody 的 Package 收敛
- 状态:Accepted
- 日期:2026-08-09
- 关联 RFCQL-RFC-0001 D-87、D-175、D-257
- 关联 ADRADR-0083、ADR-0185、ADR-0267、ADR-0276、ADR-0302、ADR-0304
## 背景
`@qinglong/local-owner-keyring` 只有一个公开入口和三个实现文件,没有独立 binary、部署制品、第三方依赖、
版本生命周期或独立 production consumer closure。它的所有生产消费者已经依赖
`@qinglong/local-owner-console`,因此这个 package 只表达源码分组,却增加 workspace importer、lockfile、
SBOM、拓扑构建和低配设备安装元数据。
迁移前 GitNexus 将 file provider 判为 CRITICAL(7 个直接调用、2 条执行流程),两个配置/不可用错误类判为
HIGH;其余节点为 LOW。该风险来自 Pepper provision、credential recovery 和 GC 的真实调用链,不能通过
删除校验或扩大导出来降低。
## 决策
1. 删除 `@qinglong/local-owner-keyring` workspace package;实现原样进入
`@qinglong/local-owner-console``src/pepper-custody/` owning domain。
2. 普通 custody 只通过 `@qinglong/local-owner-console/pepper-custody` 暴露;销毁能力只通过
`@qinglong/local-owner-console/pepper-custody/destructive` 暴露,并继续只允许 Maintenance 的精确 GC
consumer 导入。
3. 旧 package 名成为全局 dependency/import tombstone,不能作为兼容 facade 回流。
4. 合并不得改变 POSIX no-follow、UID/mode/inode 复核、key generation、备份绑定、错误 identity、GC retention
或失败关闭语义。
## 结果与证据
- workspace package 19→18;源码总数保持 781,根源码 32→31、nested 749→750Owner Console 为
11 source/0 root/11 nested。
- Owner Console 55/55、Owner CLI 116/116、Maintenance 13/13,完整 18-package clean build/test 通过;
package boundary、dependency 与 Profile vulnerability 审计均无 finding。
- 十档制品全部 compatible;合并前后的生产代码闭包不扩大,Owner destructive authority 仍未进入常驻
Application、Cluster 或 Worker。
- 本批不改 SQL、migration、PostgreSQL/Cluster runtime 或部署资源,因此不重复运行 PostgreSQL HA 门。
## 被否决方案
1. 保留空 facade package:继续支付 importer/SBOM 成本,也允许旧边界永久回流。
2. 把 destructive export 合入普通 custody root:扩大误导入面,破坏最小 authority。
3. 把 Pepper 实现移入 SQLite:文件 custody 是 POSIX authority,不是数据库 adapter ownership。