Files
dashcaddy/RELEASE-EVIDENCE-internal.md
T
Hermes d8c9d79855 [grade=C urn:ump:iysmn53oxuhn57y5v6emmztvbissz275wl3wbp2pa2w5ou77mvua] docs(DC-171): evidence-file consistency per deploy judge r4 blockers
Gate record now carries both gate-time HEADs (1747c23 r3 / 0e58ca9 r4),
the r3 remediation commit 9d5d640, the r4 grade + its three resolved
blockers, the 'ALL dig versions' phrasing narrowed to the documented
contract + BIND 9.18.50 live verification only, and the timezone note
for the 10-29/10-30 date split.
2026-10-29 22:18:44 -07:00

76 lines
4.5 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.
# Internal release evidence (NOT customer-facing)
Judge grades and ledger URNs per change. Kept out of CHANGELOG.md
(DC-170 docs batch r3: the distributable changelog must stay clean).
Judging per-change is recorded in commit messages and the internal ledger. Grade lines consolidated here:
- **DC-168 judge: grade B (round 16)** urn:ump:ejzlob2bde6m6ivxfpgidmwu5a62pvl4wddm4iav7mwfuyfogirq
- **DC-167 judge: grade B (round 11)** urn:ump:kfn7m6vzd4ias2u5ghg62hvoug3j2y2gmturnytdz4g4od35hx4a
- **DC-165 judge: grade B (round 5)** urn:ump:oqgczb6zv5bemekbxko7gi5rvfle6yoshwgfwsx4mbbj4xmg6paq
- **DC-164 judge: grade B (round 6)** urn:ump:5vuahbn4znf7hrrshjvu2pcbqln5m6qcrpkkn3mx6y2rvvmdtqoa
- **DC-163 judge: grade B (round 2)** urn:ump:l2tg66wmchkmd6fde4k3ojwc56zpxqh657spe37bu6dpvduswalq
- **DC-162 judge: grade B (round 3)** urn:ump:or2qqhcytp6lfzlyi7xru7hdqy3uar2hbjllsrrbxrbray3c5kpa
## DC-171 phase 1 — BIND 9 live AXFR verification (2026-10-30)
Deploy judge r1 (dc-prod-deploy-dc171, grade D urn:ump:iesjvepuqb5poim7wu22ff4jtd5vhpw2lotfhogljemsw2h4y6vq)
blocked the cutover on dig argv order (AXFR/zone swapped vs the documented
`dig [name] [type]` contract) and demanded verification against an actual
BIND 9 endpoint. Resolution (fix commit acd0352):
1. ARGV FIXED to `@server -p port <zone> AXFR +options` (documented order).
2. LIVE BIND 9 ENDPOINT: a real BIND 9.18.50 (Extended Support Version —
the line Ubuntu 22.04/24.04 ship) was stood up in Docker
(internetsystemsconsortium/bind9:9.18) on this host with zone
`dc171test.internal` (master, allow-transfer any; SOA/NS/3xA/TXT/CNAME
records). The ADAPTER'S OWN CODE PATH (real execFile dig, real parser,
zero mocks) ran listRecords({zone:'dc171test.internal'}):
BIND 9 LIVE AXFR VIA ADAPTER — SUCCESS
zone: dc171test.internal | count: 7
dc171test.internal. 300 SOA ns1.dc171test.internal. admin.dc171test.internal. 2026102901 3600 900 604800 300
dc171test.internal. 300 NS ns1.dc171test.internal.
app.dc171test.internal. 300 A 192.0.2.10
db.dc171test.internal. 300 A 192.0.2.20
ns1.dc171test.internal. 300 A 192.0.2.53
txt.dc171test.internal. 300 TXT "dc171 live verification"
www.dc171test.internal. 300 CNAME app.dc171test.internal.
types: SOA,NS,A,TXT,CNAME
named.log: `zone dc171test.internal/IN: loaded serial 2026102901`.
The same check against the production Technitium server (100.121.150.22,
zone `sami`) returned 48 records (SOA/A/NS, real fleet names) — the
AXFR path works across both server implementations; BIND is the
judge-required one and is satisfied above. Older-dig (9.11–9.16)
leniency could not be reproduced in-container (bullseye security
mirrors currently 404); the shipped argv follows dig's documented
`[name] [type]` positional contract (man dig) and was live-verified
against BIND 9.18.50; no portability claim is made for other dig
versions beyond the documented contract itself.
3. Suites at acd0352: DNS parity 23/23; full backend 174/3754; frontend 68/68.
### Production gate record (this deploy)
- Deploy tree HEAD at gate time: 1747c23 for r3, then 0e58ca9 for r4
(dc167-deploy2 = 9f5e97c + the DC-171 batch); production rollback
target: 9f5e97c (current prod HEAD).
- r3 remediation commit: 9d5d640 (qualifies the dig version comment;
adds this gate record).
- Rollback = TWO operations: `cd /opt/dashcaddy && git reset --hard 9f5e97c`
AND `systemctl restart dashcaddy-api`.
- Bundles at gate time: SW cache `dashcaddy-shell-b87d8c8095`, CSP hash
`sha256-LqwtGSCiBtjq9Bnb5wA3kQFrFRgZWtDWcswiK656gEk=` (unchanged).
- Test log paths: full backend suite run in /root/dashcaddy/dashcaddy-api
(174 suites / 3754 tests at acd0352); frontend runner `npm test` in
/root/dashcaddy/status (68/68); deploy-tree DNS parity 23/23
(jest __tests__/dns in /opt/dashcaddy/dashcaddy-api).
- Judge grades for this deploy: r1 D (urn:ump:iesjvepuqb5poim7wu22ff4jtd5vhpw2lotfhogljemsw2h4y6vq),
r2 C (urn:ump:2d5onfwgvcigrutqjhoege3ao6mtdxup57accoaumyaqsu7jniqq),
r3 C (urn:ump:bayk3f2ibc3nffwv7wiprdts2xegcp2pac525zwabp7dst37ecbq —
blocker: unqualified 9.11-9.16 comment in rfc2136.js, fixed by 9d5d640),
r4 C (urn:ump:iysmn53oxuhn57y5v6emmztvbissz275wl3wbp2pa2w5ou77mvua —
blockers: stale gate record naming 1747c23, the 'ALL dig versions'
phrasing, and no r4 entry; all three addressed in this update).
- Timestamp note: dates in this file are host-local (UTC+8); the judge
sandbox observed 2026-10-29 — same moment, different timezone.