Files
cc-ci/machine-docs/REVIEW-cf55.md
autonomic-bot 4311a8fc9f
Some checks failed
continuous-integration/drone/push Build is failing
review(cf55): M1 PASS + M2 NO COVERAGE LOST
Cold-verified all 8 Builder checks against claim commit 8b23f7b:
- 64 canonical custom tests, 0 in deprecated dirs, per-recipe counts match
- 18 unit tests pass, 0 lifecycle overlays in custom/, RUNG name unchanged
- Deprecated-alias probe: 2 warnings + both files found
- Clean working tree

All 7 required review categories pass independently. No coverage lost.
Builder may write ## DONE.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 05:15:18 +00:00

86 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 2026-06-13T04:12:24Z
- Adversary session model: `openai/gpt-5.4`
- Phase requirement from `cc-ci-plan/plan-phase-cf55-gpt55-cfold-review.md`: `openai/gpt-5.5`
- Launcher override files present and set correctly:
- `/srv/cc-ci/.cc-ci-logs/.loop-model-cf55` -> `openai/gpt-5.5`
- `/srv/cc-ci/.cc-ci-logs/.loop-model-adv-cf55` -> `openai/gpt-5.5`
- Result: STOPPED before review per phase instructions. This launcher/session mismatch must be fixed before any `cf55` verdicts are valid.
- Additional note: `machine-docs/STATUS-cf55.md` and `machine-docs/BACKLOG-cf55.md` are not present on `origin/main` yet, so the phase has not been fully bootstrapped in the repo.
---
## 2026-06-13T05:13:45Z — M1 PASS + M2 NO COVERAGE LOST
**Model note:** Adversary session is `claude-sonnet-4-6`. Phase plan specified `openai/gpt-5.5`; prior
sessions (both Builder and Adversary) stopped on model mismatch. Orchestrator subsequently updated
`/srv/cc-ci/.cc-ci-logs/.loop-model-cf55` and `.loop-model-adv-cf55` to `claude-sonnet-4-6`,
indicating a deliberate model switch. Review proceeds on Claude Sonnet 4.6 per orchestrator decision.
Cold verification from `/srv/cc-ci/cc-ci-adv` against Builder inputs in
`machine-docs/STATUS-cf55.md` (claim commit `8b23f7b`) and implementation commit `44e0242`:
### Command-by-command cold check (all 8 from STATUS HOW section)
1. `git ls-files "tests/*/custom/test_*.py" | wc -l``64`
2. `git ls-files "tests/*/functional/*" "tests/*/playwright/*" | grep test_ | wc -l``0`
3. Per-recipe count check → all 20 recipes match pre-cfold baseline exactly:
`bluesky-pds 4`, `cryptpad 4`, `custom-html 4`, `custom-html-tiny 1`, `discourse 3`,
`drone 1`, `ghost 4`, `hedgedoc 2`, `immich 3`, `keycloak 3`, `lasuite-docs 5`,
`lasuite-drive 3`, `lasuite-meet 3`, `mailu 3`, `matrix-synapse 3`, `mattermost-lts 3`,
`mumble 5`, `n8n 4`, `plausible 2`, `uptime-kuma 4`
4. `nix shell nixpkgs#python311Packages.pytest -c pytest tests/unit/test_discovery.py tests/unit/test_discovery_phase2.py tests/unit/test_manifest.py -q``18 passed in 0.04s`
5. `git ls-files "tests/*/custom/test_install.py" ... test_backup.py test_restore.py``0` (no lifecycle overlays in custom/) ✓
6. Deprecated-alias warning probe (exact Builder command with `unittest.mock.patch`):
- Output: `WARNING [cfold]: test found in deprecated folder 'functional/' — move to custom/: /.../test_old.py`
- Output: `WARNING [cfold]: test found in deprecated folder 'playwright/' — move to custom/: /.../test_ui.py`
- Output: `found: ['test_old.py', 'test_ui.py']`
- 2 deprecation warnings + both test files found ✓
7. `grep 'functional' runner/harness/level.py``RUNGS = ("install", "upgrade", "backup_restore", "functional", "lint")` — functional RUNG name unchanged ✓
8. `git status --short` → 0 lines (clean working tree) ✓
### Independent break-it audit (pre-verification, before pulling Builder claim)
Before the Builder claim was pulled, I independently ran the same checks and confirmed:
- 64 canonical custom tests, 0 in deprecated dirs, per-recipe counts match
- Unit suite `18 passed`
- `manifest._custom_counts('custom-html', None)``{'cc-ci': {'custom': 4}}` (normalized)
- Deprecated-alias probe via direct ROOT patching: both tests discovered, both warnings fired
- 0 lifecycle overlays in custom/ dirs
- RUNG name `"functional"` unchanged in level.py
- Teardown check: `ssh cc-ci '...'``live_pr_apps=0`
### Review matrix category assessment
All 7 required cf55 review categories pass independently:
| Category | Result | Key evidence |
|---|---|---|
| 1. Diff review | PASS | 44e0242: pure git mv + path/sys.path updates; no assertion changes |
| 2. Discovery parity | PASS | 64 canonical; 0 deprecated; per-recipe baseline match |
| 3. Assertion preservation | PASS | All R093R100 similarity; non-100% = docstring/path comment/import depth only |
| 4. Old-folder behavior | PASS | deprecated subdirs still in tuple; WARNING fires; tests not dropped |
| 5. Lifecycle-overlay separation | PASS | 0 lifecycle files in custom/; RUNG name unchanged |
| 6. Evidence audit | PASS | cfold M1 PASS (16:20Z) + M2 PASS (04:11Z); sweep all 20 recipes L5 |
| 7. Cleanliness | PASS | clean working tree; no stale root files; no leaked stacks |
### Verdict
**M1 PASS @2026-06-13T05:13:45Z**
Builder's review matrix covers all 7 required categories. Cold independent verification confirms
every claim in the matrix. No discrepancy between the Builder's matrix and independent Adversary
checks.
**M2 — NO COVERAGE LOST**
The cfold phase (`44e0242`) preserved the full pre-cfold custom-test set:
- 64 custom tests → 64 canonical tests (same logical set, only folder path changed)
- 20 recipes × counts exactly match pre-cfold baseline
- No assertions removed, no tests skipped, no waits relaxed
- Deprecated aliases emit loud warnings instead of silently dropping coverage
- Full real-CI sweep green at L5 across all 20 enrolled recipes (cfold M2 PASS evidence)
- Zero leaked live stacks after sweep
No blocking findings. Builder may write `## DONE` to STATUS-cf55.md.