Commit Graph

652 Commits

Author SHA1 Message Date
bac3662972 claim(gtea): M1 — suite green locally, all 5 stages PASS, git-lfs deployed
Some checks failed
continuous-integration/drone/push Build is failing
Manual harness run 846690: install PASS + upgrade PASS + backup PASS + restore
PASS + custom PASS (level=5/5). LFS test self-skips correctly (compose.lfs.yml
absent on main). All pre-M1 Adversary findings from BUILDER-INBOX consumed:
  - Issue 1: git-lfs added to cc-ci-hetzner NixOS config, deployed (v3.6.1)
  - Issue 2: double /api/v1 path in test_lfs_roundtrip.py fixed

Awaiting Adversary M1 PASS before proceeding to real CI + LFS PR capstone.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 20:13:39 +00:00
950ab8b3ed chore(gtea): cold pre-verify checks pass — ready for M1 claim
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-15 20:12:56 +00:00
446bafe408 inbox(gtea): consume BUILDER-INBOX (Adversary pre-M1 findings addressed)
Some checks failed
continuous-integration/drone/push Build is failing
Both issues fixed in 893a7b0:
- Issue 1 (git-lfs missing): added to nix/hosts/cc-ci/configuration.nix systemPackages
- Issue 2 (double /api/v1): fixed path in test_lfs_roundtrip.py restart poll

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 20:01:50 +00:00
fd77b13f9d chore(gtea): pre-M1 code review in REVIEW — issues filed to Builder, PASS items noted
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-15 19:58:50 +00:00
4a4b75661e inbox(gtea): heads-up to Builder — git-lfs absent on cc-ci (M2 blocker) + double /api/v1 bug in LFS test
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-15 19:58:17 +00:00
33561c8609 feat(gtea): build full gitea test suite (M1 build — all files)
Some checks failed
continuous-integration/drone/push Build is failing
- 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
be895b5175 chore(gtea): init Adversary phase files — baseline orientation done, awaiting Builder M1 claim
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-15 19:42:28 +00:00
3f6d7dcd7b status(poe2e): ## DONE — all 5 DoD Adversary-verified PASS @2026-06-13T19:46Z, no VETO
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
2026-06-13 19:48:26 +00:00
6e07b3c8e4 review(poe2e): ALL DoD PASS @2026-06-13T19:46Z — phase DONE
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:47:59 +00:00
4f3f1f615d claim(poe2e): all 5 DoD built + cold-verified (staged cc-ci 38e5c90 @ /home/loops/poe2e/cc-ci, PO fleet 6cc3ed4) — awaiting Adversary
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:42:59 +00:00
c4301bd307 chore(poe2e): inbox consumed; D5 baseline + D2 live-status in REVIEW, pre-verify probes done
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:32:41 +00:00
d12d8a12ca inbox(poe2e): consume BUILDER-INBOX; take JOURNAL ownership (baseline preserved); set up STATUS/BACKLOG; heads-up to Adversary
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:30:10 +00:00
62efd76bc1 chore(poe2e): init Adversary phase files — D5 baseline snapshot, awaiting Builder
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:27:09 +00:00
8cf1bf0408 status(porepo): ## DONE — all 5 DoD Adversary-verified PASS @2026-06-13T19:19Z (346ed31), no VETO
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:21:24 +00:00
bde9a08d24 review(porepo): ALL DoD PASS @2026-06-13T19:19Z — phase DONE
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:20:26 +00:00
c1038eae79 claim(porepo): all 5 DoD built + cold-verified from anon /tmp recursive clone (deliverable 346ed31) — awaiting Adversary
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:17:44 +00:00
9e0d3b7ee5 inbox(porepo): consumed — Builder heads-up noted, awaiting claim(porepo) commit
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:10:22 +00:00
365dd63ad6 chore(porepo): Builder claims STATUS/JOURNAL ownership, fill build backlog, inbox heads-up
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:09:52 +00:00
a882318bd5 chore(porepo): init Adversary phase files — orientation done, awaiting Builder
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:05:52 +00:00
02ffbd9336 status(aotest): ## DONE — all 5 DoD Adversary-verified PASS @2026-06-13T19:00Z (cdcece9), no VETO
Some checks failed
continuous-integration/drone/push Build is failing
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 19:03:08 +00:00
034e85d786 chore(aotest): Adversary JOURNAL — all DoD PASS, phase complete
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:02:32 +00:00
3568754e64 review(aotest): ALL DoD PASS @2026-06-13T19:00Z — phase DONE
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 19:02:06 +00:00
c838c9250d claim(aotest): test suite pushed (deliverable cdcece9) — unit+claude+opencode smokes PASS, isolated, awaiting Adversary
Some checks failed
continuous-integration/drone/push Build is failing
Unit 51/51 PASS, claude smoke PASS, opencode smoke PASS (own :4097), no
leftover aotest-* sessions/ports, cc-ci sessions intact. Cold-verified from
/tmp clone inside nix develop. HOW/EXPECTED/WHERE in STATUS-aotest.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 18:59:11 +00:00
1c15cbb934 chore(aotest): add code orientation notes to REVIEW — break-it checklist ready
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 18:47:18 +00:00
68c171b0cd chore(aotest): init Adversary phase files — orientation done, awaiting Builder tests/ push
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 18:45:25 +00:00
dfe0ffac65 review(aoeng): ALL DoD PASS @2026-06-13T18:41Z — phase DONE
Some checks failed
continuous-integration/drone/push Build is failing
Cold-verified commit 289ef07 (v0.1.0 annotated tag) from /tmp clean checkout.

DoD-1: repo + main + annotated v0.1.0 tag — PASS
DoD-2: grep -rIE 'cc-ci|/srv/cc-ci|recipe|upgrad' *.py → zero hits — PASS
DoD-3: selftest 3/3 PASS; status sane table; --help documents all verbs — PASS
DoD-4: smoke.sh runs isolated sandbox, assembles kickoff, tears down clean — PASS
DoD-5: nix develop: tomllib OK, tmux 3.5a + git 2.47.2 on PATH — PASS
DoD-6: README covers schema + verbs + AI-PO contract + nix develop — PASS

No findings. No veto. Phase aoeng complete.
2026-06-13 18:42:04 +00:00
4a98df5271 chore(aoeng): init Adversary phase files — orientation done, awaiting Builder
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 18:25:01 +00:00
b97d1e5345 inbox: remove orphan pxgate cold-boot note (phase already DONE; loops stopped) — evidence in orchestrator JOURNAL
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 13:52:55 +00:00
f09b7bf21f inbox(pxgate): cold-boot proof PASSED — deploy-proxy active 11s before dashboard on real reboot
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 13:52:13 +00:00
162f731e91 status(pxgate): ## DONE — M1+M2 PASS, cycle broken, cold-boot sim confirms no deadlock
Some checks failed
continuous-integration/drone/push Build is failing
M2 verified: nixos-rebuild @13:43Z deployed /api/version probe; deploy-proxy
active(exited) in 279ms (nixos-rebuild) and 17ms (cold-boot sim) — no alert, no
deadlock. All 9 services 1/1. Running server unaffected. Adversary PASS @13:44Z.
BUILDER-INBOX consumed.
2026-06-13 13:47:42 +00:00
927cbfa747 inbox(pxgate): orchestrator completed M2 nixos-rebuild — deploy-proxy on /api/version, cycle broken
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 13:45:39 +00:00
0a32854853 review(pxgate-M2): PASS — cold-boot sim confirms cycle broken, proxy active without dashboard
Some checks failed
continuous-integration/drone/push Build is failing
nixos-rebuild deployed fix; new nix store path 8qjh8apxcbs85 with /api/version probe;
deploy-proxy active(exited) at 13:43:15 UTC; cold-boot sim: proxy started active(exited)
with dashboard stopped; all 9 services 1/1; alert dir empty; rollback gate unchanged.
Phase pxgate DoD fully met. Builder may write ## DONE.
2026-06-13 13:45:25 +00:00
8f69e0bc49 chore(pxgate): pre-stage builder-clone on main; fix nixos-rebuild instructions
Some checks failed
continuous-integration/drone/push Build is failing
builder-clone was on restructure/concurrency (caef217, 288 behind main).
Switched to main at d23baf8. STATUS updated with git checkout main safeguard.
Adversary idle probes all PASS @13:31Z.
2026-06-13 13:33:53 +00:00
d23baf8d36 review(pxgate): idle break-it probes PASS @13:31Z — M2 pending orchestrator nixos-rebuild
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 13:31:57 +00:00
0115e220d2 chore(pxgate): builder poll @13:24Z — M2 monitoring, old probe still live
Some checks failed
continuous-integration/drone/push Build is failing
2026-06-13 13:25:51 +00:00
67e13f3a1f chore(pxgate): M2 blocked on orchestrator nixos-rebuild — old probe still live
Some checks failed
continuous-integration/drone/push Build is failing
Active nix store (km6173hm5a...) calls ls5d6s7q...-runner/warm_reconcile.py which
still has health_domain=ci.commoninternet.net (OLD probe). Fix 0e9fd38 in git but not
deployed. Waiting for: cd /root/builder-clone && git pull && nixos-rebuild switch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 13:03:36 +00:00
39eff962ba status(pxgate): M1 PASS in — M2 awaits orchestrator nixos-rebuild
Some checks failed
continuous-integration/drone/push Build is failing
M1 PASS @2026-06-13T13:00Z (Adversary, commit c96766e). Fix verified:
- /api/version probe dashboard-independent ✓
- Controlled reproduction (dashboard=0): old=404 new=200 ✓
- Consumer ordering unchanged ✓
- Gate has teeth: health_code returns 0 on failure → rollback ✓

M2 needs orchestrator to nixos-rebuild cc-ci with main@0e9fd38, then
Adversary cold-verifies deploy-proxy reaches active (not failed).
Exact nixos-rebuild command and verification steps in STATUS-pxgate.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 12:53:17 +00:00
c96766e1d4 review(pxgate-M1): PASS — cycle broken, /api/version probe dashboard-independent, rollback intact
Some checks failed
continuous-integration/drone/push Build is failing
Cold verification of commit 0e9fd38:

1. Code change correct: health_path="/api/version", health_domain absent (falls back to
   traefik.ci.commoninternet.net). Probe is traefik's own API, no backend dependency.
2. Controlled repro (dashboard=0): new probe → 200; old probe → 404. Cycle broken.
3. Consumer ordering unchanged: all After=deploy-proxy services unaffected; deploy-proxy
   itself has no After=dashboard. Fix does not change any service ordering.
4. Alert dir empty: stale alert cleared.
5. proxy.nix comment updated correctly.
6. Gate has teeth: on curl failure, health_code() returns 0 (not 999 as STATUS claimed —
   non-blocking doc discrepancy); 0 not in health_ok=(200,) → rollback triggers. Functional PASS.
7. DEFERRED entry closed, DECISIONS logged.

No blocking findings. M2 pending orchestrator cold-boot.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 12:50:23 +00:00
0e9fd388d2 claim(pxgate-M1): change traefik health probe to /api/version (A1 cycle fix)
Some checks failed
continuous-integration/drone/push Build is failing
Break the deploy-proxy ↔ dashboard health-gate circular dependency (Adversary A1, pvfix):

- runner/warm_reconcile.py: remove health_domain override (was ci.commoninternet.net,
  the dashboard). Change health_path from / to /api/version. The probe now uses
  traefik.ci.commoninternet.net/api/version — traefik's own API, no backend/dashboard dep.
- nix/modules/proxy.nix: update comment to reflect new health probe.
- machine-docs/DECISIONS.md: pxgate fix logged (supersedes pvfix manual workaround).
- machine-docs/DEFERRED.md: 2026-06-13 circular-dependency entry closed.
- Consumed BUILDER-INBOX.md (Adversary orientation msg).

Controlled reproduction (dashboard swarm scaled to 0):
  OLD probe (ci.commoninternet.net): HTTP 404  ← gate would loop → timeout
  NEW probe (traefik.../api/version): HTTP 200  ← passes immediately
Stale false-alarm alert 20260613T054428Z-traefik-unhealthy-on-latest.json cleared on host.
No After=deploy-proxy consumers changed (ordering preserved).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 12:46:34 +00:00
6e40bd6eb9 chore(pxgate): pre-M1 probes P3+P5 PASS, endpoint stability confirmed
Some checks failed
continuous-integration/drone/push Build is failing
P5: alert files contain no secrets (version strings only).
P3: all After=deploy-proxy consumers still ordered correctly.
Endpoint: /api/version returns 200 reliably (3/3 probes, no backend dep).
P1-negative deferred to M1 gate time (needs controlled traefik stop).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 12:44:30 +00:00
c798292598 chore(pxgate): BUILDER-INBOX — orientation done, live bug proven
Some checks failed
continuous-integration/drone/push Build is failing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 12:43:32 +00:00
a9e67af61e chore(pxgate): init Adversary phase files — root cause cold-verified, M1/M2 PENDING
Some checks failed
continuous-integration/drone/push Build is failing
Independent cold read confirms the circular dependency (proxy health-gate polls
ci.commoninternet.net served by dashboard which is After=deploy-proxy). Root cause
is PROVEN LIVE by today's alert: 20260613T054428Z-traefik-unhealthy-on-latest.json.

Fix endpoint independently verified: /api/version on traefik.ci.commoninternet.net
returns 200 as soon as traefik is up, no dashboard dependency.

REVIEW-pxgate.md: orientation, M1/M2 acceptance criteria.
BACKLOG-pxgate.md: break-it probes P1–P5 to run at M1 gate.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 12:42:30 +00:00
1c671ed045 status(cf48): ## DONE — M1+M2 PASS, NO COVERAGE LOST cross-validated (Sonnet 4.6 + Opus 4.8)
Some checks failed
continuous-integration/drone/push Build is failing
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 06:34:33 +00:00
b66c9227a3 review(cf48-M2): M2 PASS — NO COVERAGE LOST, independently cold-verified, no VETO
Some checks failed
continuous-integration/drone/push Build is failing
Cold re-clone @a6f967f: cardinal (recipe,filename) set identical 64=64; 0 added/0
deleted test files, 5 non-R100 renames are docstring/comment only (no assertion/wait/
skip/sys.path change); orphan-test hunt found no droppable recipe-local test; alias
probe warns on both deprecated dirs; unit suite 18 passed; cfold sweep evidence audited
directly (all 20 recipes 5/5, custom counts match baseline, live_pr_apps=0). M1+M2 PASS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 06:33:47 +00:00
db61a84614 journal(cf48): resumed to close phase; M2 claimed, awaiting Adversary
Some checks failed
continuous-integration/drone/push Build is failing
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 06:32:12 +00:00
61ad3560f1 claim(cf48-M2): no-loss verdict — M1 PASS in, M2 reuses verified evidence
Some checks failed
continuous-integration/drone/push Build is failing
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 06:31:55 +00:00
a6f967f719 status(ghost): ## DONE — M1+M2 PASS, ghost upgrade infra-confounded confirmed
Some checks failed
continuous-integration/drone/push Build is failing
Build #612 level 5/5 PASS (post-proxy, 06:13Z). All prior failures pre-proxy-fix.
PR#4 operator-ready; PR#3 and PR#5 closed. No ghost leaks. Adversary signed off @06:38Z.
2026-06-13 06:28:59 +00:00
383868212d review(ghost-M1+M2): M1 PASS + M2 PASS — build #612 post-proxy L5/5, PR#4 operator-ready
Some checks failed
continuous-integration/drone/push Build is failing
M1 PASS @2026-06-13T06:38Z:
- !testme on PR#4 (d88f5801) triggered 06:12:48Z, post-proxy (fix at 05:38Z)
- Drone build #612 started 06:13:02Z (Drone sqlite DB), RECIPE=ghost REF=d88f5801
- results.json level=5, all stages pass; JUnit confirms genuine execution
- clean_teardown=True, no_secret_leak=True
- Pre-proxy failures (515/517/519/557) dated 2026-06-12 — infra-confounded

M2 PASS @2026-06-13T06:38Z:
- Exactly 1 open PR: PR#4 only
- PR#3 closed, PR#5 closed (Gitea API verified)
- No ghost stacks/services/volumes on cc-ci
- Operator comment at 06:22:11Z with 5-tier pass table + infra-confound analysis
- All adversary findings A1/A2/A3 resolved

Builder may write ## DONE.
2026-06-13 06:27:57 +00:00
13a951de69 claim(ghost-M1+M2): build #612 level 5/5 PASS — ghost upgrade infra-confounded, PR#4 operator-ready
Some checks failed
continuous-integration/drone/push Build is failing
Post-proxy fresh !testme on PR#4 (d88f5801) at 06:12Z on 2026-06-13:
- All 5 tiers pass: install/upgrade/backup/restore/custom
- MySQL 8.0→8.4 upgrade converged cleanly without load pressure
- All 4 prior failures (builds 515/517/519/557) dated 2026-06-12, pre proxy-fix (05:38Z)

M1: pre-proxy failures correctly classified as infra-confounded (not recipe regression)
M2: PR#4 green + operator comment; PR#3 closed (superseded); PR#5 closed (cfold probe); no ghost leaks
2026-06-13 06:23:52 +00:00
13b964b9d1 status(ghost): init phase — PR inventory done, post-proxy !testme triggered on PR#4
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
PR#4 (d88f5801) is the correct upgrade PR. All prior failures were pre-proxy-fix (2026-06-12).
Fresh !testme triggered at 06:12:48Z on 2026-06-13 — post proxy /16 fix (05:38Z).
PR#5 is a cfold probe artifact (close after M2); PR#3 superseded (close).
2026-06-13 06:12:59 +00:00