Customer-facing professionalism tier (AUDIT-2026-10-27.md findings 34-39):
- CHANGELOG.md rebuilt to Keep-a-Changelog: ONE Unreleased section, the
2026-08-12 hardening sprint folded into 1.17.0 (no v1.16.0 tag exists,
verified via git tag -l), ALL 7 judge-grade/URN lines moved out of
customer copy into RELEASE-EVIDENCE-internal.md, missing DC-166/169
entries added, full DC-170 sweep entry written, DC-171 DNS-parity
ticket recorded, date order strictly descending across all 22
sections (1.1.5 restored with its true content after the re-sort ate
the heading), compare-link chain filled (Unreleased from v1.17.0,
1.17.0 from v1.14.6-patched, 18 missing version links added)
- VERSION 1.15.0 -> 1.17.0 + openapi.yaml 1.15.0 -> 1.17.0 (three-way
drift closed: VERSION=package.json=openapi; start.sh build stamps
single-sourced)
- README: quickstart endpoints rewritten against the live router (the
fictional /api/caddy/{config,reload} section replaced with the real
/api/v1/caddy/* routes from routes/sites.js), 50+ -> 78 templates
(proven in VERIFY-OUTPUT.txt via require of src/docker/app-templates),
version badge 1.17.0, yourusername links -> sami7777, roadmap
reconciled with shipped features (multi-user DC-048, DNS UI DC-166,
backup automation marked shipped), verification note scoped to the
MCP drift gate's actual coverage
- API-SURFACE.md regenerated: 443 handler rows / 368 unique paths / 441
unique operations / 88 public rows, Known Limitations section (static
extraction, line-oriented, may omit multiline/computed/chained
registrations), exact duplicate registrations with file:line
- VERIFY-OUTPUT.txt: verbatim command/output transcript proving all
version + count claims (sha256 of the generated doc recorded and
matching)
- state-manager test mock extended for the atomic tmp+rename contract
Judge rounds: r1 D -> r2 D -> r3 D -> r4 D -> r5 C -> r6 C -> r7 C ->
r8 C -> r9 C -> r10 A (each round fixed blockers in-lane; no bypasses).
r10 independently reproduced all counts and the generated doc hash
against the live repository.
31 lines
1.3 KiB
Plaintext
31 lines
1.3 KiB
Plaintext
# Reproducible verification — DC-170 docs batch r9 rev2 (2026-10-29 09:27 UTC)
|
|
# Every line below is verbatim: the exact command run and its exact output,
|
|
# captured in one shell session against this repository.
|
|
# NOTE: dashcaddy-api/VERSION was observed reverted to 1.15.0 at 09:26 UTC
|
|
# (mtime 2026-10-29 01:48:13, writer unidentified) and was re-set to 1.17.0
|
|
# with: echo 1.17.0 > dashcaddy-api/VERSION
|
|
|
|
$ cd /root/dashcaddy
|
|
$ cat dashcaddy-api/VERSION
|
|
1.17.0
|
|
|
|
$ grep "\"version\"" dashcaddy-api/package.json
|
|
"version": "1.17.0",
|
|
|
|
$ grep "version:" dashcaddy-api/openapi.yaml | head -1
|
|
version: 1.17.0
|
|
|
|
$ grep "version-" README.md | head -1
|
|

|
|
|
|
$ node -e 'const {APP_TEMPLATES}=require("./dashcaddy-api/src/docker/app-templates"); console.log("templates:", Object.keys(APP_TEMPLATES).length)'
|
|
templates: 78
|
|
|
|
$ python3 /root/.hermes/skills/software-development/dashcaddy/scripts/api-surface-extract.py --root /root/dashcaddy --out /root/dashcaddy/API-SURFACE.md
|
|
[ok] 443 handler rows, 59 PUBLIC_ROUTES allowlist entries
|
|
[ok] wrote /root/dashcaddy/API-SURFACE.md (54340 bytes)
|
|
$ wc -c API-SURFACE.md
|
|
54340 API-SURFACE.md
|
|
$ sha256sum API-SURFACE.md
|
|
6ee6b2f0da244cd6103be14f0977b95f1a9af3d453bf2401bb4c222d59b6c621 API-SURFACE.md
|