R12 RULED and EXECUTED: G17 reshaped -- time check folded in, artifact check made falsifiable
GA-R5: question and exact utterance quoted, dated, pushed. Operator utterance:
"Fold time verification into G17 and fix the check to assert content
(Recommended)".

Unlike the other rulings this one is EXECUTED in the same commit, because what it
rules on IS a gate row, and gate rows live in CURRENT-STATE section 6 by GA-R6.
Recording the ruling without reshaping the row would have left the defect in place.

TWO DEFECTS IN ONE ROW, both now fixed:

1. THE CHECK COULD NOT FAIL. The prior text specified `curl -sI http://10.12.8.4/`.
   Measured: curl -sI exits 0 on 404/403/500 -- a planted 404 printed "404 File not
   found" with curl exit 0, while curl -fsI exited 22 -- and the dc0 URL is an nginx
   autoindex root created EMPTY by dc-mirror.sh:330 before any sync, so / answers
   200 whether or not last-sync.status says OK. It reintroduced the
   existence-not-content class that dc-mirror.sh check was fixed for on the SAME
   DAY. The dc1 half named no command at all, although the real one already existed
   at dc-cache-proxy.sh:210-217. Now: a real package-path fetch with an exit-code
   predicate for dc0, the existing named check for dc1, and an explicit refusal on
   unrecognised or unreachable results.

2. THE SCOPE WAS WRONG. docs/dc-dc-deployment-workflow.md:206 and
   runbooks/dc-dc-phase4-juju-bundle-per-dc.md:46 BOTH assign the node time source
   to G17, while chronyc appeared ZERO times in CURRENT-STATE -- so the check two
   surfaces required had no home in the gate meant to carry it. Now folded in.
   Worth stating precisely because it was nearly misread: DOCFIX-204 struck "NTP
   from the DC's own OPNsense edge" because D-129(iv) gave the edge no NTP role. It
   did NOT strike time verification. Option (c) -- declaring it struck and deleting
   the two conflicting surfaces -- would have discarded a check a recorded decision
   deliberately kept.

Fixed in ONE edit rather than two because both defects live in the same row and
share the same ONE-TIME observation window at first boot; splitting them risked one
landing without the other, and the window does not come back.

chronyc mentions in CURRENT-STATE: 0 -> 3.

Revert: git revert this commit to restore the prior G17 [V] text.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf
1 parent 9862cf9 commit 60595612c95ca61d179e47a20a6f0da7fa54c6a8
@JANeumatrix JANeumatrix authored 1 hour ago
Showing 1 changed file
View
docs/CURRENT-STATE.md