From 9683e0be4d892e6a6a134b45a065e591e139da3c Mon Sep 17 00:00:00 2001 From: Joseph Magly <1159087+jmagly@users.noreply.github.com> Date: Sun, 16 Aug 2026 05:43:27 -0400 Subject: [PATCH] docs: refresh Gate 3 item 6 audit evidence --- .aiwg/testing/gate3-increment-6-report.md | 31 +++++++++++++++-------- .aiwg/testing/master-test-plan.md | 14 +++++----- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/.aiwg/testing/gate3-increment-6-report.md b/.aiwg/testing/gate3-increment-6-report.md index 1b9ab0b..4964471 100644 --- a/.aiwg/testing/gate3-increment-6-report.md +++ b/.aiwg/testing/gate3-increment-6-report.md @@ -3,7 +3,7 @@ Date: 2026-08-16 Exact base: `e8ac3b65670d696ed5b68f06adf14706bc2ff865` Exact core implementation and local evidence head: -`8a13ea9965c0c455b42262c3b81e4ea3bf9ae798` +`77adf119f871ba820f1f02d55fe2760aa24c84b2` Status: PASS locally; exact-head PR audit, hosted matrix, and canonical merge remain pending @@ -11,19 +11,19 @@ remain pending | Gate | Result | |---|---| -| Focused contracts | 70 new tournament, interactive, local-launcher, and Watchtower-UI tests passed | -| Mandatory CPU lane | Python 3.12: 2,053 passed, 2 expected source-shadow xfails, and 9 conditional tests deselected in 56.34s | -| Repository coverage | 78.69% statements / 66.05% branches before; 82.77% / 69.60% after | +| Focused contracts | 74 new tournament, interactive, local-launcher, and Watchtower-UI tests passed | +| Mandatory CPU lane | Python 3.12: 2,057 passed, 2 expected source-shadow xfails, and 9 conditional tests deselected in 56.15s | +| Repository coverage | 78.69% statements / 66.05% branches before; 82.78% / 69.62% after | | Mature CPU scope | 93.27% statements / 83.06% branches | -| Changed executable lines | 51/51 (100%) against the exact base | +| Changed executable lines | 62/62 (100%) against the exact base | | Touched production modules | 5/5 pass exact-base line and branch no-regression | | Tournament lifecycle | `tourney.py`: 12.01% / 0% before; 83.09% statements / 77.78% branches after | | Interactive decisions | `interactive.py`: 10.49% / 0% before; 76.92% / 73.53% after | | Local launcher | `local_ui.py`: 48.15% / 15.22% before; 85.19% / 63.04% after | -| Watchtower UI handlers | `ui_watchtower.py`: 0% / 0% before; 70.89% / 83.33% after | +| Watchtower UI handlers | `ui_watchtower.py`: 0% / 0% before; 72.07% / 85.29% after | | Pure checkpoint seam | `tourney_contracts.py`: 100% statements / 100% branches | | Changed-seam mutation | 9/9 checkpoint-parser mutants killed; configured campaign expands from 2,020 to 2,029 mutants | -| Repeatability | 665 tests passed in each of three file orders/hash seeds; 34.300s total; no flake candidates or consistent failures | +| Repeatability | 669 tests passed in each of three file orders/hash seeds; 35.353s total; no flake candidates or consistent failures | | Policy | Ruff F, conditional policy, source-to-test risk map, mutation-target guard, global/mature coverage, changed-line, and touched-module gates passed | The repository statement and branch exits now both exceed the Gate 3 targets. @@ -77,18 +77,27 @@ Negative tests for the installed-Gradio update path, empty model IDs, malformed iteration names, and unreadable iteration directories raised the final gate to 51/51 without weakening the 95% policy. +The exact-head audit then found that base model-directory aliases (`.` and +`..`) and a symlinked model directory could escape or alias the managed +auto-obliterate root before iteration selection. The download handler now +resolves the root and selected model directory strictly, requires a contained +directory, and returns only a resolved contained iteration. Four focused +outcomes cover both aliases, a model-directory symlink escape, and unreadable +root/model-directory resolution, raising the final changed-line result to +62/62. + ## Verification and evidence - Mandatory Python 3.12 coverage: - `/tmp/obliteratus-item6-rebased-coverage.json` + `/tmp/obliteratus-item6-finalfix-coverage.json` - Mandatory Python 3.12 JUnit: - `/tmp/obliteratus-item6-rebased-junit.xml` + `/tmp/obliteratus-item6-finalfix-junit.xml` - Exact-base Python 3.12 coverage: `/tmp/obliteratus-main-e8ac3b6-UGNOIz/coverage-py3.12.json` - Final repeat evidence: - `/tmp/obliteratus-item6-rebased-repeat-vU1gQh/` + `/tmp/obliteratus-item6-finalfix-repeat-p9WOFE/` - Exact-head package artifacts: - `/tmp/obliteratus-item6-rebased-package-tRW7rz/` + `/tmp/obliteratus-item6-finalfix-package-mzTdWl/` - Mutation metadata and prepared selection evidence: ignored worktree-local `mutants/` artifacts at the exact implementation head diff --git a/.aiwg/testing/master-test-plan.md b/.aiwg/testing/master-test-plan.md index 983a620..da5c3a4 100644 --- a/.aiwg/testing/master-test-plan.md +++ b/.aiwg/testing/master-test-plan.md @@ -34,12 +34,12 @@ Windows checkpoint, supply-chain, and all other hosted jobs passed on attempt 1: https://github.com/elder-plinius/OBLITERATUS/actions/runs/31937799938. Gate 3 increment 6 is implemented and locally verified at exact core evidence -head `8a13ea9965c0c455b42262c3b81e4ea3bf9ae798`. Python 3.12 passes 2,053 +head `77adf119f871ba820f1f02d55fe2760aa24c84b2`. Python 3.12 passes 2,057 mandatory tests with 2 expected source-shadow xfails and 9 conditional tests -deselected in 56.34s; coverage is 82.77% statements / 69.60% branches; mature -CPU coverage is 93.27% / 83.06%; 51/51 changed executable lines and all five +deselected in 56.15s; coverage is 82.78% statements / 69.62% branches; mature +CPU coverage is 93.27% / 83.06%; 62/62 changed executable lines and all five touched modules pass. All 9 new checkpoint-parser mutants are killed, the full -campaign expands to 2,029 mutants for hosted verification, and 665 tests pass +campaign expands to 2,029 mutants for hosted verification, and 669 tests pass in each repeat order with no flakes. Exact-head PR audit, hosted matrix, and canonical merge remain pending; details are in `gate3-increment-6-report.md`. @@ -299,8 +299,8 @@ resistance, environment evidence, or deterministic replay. | Measure | Current | Gate 3 minimum | |---|---:|---:| -| Repository statements | 82.77% item-6 candidate | 80.00% | -| Repository branches | 69.60% item-6 candidate | 65.00% | +| Repository statements | 82.78% item-6 candidate | 80.00% | +| Repository branches | 69.62% item-6 candidate | 65.00% | | Mature CPU statements | 93.27% item-6 candidate; 73 lines remain | 94.00% | | Mature CPU branches | 83.06% item-6 candidate; 29 branches remain | 84.00% | | Changed executable lines | 95.00% floor | 95.00% floor | @@ -395,7 +395,7 @@ single repository-wide coverage PR. 5. **Completed at `aa182cc` (PR #105).** Add BESTIARY/model-client/watchtower transport and scheduler state contracts. Exact evidence is recorded in `gate3-increment-5-report.md` and the canonical PR follow-up. -6. **Implemented locally at `8a13ea9`.** Add tournament, interactive, and UI +6. **Implemented locally at `77adf11`.** Add tournament, interactive, and UI decision-seam contracts. Exact local evidence is recorded in `gate3-increment-6-report.md`; audit and canonical merge remain pending. 7. Extend the installed tiny-model vertical slice and quantized-storage