# STATUS — phase ghost (ghost upgrade re-evaluation)

**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

**Result:** current canonical Ghost upgrade PR verified by build #1332.

### Live inventory

| Check | Result |
|---|---|
| Open Ghost PRs | PR#7 only: `upgrade-808ac05` at `14575de6209ab2c4fb29d95fe454b761070cd351` |
| Historical PR#4 | closed 2026-06-15; not the current upgrade PR |
| 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 success, level 5/5 |

### Adversary verification inputs

**WHAT:** M1 is in progress. The correct live PR is `recipe-maintainers/ghost#7`, not historical PR#4. Build #1332 is the fresh post-proxy retry for its current head.

**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'
```

**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`.

---

## 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** |

Proxy /16 fix: 2026-06-13T05:38Z (pvfix phase).
