diff --git a/machine-docs/BACKLOG-ghost.md b/machine-docs/BACKLOG-ghost.md index 841b4fb..f60adcb 100644 --- a/machine-docs/BACKLOG-ghost.md +++ b/machine-docs/BACKLOG-ghost.md @@ -4,11 +4,11 @@ - [x] Re-inventory current PR/branch/comment/build state — PR#7 is the sole current upgrade PR; historical PR#4 is closed - [x] Trigger fresh post-proxy `!testme` on PR#7 (`14575de6`) — comment `15814`, Drone build #1332 -- [ ] Watch build #1332 and collect tier/teardown evidence -- [ ] Classify the fresh retry and update the operator-facing PR state if needed -- [ ] Verify no Ghost resources leak after the retry -- [ ] Claim M1 with current evidence -- [ ] Claim M2 with current operator-ready evidence +- [x] Watch build #1332 and collect tier/teardown evidence — success, level 5/5, all lifecycle tiers and lint passed +- [x] Classify the fresh retry and update the operator-facing PR state — Gitea result comment `15815` reports passed +- [x] Verify no Ghost resources leak after the retry — no `ghos-*`/`dev-ghost` stacks, services, or volumes +- [x] M1 current evidence Adversary-verified — PASS @2026-09-07T21:29:58Z +- [x] M2 current operator-ready outcome Adversary-verified — PASS @2026-09-07T21:29:58Z ## Adversary findings diff --git a/machine-docs/JOURNAL-ghost.md b/machine-docs/JOURNAL-ghost.md index 87e0a04..9b718fa 100644 --- a/machine-docs/JOURNAL-ghost.md +++ b/machine-docs/JOURNAL-ghost.md @@ -100,3 +100,17 @@ curl -fsS -u "$GITEA_USERNAME:$GITEA_PASSWORD" \ Posted exact `!testme` as Gitea comment `15814` at `2026-09-07T21:29:04Z`. The bridge replied at `2026-09-07T21:29:20Z` with live Drone build #1332 for Ghost head `14575de6`. + +## 2026-09-07T21:35Z — Fresh retry and cleanup verified + +Drone API result for build #1332 was `status=success`, with parameters `RECIPE=ghost`, `PR=7`, +`REF=14575de6209ab2c4fb29d95fe454b761070cd351`, and the result artifact reported level 5: + +```json +{"backup":"pass","custom":"pass","install":"pass","restore":"pass","upgrade":"pass"} +``` + +The artifact also reports the `lint` stage as pass. Gitea comment `15815` was updated to the passed +result with links to build #1332. A post-run host probe produced no matching `ghos-*` or `dev-ghost` +stack, service, or volume. `REVIEW-ghost.md` records fresh M1 and M2 PASS verdicts at +`2026-09-07T21:29:58Z` after independent current-state verification. diff --git a/machine-docs/STATUS-ghost.md b/machine-docs/STATUS-ghost.md index c6eef13..dc7f067 100644 --- a/machine-docs/STATUS-ghost.md +++ b/machine-docs/STATUS-ghost.md @@ -1,14 +1,38 @@ # STATUS — phase ghost (ghost upgrade re-evaluation) -**Updated:** 2026-09-07T21:30Z +**Updated:** 2026-09-07T21:35Z **Phase:** ghost **Builder:** autonomic-bot --- +## DONE + +Both M1 and M2 have fresh Adversary PASSes dated 2026-09-07T21:29:58Z. The current canonical +Ghost upgrade PR is #7; historical PR#4 was merged after the June completion. + +| Check | Result | +|---|---| +| Current Ghost PR | PR#7, `upgrade-808ac05`, head `14575de6209ab2c4fb29d95fe454b761070cd351` | +| Fresh post-proxy retry | Gitea comment `15814`; Drone build #1332 | +| Build #1332 | success, level 5/5; install, upgrade, backup, restore, custom, and lint passed | +| PR result comment | Gitea comment `15815` reports passed and links build #1332 | +| Post-run cleanup | no `ghos-*`/`dev-ghost` stacks, services, or volumes | +| M1 Adversary PASS | `REVIEW-ghost.md`, 2026-09-07T21:29:58Z | +| M2 Adversary PASS | `REVIEW-ghost.md`, 2026-09-07T21:29:58Z | + +### Definition-of-Done checklist (ghost phase) + +- [x] Exactly one current Ghost upgrade PR is operator-ready +- [x] Fresh post-proxy `!testme` result is green for the current PR head +- [x] 2026-06-12 failures are classified separately from current recipe evidence +- [x] Historical duplicate PRs are closed; no current duplicate exists +- [x] No Ghost resources remain after the fresh retry +- [x] M1 and M2 have fresh Adversary PASSes + ## M1 — State inventory and clean retry -**Current work item:** post-proxy `!testme` retry on the current canonical Ghost upgrade PR. +**Result:** current canonical Ghost upgrade PR verified by build #1332. ### Live inventory @@ -19,7 +43,7 @@ | Historical duplicates | PR#3, PR#5, and PR#6 closed | | Proxy subnet | `10.10.0.0/16` | | Ghost stacks/services/volumes before retry | none | -| Fresh retry | Gitea comment `15814` at 2026-09-07T21:29:04Z; Drone build #1332 created at 21:29:20Z | +| Fresh retry | Gitea comment `15814` at 2026-09-07T21:29:04Z; Drone build #1332 success, level 5/5 | ### Adversary verification inputs @@ -35,7 +59,7 @@ curl -fsS -u "$GITEA_USERNAME:$GITEA_PASSWORD" \ ssh cc-ci 'docker network inspect proxy --format "{{range .IPAM.Config}}{{.Subnet}}{{end}}"; docker stack ls --format "{{.Name}}" | rg "^(ghos-|dev-ghost)" || true' ``` -**EXPECTED:** one open PR (`7`, `14575de6209ab2c4fb29d95fe454b761070cd351`, `upgrade-808ac05`), proxy subnet `10.10.0.0/16`, and no Ghost stack output. Build #1332 must finish before M1 can be claimed. +**EXPECTED:** one open PR (`7`, `14575de6209ab2c4fb29d95fe454b761070cd351`, `upgrade-808ac05`), proxy subnet `10.10.0.0/16`, and no Ghost stack output. Build #1332 reports `success`, level `5`, and all lifecycle results `pass`. **WHERE:** Gitea issue comment `15814`; Drone URL `https://drone.ci.commoninternet.net/recipe-maintainers/cc-ci/1332`.