Skip to content

Commit 42081e6

Browse files
committed
docs: record v58 release gates
1 parent 4b570f7 commit 42081e6

5 files changed

Lines changed: 11 additions & 0 deletions

File tree

‎README.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@ schema v58 新增不可变的 `sandbox_docker_host_input_requirement.v1`。对
159159

160160
v58 本地发布门禁已通过最终代码的全仓普通/race 测试(158.1 秒/168.4 秒)、vet、零告警 staticcheck、module verify/tidy diff、零可达漏洞 govulncheck、严格 TypeScript、8 个文件 17 项前端测试、OpenAPI 无漂移、生产构建、零漏洞 npm audit、凭据/运行产物/进程入口/乱码/Markdown 链接扫描、diff 检查、Linux sandbox test binary 交叉编译和隔离真实二进制 schema-v58 workspace smoke。领域 requirement 50 轮、Store 候选/缺失 requirement 30 轮、Application 恢复/防扩权 20 轮,以及 Store/Application race 各 10 轮通过。审计修复了 pending operation-key 恢复错误重建候选 attempt、durable requirement 下不成对 flags 被接受、迁移后 direct-SQL 新 attempt 缺失 requirement、false requirement 的零只读挂载兼容性等问题;当前未发现未解决高/中风险。Windows 本机无 Docker,故 v59 所需 Linux real-daemon handoff harness 尚未执行,也没有作出 daemon consumption 声明。
161161

162+
GitHub Actions run `29400696276` 已通过功能提交 `4b570f7`;Go/Linux 与 TypeScript 作业分别用时 2 分 39 秒和 23 秒。
163+
162164
首次 GitHub Actions run `29395980413` 只暴露 Linux 单文件测试夹具错误:夹具把唯一 mount 目标改成文件路径,却保留目录工作目录,Manifest 正确拒绝该状态;生产实现未失败。修复后的测试保留覆盖工作目录的只读目录 mount,并增加独立单文件 mount,从而真实覆盖 `directory_count < read_only_mount_count`。run `29396264276` 已通过提交 `8719dff`,Go/Linux 与 TypeScript 作业分别用时 3 分 55 秒和 23 秒。
163165

164166
v47 发布复核进一步加固了 Supervisor 并发恢复与预算边界:阶段切换重放会在观察到目标状态后重新核对幂等操作,取消测试会等待 Provider 真正进入调用后再触发取消;任何已经持久化 `model.started` 的 root 模型调用至少计入 1ms,避免 `999/1000ms` 的 deadline 边界被重复进入。该修复不改变 schema、不开放新能力,也不重解释旧 Specialist 账本。GitHub Actions run `29325171043` 已通过 Go 与 TypeScript 全部门禁。
@@ -302,6 +304,8 @@ Schema v58 adds immutable `sandbox_docker_host_input_requirement.v1` facts. For
302304

303305
The v58 local release gate passed the final code's full ordinary/race suites (158.1s/168.4s), vet, zero-warning staticcheck, module verification/tidy diff, zero-finding govulncheck, strict TypeScript, 17 tests across 8 frontend files, OpenAPI drift, production build, zero-vulnerability npm audit, credential/runtime-artifact/process-entry/replacement-character/Markdown-link scans, diff checks, Linux sandbox test-binary cross-compilation, and an isolated real-binary schema-v58 workspace smoke. Requirement domain tests passed 50 repetitions, Store candidate/missing-requirement tests 30, Application recovery/no-widen tests 20, and Store/Application race repetitions 10 each. The audit fixed pending operation-key recovery rebuilding the wrong candidate attempt, unmatched staging flags accepted beside a durable requirement, direct-SQL post-migration attempts lacking a requirement, and zero-read-only-mount compatibility for false requirements. No unresolved high- or medium-severity issue is known. This Windows host has no Docker, so the schema-v59 Linux real-daemon handoff harness has not run and no daemon-consumption claim is made.
304306

307+
GitHub Actions run `29400696276` passed feature commit `4b570f7`; its Go/Linux and TypeScript jobs completed in 2m39s and 23s.
308+
305309
Initial GitHub Actions run `29395980413` exposed only an invalid Linux single-file test fixture: it changed the sole mount target to a file while retaining a directory working directory, which the Manifest correctly rejected; production code did not fail. The corrected fixture retains one read-only directory mount covering the working directory and adds a separate file mount, exercising the intended `directory_count < read_only_mount_count` case. Run `29396264276` passed commit `8719dff`; Go/Linux and TypeScript completed in 3m55s and 23s.
306310

307311
The v47 release audit also hardens Supervisor concurrency recovery and budget accounting. Phase-transition replay rechecks the idempotency operation after observing the target state, cancellation tests wait for the Provider call to begin, and every root model call with a durable `model.started` fact is charged at least 1ms so a `999/1000ms` deadline cannot be entered repeatedly. This changes no schema, grants no capability, and preserves the interpretation of historical Specialist ledgers. GitHub Actions run `29325171043` passed every Go and TypeScript gate.

‎docs/PROGRESS_BOOK.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,8 @@ schema v58 durable pre-stage host-input requirement 切片已完成实现。Appl
638638

639639
最终本地门禁全部通过:全仓普通/race 用时 158.1 秒/168.4 秒;vet、零告警 staticcheck、module verify/tidy diff、零可达漏洞 govulncheck、严格 TypeScript、8 个文件 17 项前端测试、OpenAPI 无漂移、生产构建、零漏洞 npm audit、凭据/运行产物/进程入口/乱码/Markdown 链接扫描、diff、Linux sandbox test binary 交叉编译和隔离真实二进制 schema-v58 workspace smoke 均为绿色。领域 requirement 50 轮、Store 收敛/缺失 requirement 30 轮、Application pending recovery/防扩权 20 轮及 Store/Application race 各 10 轮通过。审计修复了 pending operation-key 恢复误建候选 attempt、durable requirement 旁不成对显式 flags、迁移后 direct-SQL 新 attempt 缺失 requirement,以及 false requirement 零输入兼容性;未发现未解决高/中风险。Windows 本机没有 Docker,故 v59 Linux real-daemon handoff harness 未运行。
640640

641+
GitHub Actions run `29400696276` 已通过功能提交 `4b570f7`,Go/Linux 2 分 39 秒,TypeScript 23 秒。
642+
641643
本轮架构审计发现 Docker Engine archive 写入会拒绝 read-only rootfs/volume,因此 v58 没有把 v57 密封包直接 PUT 到目标容器,也没有将目标根或输入改为可写。archive、volume、start、exec、pull、build、export 与 Artifact 权限均未增加,`daemon_consumed=false`、`execution_evidence=false` 保持不变。ADR 0018 将下一切片拆为 schema v59:daemon-owned writable carrier、固定目的地上传、daemon readback 摘要核验、carrier 删除、以只读 volume 重建仍未启动目标容器,并要求 crash/retry/cleanup/collision 独立证明。架构完成度暂保持约 98%,产品可用度约 45-50%,因为本切片增强恢复安全而未开放新的终端用户执行能力。
642644

643645
Docker/Local 真实进程执行继续关闭,直到 v51 每项检查都有独立可复核的生产证据,且 Sandbox input handoff、资源、网络、取消与原子 Artifact 导出全部通过单独审计;v52 的模拟通过、v53 的元数据观测、v54 的编译/假写、v55-v56 的未启动容器演练/恢复、v57 的 daemon-unconsumed sealed bundle 和 v58 的 durable requirement 都不能满足该要求。下一切片 schema v59 只实现并审计 daemon-owned immutable handoff,仍不开放 start。

‎docs/PROJECT_MEMORY.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ The v58 audit rejected direct archive upload into the read-only target: Docker r
8686

8787
Final local gates pass: full ordinary/race suites took 158.1s/168.4s; vet, zero-warning staticcheck, module verification/tidy diff, zero-finding govulncheck, strict TypeScript, 17 tests in 8 frontend files, OpenAPI generation, production build, zero-vulnerability npm audit, repository privacy/artifact/process/encoding/Markdown scans, Linux sandbox test-binary cross-compilation, diff checks, and isolated schema-v58 real-binary workspace smoke are green. Domain requirement tests passed 50 repetitions, Store convergence/missing-requirement tests 30, Application pending-recovery/no-widen tests 20, and Store/Application race repetitions 10 each. The audit fixed pending operation-key recovery selecting a new candidate, unmatched explicit flags beside a durable requirement, direct-SQL post-migration attempts without requirements, and false-requirement zero-input compatibility. No unresolved high/medium issue is known. Linux real-daemon handoff evidence remains pending because this Windows host has no Docker.
8888

89+
GitHub Actions run `29400696276` passed feature commit `4b570f7` with Go/Linux in 2m39s and TypeScript in 23s.
90+
8991
GitHub Actions run `29396264276` passed commit `8719dff` with Go/Linux in 3m55s and TypeScript in 23s, providing the Linux runtime proof. The preceding run `29395980413` failed only because the single-file test fixture no longer covered its directory working path; the corrected mixed directory/file fixture now exercises the intended report constraint.
9092

9193
## Next Slice

‎docs/PROJECT_STATUS.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,8 @@ Expected context behavior:
700700

701701
- Schema v58 adds one immutable pre-stage host-input requirement atomically with each new v56 attempt, initial lease, and audit events. Required attempts recover v57 capture without repeated flags and cannot complete without evidence; false requirements cannot widen. Migration places only preexisting attempt IDs in an immutable compatibility set, and SQL rejects any post-migration stage/staging/completion with neither a requirement nor that marker. Events and CLI stay metadata-only. Direct archive upload was rejected because it conflicts with the read-only target; no archive, volume, start, exec, pull, build, export, or Artifact capability was added. Focused tests cover zero-input false choices, flag pairing, pending/completed operation replay, generation-two recovery, direct-SQL missing requirements, migration markers, immutability, privacy, and independent-ID convergence. Full ordinary/race suites pass in 158.1s/168.4s; vet/staticcheck/module/govulncheck, strict TypeScript, 17 frontend tests, OpenAPI/build/npm audit, repository scans, Linux cross-compilation, and isolated schema-v58 binary smoke are green. Repetitions pass at 50 domain, 30 Store, 20 Application, and 10 race rounds per Store/Application group. The audit fixed pending operation recovery rebuilding a candidate, unmatched flags beside durable facts, missing SQL discrimination for new versus legacy attempts, and false-requirement zero-input compatibility. No unresolved high/medium issue is known. The v57 bundle remains daemon-unconsumed and schema v59 remains required.
702702

703+
- GitHub Actions run `29400696276` passed feature commit `4b570f7` with Go/Linux in 2m39s and TypeScript in 23s.
704+
703705
## Recommended Next Slice
704706

705707
Continue P6 with a separately gated schema-v59 daemon-owned immutable input handoff. Persist a write-ahead handoff intent bound to the v58 requirement, exact v57 bundle digest, current authority, lease generation, and deterministic container identity. Use only a daemon-owned writable carrier and one fixed archive destination; read the bytes back through the daemon, verify the digest, remove the writable carrier, and recreate the still-never-started target with the verified carrier mounted read-only. Do not make the target root/input writable, broaden fixed endpoint/API validation, accept arbitrary destinations, pull/build images, or expose generic volume control. Prove crash/retry/cancellation/cleanup/collision behavior and keep every start/execution/backend/Artifact flag false. Only after that gate should termination, running-container orphan recovery, output collection, and atomic Artifact commit be designed. HTTP/React mutation, Rust analyzers, broader network/secret support, real end-user execution, and CTF solving remain deferred.

‎docs/TASK_BOOK.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ P7 已推进到 schema v47:schema v41 为每个 Run 固定 `code|cyber` 工作
219219
- [x] v58 恢复以持久事实为准:required attempt 即使不重交 staging flags 也会完成 v57 捕获,false requirement 不能随后扩权;Go/SQL 双层阻止 required 无证据 completion、false requirement staging、跨 attempt/plan 复用、更新或删除。legacy v57 attempt 不回填虚构意图并保留兼容行为。迁移、不可变性、隐私、并发收敛、operation replay、崩溃恢复与 CLI 定向测试已覆盖。
220220
- [x] v58 设计审计确认 Docker archive 写入与只读目标不兼容,因此没有通过放宽 `ReadonlyRootfs` 或输入可写性来“解决”交接;本切片不新增 archive、volume、start、exec、pull、build、export 或 Artifact 权限,v57 事实继续固定 `daemon_consumed=false`、`execution_evidence=false`。决策记录见 ADR 0018。
221221
- [x] v58 发布门禁通过全仓普通/race(158.1 秒/168.4 秒)、vet/staticcheck/module/govulncheck、严格 TypeScript、17 项前端测试、OpenAPI/构建/npm audit、仓库隐私/产物/进程/编码/链接扫描、Linux 交叉编译与隔离真实二进制 smoke。高频 domain/Store/Application/race 回归通过;审计修复 pending operation-key 恢复候选错误、不成对 flags、迁移后 direct-SQL 缺失 requirement 和 false requirement 零输入兼容性,未发现未解决高/中风险。
222+
- [x] v58 GitHub Actions run `29400696276` 已通过功能提交 `4b570f7`,Go/Linux 2 分 39 秒、TypeScript 23 秒。
222223
- [ ] schema v59 单独设计并实现 daemon-owned volume carrier:固定目的地上传、daemon 回读摘要、删除可写 carrier、以只读 volume 重新创建仍未启动的目标容器,并证明 crash/retry/cleanup/collision 收敛;完成前不得开放 start。
223224
- [ ] 完成 v59 后再单独实现并审计 per-run start/wait/kill/orphan 生命周期。
224225
- [ ] 本地代码默认只读挂载,输出目录独立可写。

0 commit comments

Comments
 (0)