M10/D10 CLAIMED: all 6 recipes green via real !testme (lasuite #108 via -c fix); blockers cleared
All checks were successful
continuous-integration/drone/push Build is passing

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-27 11:46:52 +01:00
parent c9087fde20
commit ba37529a30
3 changed files with 46 additions and 32 deletions

View File

@ -133,12 +133,14 @@ Two single-writer sections (§6.1): Builder edits only `## Build backlog`; Adver
ready. (Note: a from-scratch rebuild pulls images → needs the registry creds / quota too.)
### M10 — Proof (D10)
- [x] 5/6 recipes green via REAL !testme PRs (full 3-stage, comment-reflected): custom-html #84,
keycloak #86, matrix-synapse #87, n8n #89, cryptpad #90.
- [ ] lasuite-docs (6th, object-storage/S3) — install+backup green via !testme; upgrade BLOCKED on
Docker Hub rate limit (A1 registry creds, operator; STATUS ## Blocked). Retries halted pending
creds (3× confirmed).
- [ ] Flip STATUS to DONE once lasuite green (creds) + REVIEW shows <24h PASS for all D1D10.
- [x] **All 6 recipes green via REAL !testme PRs** (full 3-stage install/upgrade/backup,
comment-reflected ✅, clean teardown): custom-html #84, keycloak #86, matrix-synapse #87,
n8n #89, cryptpad #90, **lasuite-docs #108**. All 5 D10 categories covered.
- [x] lasuite-docs (6th, object-storage/S3) unblocked: quota reset + `abra app upgrade -c` fix
(abra false-failed a converging rolling upgrade) → #108 all 3 stages green.
- [x] Gate: M10 — six recipes green via !testme → **CLAIMED 2026-05-27**, awaiting Adversary D10
verification.
- [ ] DONE: write `## DONE` only once REVIEW shows <24h PASS for ALL D1D10 + no VETO (Adversary).
## Adversary findings
<!-- Adversary-only section. Builder must not edit below this line. -->

View File

@ -731,3 +731,29 @@ clean. This is the 3rd confirmation the blocker is the Docker Hub rate limit. Pe
**halting lasuite retries until the operator provides Docker Hub creds** (A1, STATUS ## Blocked).
5/6 D10 recipes remain green via real !testme. Pivoting to M9 (docs/reproducibility) — fully
unblocked, no image pulls.
---
## 2026-05-27 — M10/D10 BUILDER-COMPLETE: all 6 recipes green via real !testme
Diagnosed the lasuite-docs upgrade failure with an instrumented host run: `abra app upgrade` reported
`FATA deploy failed` while all 9 services were actually 1/1 healthy — abra's convergence poll gives
up too early on the slow stop-first rolling upgrade (pulling new images). Fix: pass `-c`
(`--no-converge-checks`) to `abra app upgrade` and let the harness's wait_healthy + data-survival
assertion be the (patient, real) gate. (Also: `/root/cc-ci` was stale — fully synced; the first diag
hit the old no-`-o` auth error, masking this.)
**lasuite-docs #108 → success** with the fix: install 2✓, upgrade 1✓, backup 1✓; bridge comment
edited to `✅ passed`. So **all 6 D10 recipes are green via REAL `!testme` on a PR**, full 3-stage,
comment-reflected, clean teardown:
| recipe | category | build |
|---|---|---|
| custom-html | simple/stateless | #84 |
| keycloak | SSO/identity + DB | #86 |
| matrix-synapse | DB + media / large-volume | #87 |
| n8n | workflow automation | #89 |
| cryptpad | stateful / no external DB | #90 |
| lasuite-docs | multi-service + S3/MinIO/object-storage | #108 |
All 5 required D10 categories covered. The earlier Docker Hub rate-limit blocker resolved on quota
reset (registry creds still recommended for reproducibility under load — see DECISIONS). D10 is
Builder-complete; DONE awaits the Adversary's <24h PASS on D1D10 (esp. independent D10 verification).

View File

@ -1,8 +1,11 @@
# STATUS — cc-ci Builder
**Phase:** M0/M1/M2/M4/M5 PASS; M3 PASS (Adversary-verified); M6 CLAIMED (awaiting Adversary).
Bridge→Drone→harness integration DONE (recipe-ci pipeline). M6.5 underway: keycloak full 3-stage
GREEN through Drone (build #39). Next: enroll recipes 36 (remaining D10 categories), M7, M8.
**Phase:** ALL MILESTONES BUILDER-COMPLETE. Adversary-verified: M0M6 PASS, M6.5 PASS, M7/D6 PASS,
D9 PASS. CLAIMED awaiting Adversary: M8/D7, M9-gate(D8), **M10/D10 — all 6 recipes green via real
`!testme`** (custom-html #84, keycloak #86, matrix-synapse #87, n8n #89, cryptpad #90, lasuite-docs
#108; all 5 categories). The Docker Hub rate-limit blocker is RESOLVED (quota reset + `abra app
upgrade -c` fix). **DONE awaits only the Adversary's <24h PASS on D1D10 + no VETO** — no Builder
implementation remains.
**In-flight:** M6.5 gate CLAIMED — all 6 D10 recipes full 3-stage green (host + canonical Drone):
custom-html, keycloak(#39), cryptpad(#46), matrix-synapse(#51), lasuite-docs(#57), n8n(#63 in flight).
bluesky-pds (TLS-passthrough) swapped → n8n per DECISIONS (caddy self-ACME vs no-ACME design).
@ -67,29 +70,12 @@ Drone build with RECIPE=<r> (or `cc-ci-run runner/run_recipe_ci.py` with RECIPE/
- **Janitor backstop** for SIGKILL'd builds (reaps orphaned run apps at run-start). At capacity=1
the recipe-CI pipeline will set `CCCI_JANITOR_MAX_AGE=0` (safe — no concurrent runs). See DECISIONS.
## Blocked / investigating — lasuite-docs upgrade stage (the only D10 gap)
- **UPDATE 2026-05-27 (post quota-reset):** the Docker Hub limit reset; lasuite **install pulled +
passed** on a fresh quota (build #105), and **backup passed** — but the **upgrade stage still fails
`FATA deploy failed`**, now a genuine **convergence failure** (a service unhealthy during the
0.3.2→0.3.3 rolling upgrade), NOT rate-limit/disk/RAM (stop-first updates; 4.6G free RAM; images
cached). It PASSES on the catalogue/canonical path (Drone #57, all 3 stages) but fails on the
mirror-clone real-`!testme` path — root cause undetermined. Running an instrumented diagnostic
(`/tmp/diag_lasuite.py`) to capture which service fails + its logs. Registry creds (below) remain
recommended for reproducibility but are NOT the fix for this convergence failure.
- **Docker Hub anonymous pull rate limit — registry pull creds (A1, operator) — recommended.** During the
D10 real-`!testme` breadth runs, lasuite-docs (heaviest: 9 images) hit
`toomanyrequests: unauthenticated pull rate limit` on its upgrade stage (redis:8.2.6 task
Rejected "No such image" → couldn't pull). Confirmed: `docker pull redis:8.2.6` on the node →
rate-limited. This is the plan's flagged A1 input (§1.5/§4.4: "registry pull creds … rate-limit
failure traced to this is a finding, then request creds"). **Operator action:** provide Docker Hub
pull creds (store sops-encrypted in `secrets/`, wire into the docker daemon / swarm). NOT globally
blocking: **5/6 recipes already green via real `!testme`** (custom-html/keycloak/matrix-synapse/
n8n/cryptpad); lasuite-docs install+backup green too — only its upgrade (most pulls) is gated.
Contributing factor: my mid-breadth `docker image prune -af` evicted cached images → forced
re-pulls → tipped the limit (see DECISIONS). The anonymous limit resets in ~hours, so a retry may
also pass without creds, but creds are the durable fix. Working M9 (docs) meanwhile.
- (M3 webhook blocker previously here — cleared by the polling-primary redesign; polling is
read-only/outbound and needs no Gitea `ALLOWED_HOST_LIST` whitelist.)
## Blocked
- (none) — all blockers resolved. The lasuite-docs upgrade gap (Docker Hub rate limit, then abra's
false "deploy failed" on a converging rolling upgrade) is RESOLVED: quota reset + `abra app upgrade
-c` fix → lasuite #108 all 3 stages green via `!testme`. Registry pull creds (A1) remain a
RECOMMENDED durable hardening for heavy-recipe reproducibility under load (DECISIONS), not a
current blocker.
## Tracking (adversary findings I must address)
- **[adversary] A4 — concurrent same-recipe runs collide on shared `~/.abra/recipes/<recipe>`.**