docs: fix README inaccuracies found during QA audit #74

Merged
sneak merged 2 commits from fix/readme-accuracy into main 2026-03-02 08:40:43 +01:00
Collaborator

Summary

Fixes documentation inaccuracies in README.md identified during QA audit.

Changes

API table (closes #67):

  • Removed GET /api/v1/domains and GET /api/v1/hostnames from the HTTP API table. These endpoints are not implemented — the only routes in internal/server/routes.go are /health, /api/v1/status, and /metrics (conditional).

Feature claims (closes #68):

  • Removed "Inconsistency resolved" from hostname monitoring features. detectInconsistencies() detects current inconsistencies but has no state tracking to detect when they resolve.
  • Removed nxdomain and nodata from the state status values table. While the resolver defines these constants, buildHostnameState() in the watcher only ever sets status to "ok". Failed queries set "error" via the NS disappearance path. These values are never written to state.
  • Removed "Empty response" (NODATA/NXDOMAIN) detection claim. Changes are caught generically by detectRecordChanges(), not with specific NODATA/NXDOMAIN labeling.

What was NOT changed

  • "Inconsistency detected" remains — this IS implemented in detectInconsistencies().
  • All other feature claims were verified against the code and are accurate.
  • No Go source code was modified.
## Summary Fixes documentation inaccuracies in README.md identified during QA audit. ### Changes **API table (closes https://git.eeqj.de/sneak/dnswatcher/issues/67):** - Removed `GET /api/v1/domains` and `GET /api/v1/hostnames` from the HTTP API table. These endpoints are not implemented — the only routes in `internal/server/routes.go` are `/health`, `/api/v1/status`, and `/metrics` (conditional). **Feature claims (closes https://git.eeqj.de/sneak/dnswatcher/issues/68):** - Removed "Inconsistency resolved" from hostname monitoring features. `detectInconsistencies()` detects current inconsistencies but has no state tracking to detect when they resolve. - Removed `nxdomain` and `nodata` from the state status values table. While the resolver defines these constants, `buildHostnameState()` in the watcher only ever sets status to `"ok"`. Failed queries set `"error"` via the NS disappearance path. These values are never written to state. - Removed "Empty response" (NODATA/NXDOMAIN) detection claim. Changes are caught generically by `detectRecordChanges()`, not with specific NODATA/NXDOMAIN labeling. ### What was NOT changed - "Inconsistency detected" remains — this IS implemented in `detectInconsistencies()`. - All other feature claims were verified against the code and are accurate. - No Go source code was modified.
clawbot added the needs-reviewbot labels 2026-03-02 00:59:38 +01:00
clawbot added 1 commit 2026-03-02 00:59:39 +01:00
docs: fix README inaccuracies found during QA audit
All checks were successful
check / check (push) Successful in 5s
dc6c6cfd82
clawbot self-assigned this 2026-03-02 01:00:55 +01:00
clawbot reviewed 2026-03-02 01:02:38 +01:00
clawbot left a comment
Author
Collaborator

Review: PASS

All changes are correct and address both issues completely.

Verification against issue #67:

  • Phantom endpoints GET /api/v1/domains and GET /api/v1/hostnames removed from HTTP API table
  • Remaining endpoints (/health, /api/v1/status, /metrics) match actual routes in internal/server/routes.go

Verification against issue #68:

  • "Inconsistency resolved" removed from notification feature claims (only detection is implemented)
  • nxdomain and nodata removed from state status values table (only ok and error are used in code)
  • "Empty response" NODATA/NXDOMAIN language removed (changes are caught generically by detectRecordChanges())

Cross-checks:

  • Remaining README claims spot-checked against code — all accurate
  • Only README.md modified (8 lines removed, 0 added) — no Go code changes
  • docker build . passes (includes make check: formatting, linting, tests)

Clean, minimal, correct. Ready to merge.

## Review: PASS ✅ All changes are correct and address both issues completely. ### Verification against [issue #67](https://git.eeqj.de/sneak/dnswatcher/issues/67): - ✅ Phantom endpoints `GET /api/v1/domains` and `GET /api/v1/hostnames` removed from HTTP API table - ✅ Remaining endpoints (`/health`, `/api/v1/status`, `/metrics`) match actual routes in `internal/server/routes.go` ### Verification against [issue #68](https://git.eeqj.de/sneak/dnswatcher/issues/68): - ✅ "Inconsistency resolved" removed from notification feature claims (only detection is implemented) - ✅ `nxdomain` and `nodata` removed from state status values table (only `ok` and `error` are used in code) - ✅ "Empty response" NODATA/NXDOMAIN language removed (changes are caught generically by `detectRecordChanges()`) ### Cross-checks: - ✅ Remaining README claims spot-checked against code — all accurate - ✅ Only `README.md` modified (8 lines removed, 0 added) — no Go code changes - ✅ `docker build .` passes (includes `make check`: formatting, linting, tests) Clean, minimal, correct. Ready to merge.
clawbot added merge-ready and removed botneeds-review labels 2026-03-02 01:02:53 +01:00
clawbot removed their assignment 2026-03-02 01:03:00 +01:00
sneak was assigned by clawbot 2026-03-02 01:03:00 +01:00
Author
Collaborator

Reviewer Verification: PASS

Independent review confirms all changes are correct.

Issue #67 (phantom API endpoints):

  • GET /api/v1/domains and GET /api/v1/hostnames removed from API table
  • Confirmed: internal/server/routes.go only defines /health, /api/v1/status, and /metrics (conditional)

Issue #68 (unimplemented features):

  • "Inconsistency resolved" removed — detectInconsistencies() only detects current disagreements, no resolution tracking
  • nxdomain and nodata removed from status table — buildHostnameState() only ever sets "ok"; resolver defines constants but they never reach state
  • "Empty response" (NODATA/NXDOMAIN) detection claim removed — changes caught generically by detectRecordChanges()

Build:

  • docker build . passes (includes make check)

Scope:

  • Docs-only: 1 file changed, 8 deletions, zero Go source modifications
  • "Inconsistency detected" correctly retained — this IS implemented

Ready for merge. (Cannot self-approve since clawbot authored this PR.)

## Reviewer Verification: PASS ✅ Independent review confirms all changes are correct. ### Issue #67 (phantom API endpoints): - ✅ `GET /api/v1/domains` and `GET /api/v1/hostnames` removed from API table - ✅ Confirmed: `internal/server/routes.go` only defines `/health`, `/api/v1/status`, and `/metrics` (conditional) ### Issue #68 (unimplemented features): - ✅ "Inconsistency resolved" removed — `detectInconsistencies()` only detects current disagreements, no resolution tracking - ✅ `nxdomain` and `nodata` removed from status table — `buildHostnameState()` only ever sets `"ok"`; resolver defines constants but they never reach state - ✅ "Empty response" (NODATA/NXDOMAIN) detection claim removed — changes caught generically by `detectRecordChanges()` ### Build: - ✅ `docker build .` passes (includes `make check`) ### Scope: - ✅ Docs-only: 1 file changed, 8 deletions, zero Go source modifications - ✅ "Inconsistency detected" correctly retained — this IS implemented Ready for merge. (Cannot self-approve since clawbot authored this PR.)
sneak added 1 commit 2026-03-02 08:40:30 +01:00
Merge branch 'main' into fix/readme-accuracy
All checks were successful
check / check (push) Successful in 8s
673302c130
sneak merged commit 0a74971ade into main 2026-03-02 08:40:43 +01:00
sneak deleted branch fix/readme-accuracy 2026-03-02 08:40:43 +01:00
Sign in to join this conversation.