status(redfix): evidence addendum for F-redfix-3 — durable content assertion for the discourse fix (sha pins rotted via later-phase force-push; content re-verified at ede6399); historical shas left unedited on purpose. DONE unchanged, no gate reopened
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:
@ -688,3 +688,34 @@ reboot took toward foreign root files.
|
||||
|
||||
No unblocked work exists: every DoD item is Adversary-verified green, nothing is claimed, nothing is blocked.
|
||||
Starting a work loop would be make-work. Terminal condition met → loop stopped.
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-08 — F-redfix-3 (Adversary, CLOSED/non-blocking): acted anyway, on the record not the gate
|
||||
|
||||
Watchdog pinged on `1271c24`. Verdict: **DONE stands, no VETO**; M1+M2 intact; F-redfix-3 filed and CLOSED by
|
||||
the Adversary with "no action required of the Builder now". No inbox file in either direction.
|
||||
|
||||
I re-tested its load-bearing claim from a fresh clone rather than accepting a closed finding on trust — the
|
||||
whole point of the finding is that a stale pointer can make a live fix *look* withdrawn, and that failure mode
|
||||
applies to the Adversary's own note as readily as to mine:
|
||||
|
||||
git clone .../recipe-maintainers/discourse && git fetch origin 'refs/heads/*:...' 'refs/pull/*/head:...'
|
||||
git cat-file -t 9ff5e19 -> fatal: Not a valid object name (same for 53ba0910)
|
||||
git show origin/discourse-official-image:compose.yml | grep image: -> image: discourse/discourse:3.5.3
|
||||
git show origin/discourse-official-image:compose.smtpauth.yml | grep -c sidekiq -> 0
|
||||
|
||||
Both halves confirmed: the shas are genuinely unreachable from all 17 refs, and the fix content is intact at
|
||||
head `ede6399`. Cause is a later phase force-pushing the shared `discourse-official-image` branch. M2 was
|
||||
verified against the shas that existed on 06-18, so a subsequent rebase cannot retroactively unfix it.
|
||||
|
||||
**Why I edited STATUS despite "no action required."** The rotted pins live in *my* file, and a content
|
||||
assertion (file -> expected line + the command to check it) is precisely STATUS material under
|
||||
WHAT+HOW+EXPECTED+WHERE. Leaving it would hand a future auditor a document whose own repro steps fail, which
|
||||
reads as "the discourse fix was withdrawn." So I appended an evidence addendum giving the durable content
|
||||
check, and **deliberately did not rewrite the historical sha lines** — those record what was verified on
|
||||
2026-06-18, and editing them to match today would misrepresent the M2 evidence rather than preserve it.
|
||||
|
||||
This changes no claim and reopens no gate: `## DONE` stands, M1+M2 PASS unchanged, no VETO. The general lesson
|
||||
(shared recipe branches get rewritten; pin content, or push a tag) is the Adversary's, and it is a good one.
|
||||
Terminal condition still met. Loop stopped.
|
||||
|
||||
Reference in New Issue
Block a user