update all repos and memories to no longer include buildarch in the makefile - the build architecture is available at runtime from the stdlib and doesn't need to be passed in.
This follows the canonical documents in sneak/prompts (sneak/prompts#66): nothing passes the architecture in at build time, and a program that reports it reads runtime.GOARCH at run time, logged by Identify as "arch", runtime.GOARCH.
What to change, on a branch cut from next, PR to next:
backend/cmd/netwatch-server/main.go: remove the Buildarch variable and the line copying it into globals.
backend/internal/globals/globals.go: remove Buildarch from the variable block, the struct and New; the package comment no longer says the values are all build-time metadata if that stops being true.
backend/internal/logger/logger.go (Identify) and backend/internal/server/http.go (the listen log line): log "arch", runtime.GOARCH in place of the "buildarch" field.
backend/script/build: drop -X main.Buildarch=$(uname -m) and the header's mention of the architecture being stamped in.
Dockerfile: the comment quoting the build command drops -X main.Buildarch=....
Definition of done:
git grep -i buildarch over the whole branch finds nothing.
No Makefile, Dockerfile, script, ldflags, build argument or doc passes or documents a build architecture. Where the program reports its architecture, it reads runtime.GOARCH at run time. A Buildarch variable or field is removed, not left empty.
make check passes; nothing outside this change is touched.
Model: opus-5-5
Owner's words (chat, 2026-10-01 ~22:39 UTC; the rollout across repos is https://git.eeqj.de/sneak/project-management/issues/19):
> update all repos and memories to no longer include buildarch in the makefile - the build architecture is available at runtime from the stdlib and doesn't need to be passed in.
This follows the canonical documents in `sneak/prompts` (https://git.eeqj.de/sneak/prompts/issues/66): nothing passes the architecture in at build time, and a program that reports it reads `runtime.GOARCH` at run time, logged by `Identify` as `"arch", runtime.GOARCH`.
What to change, on a branch cut from `next`, PR to `next`:
- `backend/cmd/netwatch-server/main.go`: remove the `Buildarch` variable and the line copying it into `globals`.
- `backend/internal/globals/globals.go`: remove `Buildarch` from the variable block, the struct and `New`; the package comment no longer says the values are all build-time metadata if that stops being true.
- `backend/internal/logger/logger.go` (`Identify`) and `backend/internal/server/http.go` (the listen log line): log `"arch", runtime.GOARCH` in place of the `"buildarch"` field.
- `backend/script/build`: drop `-X main.Buildarch=$(uname -m)` and the header's mention of the architecture being stamped in.
- `Dockerfile`: the comment quoting the build command drops `-X main.Buildarch=...`.
Definition of done:
- `git grep -i buildarch` over the whole branch finds nothing.
- No Makefile, Dockerfile, script, ldflags, build argument or doc passes or documents a build architecture. Where the program reports its architecture, it reads `runtime.GOARCH` at run time. A `Buildarch` variable or field is removed, not left empty.
- `make check` passes; nothing outside this change is touched.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Owner's words (chat, 2026-10-01 ~22:39 UTC; the rollout across repos is sneak/project-management#19):
This follows the canonical documents in
sneak/prompts(sneak/prompts#66): nothing passes the architecture in at build time, and a program that reports it readsruntime.GOARCHat run time, logged byIdentifyas"arch", runtime.GOARCH.What to change, on a branch cut from
next, PR tonext:backend/cmd/netwatch-server/main.go: remove theBuildarchvariable and the line copying it intoglobals.backend/internal/globals/globals.go: removeBuildarchfrom the variable block, the struct andNew; the package comment no longer says the values are all build-time metadata if that stops being true.backend/internal/logger/logger.go(Identify) andbackend/internal/server/http.go(the listen log line): log"arch", runtime.GOARCHin place of the"buildarch"field.backend/script/build: drop-X main.Buildarch=$(uname -m)and the header's mention of the architecture being stamped in.Dockerfile: the comment quoting the build command drops-X main.Buildarch=....Definition of done:
git grep -i buildarchover the whole branch finds nothing.runtime.GOARCHat run time. ABuildarchvariable or field is removed, not left empty.make checkpasses; nothing outside this change is touched.Model: opus-5-5