Files
cc-ci/machine-docs/JOURNAL-ghost.md
T
autonomic-bot d5acc945a2
continuous-integration/drone/push Build is passing
journal(ghost): record current-state recheck
2026-09-08 16:53:18 +00:00

134 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# JOURNAL — phase ghost
## 2026-06-13T07:10Z — Phase start, PR inventory, fresh run triggered
### PR inventory findings
Three open PRs on recipe-maintainers/ghost:
- **PR#4** (d88f5801): `chore: upgrade to 1.4.0+6.44.1-alpine` — the correct upgrade PR.
Had 4 pre-proxy-fix failures, all on 2026-06-12. The detailed failure in build 519 showed
MySQL 8.0→8.4 data-dir timing under load (Swarm UpdateStatus=paused) but the server
was under unusual load at the time (IPAM fix, Docker daemon restart, multiple concurrent builds).
The 3/3 budget was exhausted and then a 4th run was triggered at 21:51Z by the cfold/ghost agent,
also failing (pre-proxy-fix).
- **PR#5** (d42d0f7c): `ci: cfold ghost green-head probe` — created by cfold/ghost agent as
sweep probe to verify the old-green head separately from the current PR#4 head regression.
Passed build 585 at 03:59Z on 2026-06-13 (BEFORE proxy fix at 05:38Z), so this pass was
on old infra. Not the correct PR — close after M2.
- **PR#3** (720faa0b): `chore: upgrade to 1.3.0+6.43.1-alpine` — superseded by PR#4. Close.
### Proxy fix status
`docker network inspect proxy` shows subnet 10.10.0.0/16 — the /16 fix is in place.
pvfix completed at 05:38Z on 2026-06-13, pvcheck completed (M1+M2 PASS).
### No resource leaks
`docker stack ls`, `docker service ls`, `docker volume ls` — no ghost stacks or volumes.
### Decision: trigger fresh post-proxy !testme on PR#4
The phase plan says "Do not count pre-proxy failures as current recipe evidence" and to run
one clean post-proxy `!testme`. All 4 failures on PR#4 were pre-proxy-fix.
PR#5's build 585 passed the OLD head (d42d0f7c, ghost 6.44.0) but that was also pre-proxy-fix.
The upgrade path under test in PR#4 is different: upgrading to 1.4.0 (ghost 6.44.1 + mysql 8.4
from mysql 8.0 base). This is the critical path.
### Why the prior failures may be infra-confounded
The diagnostic comment on PR#4 (build 519) specifically mentions "Docker daemon had just been
restarted (IPAM fix), multiple concurrent builds in progress, resulting in slower MySQL startup".
This is a direct load-induced timing issue, not a systematic recipe bug. The /16 proxy fix means
there's no longer VIP exhaustion risk, and we're not in the middle of an IPAM repair.
However, the MySQL 8.0→8.4 data-dir upgrade timing is a real concern even without load pressure —
the update_config.monitor: 5s default may genuinely be too short for the migration. The fresh run
will clarify this.
## 2026-06-13T06:20Z — Build #612 PASSED — level 5/5
Build #612 triggered by !testme on PR#4 at 06:12:48Z, completed ~06:20Z.
Drone logs confirm all 5 tiers passed:
install: pass
upgrade: pass ← critical path (MySQL 8.0→8.4 data-dir migration)
backup: pass
restore: pass
custom: pass
Level 5/5 — results.json written, summary.png + badge.svg generated.
The upgrade tier passed cleanly. This confirms the prior failures were load-induced (infra-confounded).
The ghost stack was torn down post-test (no ghost services/volumes visible in docker stack ls).
Custom tests that passed:
test_content_api_settings_endpoint — PASSED
test_ghost_root_serves — PASSED
test_create_post_roundtrip — PASSED
## 2026-06-13T06:35Z — PR cleanup and M1+M2 claimed
Actions:
- Explanatory operator comment posted on PR#4 (infra-confound analysis + 5-tier pass table)
- PR#3 closed with comment (superseded by PR#4)
- PR#5 closed with comment (cfold probe artifact, no longer needed)
- 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`.
## 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.
## 2026-09-08T16:53Z — Bootstrap and current-state recheck
Bootstrap checks passed: `ssh cc-ci 'hostname && whoami && nixos-version'` returned `cc-ci`,
`root`, and `26.05.20260906.c257840`; the authenticated Gitea API returned version `1.27.3`; and
the wildcard probe resolved to `195.201.88.249`. `git pull --rebase` reported an up-to-date clone.
Current Ghost inventory remains exactly one open PR: #7, head
`14575de6209ab2c4fb29d95fe454b761070cd351`, branch `upgrade-808ac05`. Closed PR inventory contains
PRs #1#6, with PR#4 merged and PR#5/PR#6 closed. Gitea comments #15814 and #15815 contain the
fresh `!testme` and passed result for build #1332.
The authoritative host artifact `/var/lib/cc-ci-runs/1332/results.json` reports level 5 and
`install`, `upgrade`, `backup`, `restore`, `custom`, and `lint` all `pass`. The host probe reports
proxy subnet `10.10.0.0/16` and no matching Ghost stacks, services, volumes, or networks. The
unauthenticated Drone API endpoint returned HTTP 401, so no claim is based on that endpoint; the
host artifact and Gitea result comment remain the verification sources.