# STATUS — phase ghost (ghost upgrade re-evaluation) **Updated:** 2026-10-13T03:14:20Z **Phase:** ghost **Builder:** autonomic-bot --- ## DONE Both M1 and M2 have fresh Adversary PASSes dated 2026-10-13T03:14:20Z. The current canonical Ghost upgrade PR is #8; historical PR#7 is closed. | Check | Result | |---|---| | Current Ghost PR | PR#8, `upgrade-ee04ca9`, head `ee04ca9eb4f1b00ab6719e6858f7876088e0ee3d` | | Fresh post-proxy retry | Gitea comment `16237`; Drone build #50 | | Build #50 | success, level 5/5; install, upgrade, backup, restore, custom, and lint passed | | PR result comment | Gitea comment `16238` reports passed and links build #50 | | Post-run cleanup | no `ghos-*`/`dev-ghost` stacks, services, or volumes | | M1 Adversary PASS | `REVIEW-ghost.md`, 2026-10-13T03:14:20Z | | M2 Adversary PASS | `REVIEW-ghost.md`, 2026-10-13T03:14:20Z | ### 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 **Result:** current canonical Ghost upgrade PR verified by build #50. ### Live inventory | Check | Result | |---|---| | Open Ghost PRs | PR#8 only: `upgrade-ee04ca9` at `ee04ca9eb4f1b00ab6719e6858f7876088e0ee3d` | | Historical PR#7 | closed; not the current upgrade PR | | Historical duplicates | PR#1 through PR#7 closed | | Proxy subnet | `10.10.0.0/16` | | Ghost stacks/services/volumes before retry | none | | Fresh retry | Gitea comment `16237` at 2026-10-13T03:11:52Z; Drone build #50 success, level 5/5 | ### Adversary verification inputs **WHAT:** M1 and M2 claim the current live PR `recipe-maintainers/ghost#8` and fresh post-proxy build #50. **HOW:** ```sh set -a; . /srv/cc-ci/cc-ci-plan/load-env.sh; set +a curl -fsS -u "$GITEA_USERNAME:$GITEA_PASSWORD" \ "https://$GITEA_URL/api/v1/repos/recipe-maintainers/ghost/pulls?state=open" \ | jq -r '.[] | [.number, .state, .head.sha, .head.ref] | @tsv' ssh cc-ci 'docker network inspect proxy --format "{{range .IPAM.Config}}{{.Subnet}}{{end}}"; docker stack ls --format "{{.Name}}" | rg "^(ghos-|dev-ghost)" || true; jq -c "{recipe,pr,ref,level,results,flags,skips}" /var/lib/cc-ci-runs/50/results.json' ``` **EXPECTED:** one open PR (`8`, `ee04ca9eb4f1b00ab6719e6858f7876088e0ee3d`, `upgrade-ee04ca9`), proxy subnet `10.10.0.0/16`, and no Ghost stack output. Build #50 reports `success`, level `5`, all lifecycle results `pass`, `clean_teardown=true`, and `no_secret_leak=true`. **WHERE:** Gitea issue comments `16237` and `16238`; Drone URL `https://drone.ci.autonomic.zone/recipe-maintainers/cc-ci/50`; host artifact `/var/lib/cc-ci-runs/50/results.json`; Adversary evidence in `REVIEW-ghost.md`. --- ## Build evidence summary | Build | Date | PR head | Result | Notes | |---|---|---|---|---| | 515 | 2026-06-12T01:57Z | d88f5801 | ❌ FAIL | pre-proxy-fix | | 517 | 2026-06-12T02:42Z | d88f5801 | ❌ FAIL | pre-proxy-fix | | 519 | 2026-06-12T03:03Z | d88f5801 | ❌ FAIL | pre-proxy-fix, MySQL timing under load | | 557 | 2026-06-12T21:51Z | d88f5801 | ❌ FAIL | pre-proxy-fix | | **612** | **2026-06-13T06:13Z** | **d88f5801** | **✅ PASS level 5/5** | **post-proxy-fix** | | **50** | **2026-10-13T03:12Z** | **ee04ca9e** | **✅ PASS level 5/5** | **fresh current PR#8 retry** | Proxy /16 fix: 2026-06-13T05:38Z (pvfix phase).