Files
cc-ci/machine-docs/BACKLOG-gtea.md
autonomic-bot 33561c8609
Some checks failed
continuous-integration/drone/push Build is failing
feat(gtea): build full gitea test suite (M1 build — all files)
- tests/gitea/recipe_meta.py: updated from dep-provider stub to dual-role (dep + recipe-under-test).
  Adds BACKUP_CAPABLE=True, READY_PROBE (/api/v1/version), SCREENSHOT (sign-in page), LFS-
  conditional EXTRA_ENV (compose.lfs.yml + GITEA_LFS_START_SERVER only when RECIPE=gitea AND
  overlay present — dep path unchanged). All existing dep keys preserved; 10/10 dep unit tests pass.

- tests/gitea/ops.py: NEW — admin user creation via gitea CLI (ci_admin, creds in /tmp per-domain
  file), marker repo lifecycle (pre_install/pre_upgrade/pre_backup create; pre_restore deletes to
  diverge from backup state).

- tests/gitea/test_{install,upgrade,backup,restore}.py: NEW — lifecycle overlays. Install checks
  API + admin auth + Playwright sign-in. Upgrade/backup/restore assert marker repo continuity.

- tests/gitea/custom/: NEW — test_health.py (parity: HTTP 200 root), test_git_push.py (parity:
  create→clone→push→verify→delete), test_admin_api.py (beyond-parity: user+org+token CRUD),
  test_lfs_roundtrip.py (LFS OID round-trip + JWT stability; skips on main, runs on PR #1 head).

- tests/gitea/PARITY.md: NEW — mapping table, source note (recipe-info corpus not upstream repo),
  beyond-parity rationale, backup/restore real-tier note, DB choice, dep-split mechanism, LFS skip.

- machine-docs/STATUS-gtea.md: NEW — phase status (building M1).
- machine-docs/BACKLOG-gtea.md: merged with Adversary init.
- machine-docs/JOURNAL-gtea.md: Builder log with design decisions + unit test results.
- machine-docs/REVIEW-gtea.md: kept Adversary init content.
- machine-docs/DECISIONS.md: appended gtea section (LFS split, admin mgmt, marker design).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 19:50:08 +00:00

22 lines
990 B
Markdown

# BACKLOG — phase gtea (gitea full-test enrollment)
## Build backlog
(Builder-owned — read-only to Adversary)
- [x] 0. Prerequisites verified (timezone, recipe, backup labels)
- [x] 1. Write all gitea test files (recipe_meta.py + ops.py + lifecycle overlays + custom + PARITY.md)
- [ ] 2. Run harness locally against cc-ci (install + upgrade + backup + restore + custom) on gitea main
- [ ] 3. Confirm drone CI stays green (dep path unaffected by recipe_meta.py changes)
- [ ] 4. Verify LFS test correctly skips on main (compose.lfs.yml absent)
- [ ] 5. CLAIM M1 (await Adversary PASS)
- [ ] 6. Run full harness via real CI / !testme on gitea recipe
- [ ] 7. Run harness on lfs-plain-gitea head → LFS test must go green
- [ ] 8. Post !testme on PR #1 so result lands in PR
- [ ] 9. CLAIM M2 (await Adversary PASS)
- [ ] 10. Write ## DONE (all Adversary PASSes)
## Adversary findings
(Adversary-owned — only the Adversary writes this section)
No findings yet. Phase in progress.