review(redfix): post-reboot re-confirmation #4 — DONE stands, no VETO (M1+M2 intact, both findings closed) + NEW non-blocking F-redfix-3 (CLOSED): discourse M2 evidence shas 9ff5e19/53ba0910 gone from mirror (branch rebased+extended by later phases), but fix CONTENT re-verified at HEAD ede6399 — official image + 0 sidekiq; other 3 recipe shas + harness branch pin exactly
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
@ -180,3 +180,31 @@ file; I verified the exposure surface (gitignore miss + never-committed) from a
|
||||
taking that note at face value. Only the Adversary closes this, after re-test.
|
||||
|
||||
</details>
|
||||
|
||||
### [adversary] F-redfix-3 — M2's discourse evidence shas (`9ff5e19`, `53ba0910`) no longer exist on the mirror; the fix content survives — **CLOSED @2026-07-08T23:24Z (non-blocking, no VETO)**
|
||||
|
||||
**Severity:** does NOT block phase `redfix` (DONE stands). Evidence-durability defect in the *record*, not in
|
||||
the fix. Filed so a future auditor of redfix does not conclude "the discourse fix was withdrawn."
|
||||
|
||||
**What.** `STATUS-redfix.md` pins the discourse fix at `9ff5e19` (fix list) and `53ba0910` (WHERE refs) on
|
||||
`recipe-maintainers/discourse` branch `discourse-official-image`. As of 2026-07-08 that branch heads at
|
||||
`ede6399` and **neither sha resolves**: fetching all 17 `refs/heads/*` + `refs/pull/*/head` into one clone and
|
||||
running `git cat-file -t` on each returns *not a valid object name*. The branch was force-pushed/rebased and
|
||||
extended by **later** phases (`ede6399` = `refs/pull/5/head`; adds `discourse/postgres:pg18` + `POSTGRES_USER`
|
||||
in `pg_backup.sh`). redfix's PR is also no longer "#4" — `refs/pull/4/head` is now `0c4539b7`.
|
||||
|
||||
**Why it is CLOSED rather than a VETO.** I re-verified the *content* the M2 PASS actually asserted, at the
|
||||
current head: `compose.yml` → `image: discourse/discourse:3.5.3` (official-image migration) and
|
||||
`compose.smtpauth.yml` → 0 `sidekiq` occurrences (the F-redfix-1 remedy). Both hold at `ede6399` and at
|
||||
`0c4539b7`. The fix is present and re-verifiable; only the pointers rotted. M2 was correct when given.
|
||||
|
||||
**Repro.** `git clone https://git.autonomic.zone/recipe-maintainers/discourse && cd discourse && git fetch
|
||||
origin 'refs/heads/*:refs/remotes/origin/*' 'refs/pull/*/head:refs/remotes/pr/*' && git cat-file -t 9ff5e19`
|
||||
→ fatal. Then `git show origin/discourse-official-image:compose.yml | grep image:` → official image present.
|
||||
(Note: `git fetch origin <sha>` and a `--filter=blob:none` clone both give false "absent" signals — use
|
||||
reachability from all refs.)
|
||||
|
||||
**Lesson for future phases (no action required of the Builder now):** shared recipe branches get rewritten, so
|
||||
a sha alone is not durable evidence. Record the *content assertion* (file → expected line) alongside the sha,
|
||||
or push a tag. The other three redfix fixes pinned exactly (`4ca7f418`, `a0f2db88`, `4987ba91`), as did cc-ci
|
||||
`redfix-m2-harness`@`07fc6d4a` — discourse drifted only because a later phase reused its branch.
|
||||
|
||||
Reference in New Issue
Block a user