docs(ql3): record alpha.2 candidate evidence

This commit is contained in:
whyour
2026-08-26 06:19:20 +08:00
parent e3c05862b8
commit 3731ae6051
3 changed files with 15 additions and 11 deletions
+2 -2
View File
@@ -11,7 +11,7 @@
最新增量证据(2026-08-26):
- Alpha 阶段产物门(已有本地可加载候选,远端归档待显式授权):`QingLong 3.0 CI` 的显式 `produce_alpha_artifacts` 门只在手动里程碑运行中归档已经通过原生测试的镜像,而不把普通 push/PR 的中间构建冒充发布。source `b45a5e04b7f49ffdadd5117b6b5253c6f1c05430` 已产出 Local arm64 Docker archiveSHA-256 `58bbc250833c9e86321718aea70ac0a637699b84c18531fa7a82b35e90b7fa83`)、CycloneDX SBOM、manifest、verification evidence 与 checksum重新 `docker load` 后的 image ID/architecture/user、read-only/no-network smoke、128 MiB Edge/Standalone lifecycleSQLite integrity 与 HIGH/CRITICAL=0 已复验。对应远端 CI 40/40 与原生 arm64 Local image job 已通过,但因尚未授权向 GitHub 上传源码派生镜像/SBOM,当前是 owner-private 的本地阶段产物,不是公开可下载 release。Local 可称为用户隔离试运行候选;Cluster 仍只是 integration candidate,因为离线 tag 尚未满足 public GHCR digest、catalog、deployment-lock生产 HA/DR/CSI/IdP 门。
- Alpha 阶段产物门(已有源码一致的 `3.0.0-alpha.2` 本地可加载候选,远端归档待显式授权):`QingLong 3.0 CI` 的显式 `produce_alpha_artifacts` 门只在手动里程碑运行中归档已经通过原生测试的镜像,而不把普通 push/PR 的中间构建冒充发布。source `e3c05862b8c2690d69f58b098cdc128a09c83f97` 已产出 Local arm64 Docker archiveSHA-256 `01afb30cbe0c21f980ca083ad98fd316e659941f940dd8930ffd9ccfa7153edf`image ID `sha256:dfce2cc9d70044d75f72f2cc3075e1f24569fb9fe279d9c25a45698c19c3bde9`)、CycloneDX SBOM、release-candidate contract、manifest、verification evidence 与 checksumimage identity/architecture/non-root user、read-only/no-network、128 MiB/0.5 CPU smoke、Edge/Standalone lifecycle/graceful stop/SQLite integrity、库存对账与 Trivy 0.70.0 HIGH/CRITICAL=0 已复验。macOS Docker Desktop 无法等价证明的 Local API cancellation 由原生 Linux arm64 job `97986754052` 通过;本机 Edge 首次 startup receipt 在 Docker Desktop 文件桥出现一次瞬态,精确重跑和原生 Linux 门均通过,证据未隐藏首次失败。远端 CI run `32903679764` 首轮为 37/40(两项 GitHub action 内部 DNS 失败、一次 PostgreSQL 18 x64 scheduler 并发断言),failed-only attempt 2 收敛为 40/40;独立 Kubernetes deployment run `32903679644` 与三节点 Security Administration/CNPG/PVC run `32903679570` 同源成功。因尚未授权向 GitHub 上传源码派生镜像/SBOM,当前是 owner-private 的单架构阶段产物,不是公开可下载 releaseamd64 同级 archive、public GHCR digest、签名/attestation、catalog、deployment-lock生产 HA/DR/CSI/IdP 仍是升级为完整双架构里程碑或 Public Release Set 的硬门。
- D-407/ADR-0502(已完成受审 Kubernetes live ceremony):Cluster API credential pepper 从“数据库保存 key ID、运行时却只有一个固定 material”收敛为最多 old/new 两代的显式 keyring。Security Administration 只用 active key 签发并持久化 exact IDCluster Control 按 credential record 精确选一把 key,未知 ID/material 一律 unavailable,绝不 fallback 或遍历,因此认证热路径仍为一次摘要。旧 raw pepper 只通过 `legacy-v1` singleton bridge 保持通用 CLI/进程兼容;Kubernetes Job 和常驻 Cluster Control manifest 已统一为 keyring-only,不再维护第二套单值 Secret 注入模式。新增 `pepper.references` 以数据库时间返回最多 64 个当前 latest active/unexpired credential ID 和 `hasMore`,只作为退休前检查,不执行删除。keyring 文件有 2 KiB、canonical/no-symlink/private/stable-read 边界,无 watcher/timer/新连接池;Edge/Standalone package、依赖与常驻资源零变化。远程 run `32893754795` 在 source `beb490c48c7d8ee4aee629924b5003fd8c73e9cb` 上完成 K3s `v1.34.3+k3s1` 三节点、CloudNativePG 1.30.0 三实例 PostgreSQL 18.4、三次真实双副本反亲和 rollout 和五次 `/api/v3` 认证 probeold/new 在 overlap 期间均认证成功并因无 Project role 返回 403,旧代引用从 1 收敛至 0contract 后 old 返回 401、new 仍返回 403;数据库保留 1 个旧代/3 个新代 credential version、四次授权拒绝与一次认证拒绝。首次远程失败还暴露了 no-symlink 运行时约束与 kubelet Atomic Writer 投影的架构冲突;最终部署用 hardened init container 固定解析一个 `..data` generation,将 CA/keyring 复制成 `0400` Pod-private 普通文件,常驻容器不再读取原始 symlink 投影。完整 backend 为 `1599 total / 1597 pass / 2 conditional skip / 0 fail`,治理/部署聚焦门为 88/88source `f8934b401d724378fe5a6ea9dbe63e696b5480b9` 的远程 CI run `32898407637` 为 40/40CloudNativePG failover、Plugin Package PostgreSQL OCI recovery、Secret rotation、Provider credential K3s/CNPG 等关键 live job 全部通过,独立 Kubernetes deployment run `32898407590` 同样通过。live 报告离线复审 `compatible=true/findings=[]`SHA-256 为 `d9e9fd1395adcef60f7f360959fcad27a9b2f0b132869bc1c75043dedd400ff6`。该门关闭应用合同与权限边界,不冒充生产 control-plane HA、跨主机 STONITH/DR、加密 CSI 或外部 ingress TLSmaterial GC、持久 active catalog、索引/大规模查询计划、远程 UI/API 与双人复核仍是后续门禁。
@@ -9375,7 +9375,7 @@ v3.0.0 达到合流门槛后的正式版本
```text
whyour/qinglong:next
whyour/qinglong:3.0.0-alpha.1
whyour/qinglong:3.0.0-alpha.2
@whyour/qinglong@next
```
@@ -47,7 +47,10 @@ contract 还会携带 identity schema 与 canonical SHA-256,使发布证明能
目标必须是严格单调递增的 exact QingLong 3 SemVer;降级、相等版本、build metadata 和非 canonical SemVer 均拒绝。
plan 精确列出每个 path、mode、替换次数、before/after bytes 与 SHA-256,并对 unsigned canonical 内容形成自身 digest。
当前 `3.0.0-alpha.0 → 3.0.0-alpha.1` 计划覆盖 65 个文件、83 处替换,根 2.x package 不在集合中。
首轮 `3.0.0-alpha.0 → 3.0.0-alpha.1` 计划覆盖 65 个文件、83 处替换;当前
`3.0.0-alpha.1 → 3.0.0-alpha.2` 计划覆盖 66 个文件、86 处替换,plan digest 为
`sha256:1c4d4401934b0ea26fe99eb21d70193de1ca07a72ad60f60540ea0ed15e1fa1c`apply report digest 为
`sha256:ca035e396c738269c575c58ecb272729ed15b46985dafca09c468e38e3e4bbbd`。两次迁移都明确排除根 2.x package。
### 4. apply 必须先全量预检,再允许逐文件收敛
@@ -57,7 +60,7 @@ apply 在第一次写入前验证 plan 自身、legacy 版本、完整文件集
原 plan 可原样重放直至全部 target,成功后再运行完整 identity audit。report 区分 changed/already-current,并以 canonical
SHA-256 绑定 plan 和结果。
该协议提供进程中断后的幂等恢复,不宣称跨 65 个文件的单事务原子性,也不替代 Git review/commit。机器断电时的目录项
该协议提供进程中断后的幂等恢复,不宣称跨整个受管文件集合的单事务原子性,也不替代 Git review/commit。机器断电时的目录项
持久性由文件系统和 Git 工作区恢复承担;apply 不自动 commit、tag、push 或触发 release。
## 资源与权限边界
+8 -7
View File
@@ -14,15 +14,16 @@
## 当前阶段实物(2026-08-26
当前已经存在一份 owner-private、可重新加载的 Local arm64 候选,而不是只有源码或 Dockerfile
当前已经存在一份`3.0.0-alpha.2` 源码身份一致、owner-private、可重新加载的 Local arm64 候选,而不是只有源码或 Dockerfile
- source revision`b45a5e04b7f49ffdadd5117b6b5253c6f1c05430`
- image`qinglong3-local-application:ci-arm64`image ID `sha256:59e39cd0c71e5a5c2bc99c599d5aa240c59f215008f8d12fde4243c984274426`
- archive SHA-256`58bbc250833c9e86321718aea70ac0a637699b84c18531fa7a82b35e90b7fa83`
- 同目录包含 `manifest.json``verification-evidence.json`、CycloneDX 1.5 SBOM、`README.md``SHA256SUMS`全套 checksum`docker load` 后身份/smoke 已复验;
- HIGH/CRITICAL OS vulnerability 为 0128 MiB、0.5 CPU、read-only、no-network、drop-all 下的 Edge/Standalone fresh lifecycle 与 SQLite integrity 已通过;原生 Linux arm64 CI 另行覆盖 macOS bind-mount 无法等价证明的 Local API cancellation。
- source revision`e3c05862b8c2690d69f58b098cdc128a09c83f97`
- image`qinglong3-local-application:alpha2-e3c05862-arm64`image ID `sha256:dfce2cc9d70044d75f72f2cc3075e1f24569fb9fe279d9c25a45698c19c3bde9`
- archive SHA-256`01afb30cbe0c21f980ca083ad98fd316e659941f940dd8930ffd9ccfa7153edf`
- 工作区目录 `.tmp/ql3-alpha-e3c05862b8c2690d69f58b098cdc128a09c83f97-local-arm64/` 包含 `manifest.json``verification-evidence.json`release-candidate contract、CycloneDX 1.5 SBOM、`README.md``SHA256SUMS`全套 checksum`docker load` 后身份和资源约束 smoke 已复验;
- HIGH/CRITICAL OS vulnerability 为 0128 MiB、0.5 CPU、read-only、no-network、drop-all 下的 Edge/Standalone fresh lifecycle、graceful stop 与 SQLite integrity 已通过;本机 Edge 首次运行曾在 Docker Desktop 文件桥上出现一次 startup receipt 发布瞬态,精确重跑通过,未将首次失败隐藏为成功;
- 原生 Linux arm64 Local image job `97986754052` 已覆盖 Docker Desktop 无法等价证明的 Local API cancellation。完整 CI run `32903679764` attempt 2 为 40/40,独立 Kubernetes deployment run `32903679644` 与三节点 Security Administration run `32903679570` 同源通过。首轮 CI 的两项 `pnpm/action-setup` 内部 DNS 失败和一次 PostgreSQL 18 x64 scheduler 并发断言均在 failed-only rerun 收敛。
该实物保存在工作区忽略目录,不进入 Git,也尚未上传 GitHub。远端 40/40 CI 与原生 arm64 image job 已通过;公开下载仍需维护者明确授权上传。它足以作为单架构内部试运行材料,但在 amd64 同级 archive 和远端 artifact identity 未齐全前,不得把它升级为完整双架构阶段里程碑或公开 release。
该实物保存在工作区忽略目录,不进入 Git,也尚未上传 GitHub。公开下载仍需维护者明确授权上传。它足以作为单架构内部试运行材料,但在 amd64 同级 archive 和远端 artifact identity 未齐全前,不得把它升级为完整双架构阶段里程碑或公开 release。
## 生成