Files
konrad 8d090864af Record the setup-change closeout and the module glossary.
The change notes finish the documentation pass, and CONTEXT.md points at the project specification.
2026-09-30 17:29:11 +02:00

93 lines
3.8 KiB
Markdown
Raw Permalink 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.
# 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) |