v0 plan: move given files to _files/ so go vet ./... ignores them; note the first-attempt finding

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 02:03:00 -07:00
co-authored by Claude Fable 5.1
parent 89e47d83f8
commit c524ff943d
22 changed files with 27 additions and 18 deletions
+11 -2
View File
@@ -12,7 +12,7 @@ no `/slots`, no queueing.
**Architecture:** four small packages under `internal/` — `config` (TOML + validation), `health`
(poller + table), `proxy` (route → host → `httputil.ReverseProxy`), `admin` (read-only JSON) —
and two binaries under `cmd/`: `crossbar` and the given `fakeupstream`. Behaviour is pinned by
the tests in `files/`, which were run against a private reference implementation at each task's
the tests in `_files/`, which were run against a private reference implementation at each task's
end state; the reference is not in this repository and the implementer must not look for it.
**Tech stack:** Go 1.26, standard library, `github.com/BurntSushi/toml` v1.6.0. Nothing else.
@@ -53,10 +53,19 @@ stops at the first task that does not end with a commit, a clean tree and a `don
1. `git log --oneline master..v0`: five commits with the `Implemented-By` trailer.
2. Copied files are unchanged:
`for f in $(cd docs/plans/v0/files && find . -type f); do cmp "docs/plans/v0/files/$f" "$f"; done`
`for f in $(cd docs/plans/v0/_files && find . -type f); do cmp "docs/plans/v0/_files/$f" "$f"; done`
3. `git diff master..v0 --stat -- PLAN.md AGENTS.md docs/plans` is empty.
4. `make gate` and `make smoke` on straylight.
5. Read every source file against its task. Probe from outside with inputs the tests do not
contain: a route with query strings and encoded characters, a host that hangs after headers, a
3 MB request body, `/_crossbar/hosts` while a poll is in flight, SIGTERM during a stream.
6. Write findings under "Reviews" in `docs/implementer-log.md`.
## Changes during the run
- 2026-09-25, task 01, first attempt: the given files lived under `docs/plans/v0/files/`, which
Go's `./...` pattern includes, so `go vet ./...` in the gate tried to build the tests of tasks
02–04 against packages that did not exist yet. Ornith diagnosed this correctly and stopped
investigating instead of editing the Makefile. Fixed by moving the directory to `_files/`
(directories starting with `_` are ignored by the go tool); every task file updated. Task 01
restarted from a clean tree.