Record the setup-change closeout and the module glossary.

The change notes finish the documentation pass, and CONTEXT.md points at the project specification.
This commit is contained in:
2026-09-30 17:29:11 +02:00
parent eff7637f86
commit 8d090864af
3 changed files with 167 additions and 10 deletions
@@ -0,0 +1,92 @@
# Changes: Initial project setup and DNS operation catalog
## Summary
Change **00001-setup-project** bootstrapped the **go-dns** project: a new Go module in the workspace, Gitea repository on branch `feature/C-00001-setup-project`, full DNS operation catalog in `spec.md`, product documentation, Cursor project rule, product backlog, and **`docs/bind-tsig-configuration.md`** (BIND TSIG setup for dynamic updates and AXFR). No Go library code, TSIG/UPDATE/AXFR implementation, or integration tests were added — those are deferred to future changes. Verification passed with one accepted gap (`go work sync` blocked by a pre-existing `log-analyzer` workspace issue).
## Change folder
`go-dns/docs/changes/00001-setup-project/`
| Artifact | Status |
|----------|--------|
| `spec.md` | Baseline commit |
| `plan.md` | Baseline commit |
| `impl-decisions.md` | Implementation commit |
| `verification.md` | Verify phase (local; commit with this document) |
| `changes.md` | This document (document phase) |
## Files changed
### Specify phase (baseline commit `47f1744`)
| Path | Change |
|------|--------|
| `go.mod` | added |
| `.gitignore` | added |
| `.cursor/rules/project-specification.mdc` | added |
| `docs/project-specification.md` | added |
| `docs/backlog.md` | added |
| `README.md` | added |
| `docs/changes/00001-setup-project/spec.md` | added |
| `docs/changes/00001-setup-project/plan.md` | added |
### Implement phase (commit `eff7637`)
| Path | Change |
|------|--------|
| `docs/bind-tsig-configuration.md` | added |
| `docs/project-specification.md` | modified — live BIND guide links |
| `README.md` | modified — BIND guide link |
| `.gitignore` | modified — `.env` / `.env.*` |
| `.cursor/rules/project-specification.mdc` | modified — guide path wording |
| `docs/changes/00001-setup-project/impl-decisions.md` | added |
### Verify and document phases (local, not yet committed)
| Path | Change |
|------|--------|
| `docs/changes/00001-setup-project/verification.md` | added |
| `docs/changes/00001-setup-project/changes.md` | added |
### Workspace (outside `go-dns` git repo)
| Path | Change |
|------|--------|
| `go.work` (workspace root) | `./go-dns` listed under `use (...)` — not in project git history |
### Git history
| Commit | Contents |
|--------|----------|
| `47f1744` `chore: baseline before change C-00001-setup-project` | Specify-phase scaffolding and change docs |
| `eff7637` `docs: add BIND TSIG guide and align project documentation` | BIND guide, doc alignment, `impl-decisions.md` |
## Deviations from plan or spec
| Deviation | Notes |
|-----------|-------|
| **`go work sync`** | Fails from workspace root because `log-analyzer/` is in `go.work` without `go.mod`. Not caused by this change. See [verification.md](verification.md) accepted gap AC-1. |
| **No Go source** | Plan and spec explicitly exclude library implementation; no `package godns` files yet. |
| **Otherwise** | None — BIND guide matches spec section 9; backlog preserved; no scope creep. |
## Verification reference
**Result:** Pass with one accepted gap ([verification.md](verification.md)).
| AC | Result |
|----|--------|
| AC-1 | Pass (accepted gap) — `go work sync` fails on `log-analyzer` |
| AC-2 – AC-10 | Pass |
## Follow-ups
| Item | Suggested action |
|------|------------------|
| Commit `verification.md` and `changes.md`; push branch | User / git |
| Fix workspace `go.work` / `log-analyzer` | Separate workspace change |
| Merge `feature/C-00001-setup-project` to `main` on Gitea | After review |
| Implement `package godns` (RFC 2136 UPDATE, AXFR, TSIG) | Next change per spec |
| Typed RR builders, zone data types in Go | With or after protocol change |
| BIND testcontainer integration tests | After minimal library surface exists |
| IXFR support | Backlog P2 — [backlog.md](../../backlog.md) |