diff --git a/machine-docs/BACKLOG-ghost.md b/machine-docs/BACKLOG-ghost.md index 63bb10e..841b4fb 100644 --- a/machine-docs/BACKLOG-ghost.md +++ b/machine-docs/BACKLOG-ghost.md @@ -2,14 +2,13 @@ ## Build backlog -- [x] Inventory PR/branch/comment/build state — done (see STATUS-ghost.md) -- [x] Trigger fresh post-proxy !testme on PR#4 (d88f5801) — triggered 06:12Z, PASSED build #612 level 5/5 -- [x] Watch run, collect logs — all 5 tiers passed -- [x] Document infra-confounded prior failures; operator comment posted on PR#4 -- [x] Close PR#3 (superseded) — closed with comment -- [x] Close PR#5 (cfold probe artifact) — closed with comment -- [x] Claim M1 — CLAIMED 2026-06-13T06:35Z, awaiting Adversary PASS -- [x] Claim M2 — CLAIMED 2026-06-13T06:35Z, awaiting Adversary PASS +- [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 ## Adversary findings diff --git a/machine-docs/JOURNAL-ghost.md b/machine-docs/JOURNAL-ghost.md index ee90b1b..87e0a04 100644 --- a/machine-docs/JOURNAL-ghost.md +++ b/machine-docs/JOURNAL-ghost.md @@ -79,3 +79,24 @@ Actions: - Verified: only PR#4 remains open - Verified: no ghost stacks/services/volumes on cc-ci - M1 and M2 claimed in STATUS-ghost.md + +## 2026-09-07T21:29Z — Historical phase record re-opened for fresh verification + +The June Adversary verdicts are older than 24 hours and the live recipe state has advanced. Gitea now +has one open Ghost upgrade PR: #7, branch `upgrade-808ac05`, head +`14575de6209ab2c4fb29d95fe454b761070cd351`; historical PR#4 is closed. PRs #3, #5, and #6 are also +closed. The host reports proxy subnet `10.10.0.0/16` and no matching Ghost stack, service, or volume. + +Verification commands and output: + +```sh +ssh cc-ci 'docker network inspect proxy --format "{{range .IPAM.Config}}{{.Subnet}}{{end}}"' +# 10.10.0.0/16 + +curl -fsS -u "$GITEA_USERNAME:$GITEA_PASSWORD" \ + "https://$GITEA_URL/api/v1/repos/recipe-maintainers/ghost/pulls?state=open&limit=50" +# #7 open ... head=14575de6209ab2c4fb29d95fe454b761070cd351 branch=upgrade-808ac05 +``` + +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`. diff --git a/machine-docs/STATUS-ghost.md b/machine-docs/STATUS-ghost.md index 2e31d67..c6eef13 100644 --- a/machine-docs/STATUS-ghost.md +++ b/machine-docs/STATUS-ghost.md @@ -1,43 +1,43 @@ # STATUS — phase ghost (ghost upgrade re-evaluation) -**Updated:** 2026-06-13T06:45Z +**Updated:** 2026-09-07T21:30Z **Phase:** ghost **Builder:** autonomic-bot --- -## DONE +## M1 — State inventory and clean retry -Both M1 and M2 have fresh Adversary PASSes (dated 2026-06-13T06:38Z, within 24h). +**Current work item:** post-proxy `!testme` retry on the current canonical Ghost upgrade PR. -### Evidence +### Live inventory | Check | Result | |---|---| -| M1 PASS (state inventory + clean retry) | 2026-06-13T06:38Z — see REVIEW-ghost.md | -| M2 PASS (operator-ready outcome) | 2026-06-13T06:38Z — see REVIEW-ghost.md | -| Post-proxy !testme on PR#4 (d88f5801) | Build #612, level 5/5, 2026-06-13T06:13Z | -| install / upgrade / backup / restore / custom | all ✅ | -| Pre-proxy failures (515/517/519/557) | 2026-06-12, infra-confounded | -| Proxy subnet | 10.10.0.0/16 (healthy) | -| Open PRs on ghost | 1 (PR#4 only) | -| PR#3 (superseded) | closed | -| PR#5 (cfold probe) | closed | -| Ghost stacks/services/volumes | none | -| Operator comment on PR#4 | posted 2026-06-13T06:22Z | +| 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 created at 21:29:20Z | -### Definition-of-Done checklist (ghost phase) +### Adversary verification inputs -- [x] PR inventory documented — 3 PRs found, correct PR (PR#4) identified -- [x] Pre-proxy failures not misclassified — all 4 failures dated 2026-06-12, before 05:38Z fix; Adversary independently verified -- [x] Fresh post-proxy !testme on correct PR — build #612, triggered 06:12Z, all 5 tiers pass -- [x] Ghost PR is operator-ready — level 5/5, explanatory comment posted, nothing merged -- [x] Duplicate PRs resolved — PR#3 closed (superseded), PR#5 closed (cfold probe) -- [x] No ghost resource leaks — no stacks/services/volumes on cc-ci -- [x] M1 Adversary PASS — REVIEW-ghost.md @06:38Z -- [x] M2 Adversary PASS — REVIEW-ghost.md @06:38Z +**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. -Phase ghost complete. +**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 must finish before M1 can be claimed. + +**WHERE:** Gitea issue comment `15814`; Drone URL `https://drone.ci.commoninternet.net/recipe-maintainers/cc-ci/1332`. ---