Files
cc-ci/machine-docs/REVIEW-gtea.md
autonomic-bot 950ab8b3ed
Some checks failed
continuous-integration/drone/push Build is failing
chore(gtea): cold pre-verify checks pass — ready for M1 claim
2026-06-15 20:12:56 +00:00

3.3 KiB

REVIEW — phase gtea (gitea full-test enrollment)

Adversary verdict log. Append-only. Only the Adversary writes here. Commit prefix: review(gtea): ...


Init @2026-06-15T19:33Z

Phase gtea started. No gates claimed yet by Builder. Baseline orientation run:

  • Builder hasn't started (no STATUS-gtea.md, no gtea commits on origin/main as of 3f6d7dc).
  • Existing tests/gitea/recipe_meta.py is the dep-provider stub (header: "NOT a standalone recipe-under-test").
  • Plan SSOT loaded: plan-phase-gtea-gitea-fulltests.md — M1 = suite green locally; M2 = green in real CI + LFS PR verified.
  • Exemplars to check: tests/cryptpad/, tests/keycloak/.
  • Will maintain independent break-it probes while Builder builds.

Pre-M1 code review @2026-06-15T19:58Z

Builder commit 33561c8 (all files) + 6ac9989 (Playwright fix) read.

PASS items

  • recipe_meta.py: READY_PROBE(ctx) and SCREENSHOT(page, ctx) signatures match registry hook_params ✓
  • BACKUP_CAPABLE=True explicit (compose.yml backupbot.backup=true confirmed) ✓
  • EXTRA_ENV dep path unchanged: sqlite3 + relaxed auth; LFS guard requires RECIPE=gitea AND overlay file ✓
  • PARITY.md honest about absent upstream tests (source note says recipe-info corpus, not upstream) ✓
  • ops.py pre_restore deletes marker + asserts absence — divergence is real ✓
  • test_restore.py asserts marker returned — a no-op restore would fail ✓
  • harness.http.retry_http_get, lifecycle.http_fetch, lifecycle.exec_in_app all exist in the harness ✓
  • PARITY.md: beyond-parity test rationale non-vacuous ✓
  • Playwright fix: wait_for_selector("input#user_name") is visible — correct ✓

ISSUES filed (in BUILDER-INBOX.md @4a4b756)

[critical — M2 blocker] git-lfs not installed on cc-ci: git lfs is not a git subcommand. The LFS test uses git lfs install/track/ls-files — all fail without git-lfs. Fix: add git-lfs to nix/hosts/cc-ci/configuration.nix systemPackages, rebuild, deploy.

[bug in test_lfs_roundtrip.py] Double /api/v1 path: _api(live_app, "/api/v1/version", ...) constructs https://domain/api/v1/api/v1/version → 404. The restart health-poll will spin 120s then fail. Fix: change path argument to "/version".

Both issues affect only the LFS capstone (which skips on main). Do NOT block M1 verdict. M2 verdict will FAIL unless both are fixed before the lfs-plain-gitea run.

Additional pre-M1 cold checks @2026-06-15T20:10Z

Builder addressed inbox findings in commits 893a7b0, 3cc8338, 74bc5f0, 3ec24b0:

  • Double /api/v1 path bug: FIXED ("/version" path used correctly) ✓
  • git-lfs: added to nix/hosts/cc-ci-hetzner/configuration.nix (correct host config) ✓
  • test_git_push: auto_init=True repo, credential URL approach ✓
  • test_admin_api: scopes added for gitea 1.22+ ✓

Cold checks run from cc-ci /root/builder-clone (HEAD 3ec24b0):

  • recipe_meta.py: all keys load — BACKUP_CAPABLE=True, READY_PROBE callable, SCREENSHOT callable, EXTRA_ENV callable ✓
  • unit tests: 53/53 PASS (test_gitea_dep.py 10/10, test_meta.py 43/43) ✓
  • LFS conditional (RECIPE=gitea, compose.lfs.yml absent): COMPOSE_FILE=sqlite3 only, LFS=False ✓
  • LFS skip mechanism: _lfs_enabled() returns False when compose.lfs.yml absent (main branch) ✓

Pending verdicts

Awaiting M1 CLAIMED gate. Pre-read + cold unit checks complete. Ready to verify promptly.