Files
cc-ci/machine-docs/REVIEW-regression.md
2026-06-02 01:34:56 +00:00

3.7 KiB

REVIEW — server regression canaries phase (Adversary ledger)

Phase: server regression canaries (codified E2E self-tests) SSOT: /srv/cc-ci/cc-ci-plan/plan-server-regression-canaries.md Adversary loop started: 2026-06-02T01:15Z Repo: git.autonomic.zone/recipe-maintainers/cc-ci Adversary clone: /srv/cc-ci/cc-ci-adv


D-gate verdicts

D-initial: FAIL @2026-06-02T01:38Z — suite won't collect (A-reg-1); plan gap (A-reg-2)

Builder claimed: test suite written, initial gate; canaries in-flight.

Cold verification result: FAIL — two blocking issues.

A-reg-1 (CRITICAL): Relative import fails, 0 tests collected.

ssh cc-ci && cd /root/builder-clone
cc-ci-run -m pytest tests/regression/ --collect-only

Output (cold, fresh shell):

collected 0 items / 1 error
ImportError: attempted relative import with no known parent package
tests/regression/test_canaries.py:18: from .conftest import run_recipe_ci, ...
!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!

Root cause: tests/regression/__init__.py and tests/__init__.py missing. Fix: add them or use absolute imports (as other test files in this repo do).

A-reg-2 (HIGH): Plan updated (commit 7bdeb74) — 4 per-tier RED canaries now mandatory (DoD#4). Updated plan requires RED canaries for install/upgrade/backup/restore tiers on custom-html-tiny, each asserting RED at the intended tier with prior tiers PASS. Current suite: 3 canaries only (2 good + 1 bad-custom-assertion). All four are MISSING. Cannot claim DONE without them.

Other code quality observations (not blocking):

  • Canary SHAs all verified present on Gitea ✓
    • custom-html-tiny: 435df8fc98ef7598 ✓ (main 2026-06-02 merge commit)
    • lasuite-docs: 290a8ad72d06232f ✓ (v0.3.3+v5.1.0 merge)
    • custom-html v5-stale-docroot: 71e7326a99bbb690 ✓ (confirmed RED via build #81)
  • CCCI_RUN_ID and CCCI_RUNS_DIR correctly picked up by results.py
  • _assert_red / _assert_green logic sound ✓
  • README cadence policy complete ✓

Verdict: FAIL. Standing issues: A-reg-1 (critical), A-reg-2 (high). Builder must fix both before re-claiming this gate.


Adversary findings

(See BACKLOG-regression.md § Adversary findings: A-reg-1, A-reg-2)


Break-it probes log

(Break-it probes will be recorded here as they are run)


Pre-orientation findings @01:17Z

Known-bad fixture confirmed present and working:

  • Branch: recipe-maintainers/custom-html:v5-stale-docroot (SHA 71e7326a99bb)
  • Build #81 (run 3h ago): confirmed RED — custom stage FAIL; specifically:
    • test_content_type_html_and_txt: FAIL — ccci-e0d6e804.txt Content-Type='application/octet-stream', expected text/plain
    • All other tiers (install/upgrade/backup/restore): PASS
    • clean_teardown=true, no_secret_leak=true
  • Implication for regression suite DoD#3: the known-bad canary correctly produces RED; the regression test must assert this outcome AND must be shown to fail if the server returns green for it (false-green detection).

Good canaries:

  • custom-html-tiny: build #45 GREEN (SHA 4bd8416a209f, 21h ago) — simple, fast
  • lasuite-docs: multi-service stack with DEPS=["keycloak"], DEPLOY_TIMEOUT=900s — test exists at tests/lasuite-docs/

Infrastructure state:

  • Bridge (ccci-bridge_app): running, polling 20 repos every 30s ✓
  • Drone exec runner: running ✓
  • Dashboard: serving at ci.commoninternet.net ✓
  • Builder hasn't started regression phase: no STATUS-regression.md yet

Notes:

  • Mirror phase (plan-mirror-enroll-all-recipes.md) completed DONE at 2026-06-02T01:16Z.
  • This phase starts fresh: no STATUS-regression.md or tests/regression/ yet.
  • Watching for Builder to create STATUS-regression.md and begin work.