build: ship the access check, which merged without its build line #646

Merged
coilyco-ops merged 1 commit from build/ship-the-access-check-claude into main 2026-08-13 17:50:11 +00:00
Member

closes #644

cmd/sirens-echo-access-check is on main. The Dockerfile does not build it:

$ grep -c access-check Dockerfile
0

The binary exists in source, has tests, and cannot be invoked by the only caller it was written for. Deploy's CI runs against the released image, which is the entire reason #628 asked for it.

What happened

I checked reachability before opening #628's pull request, found the binary was not built, and fixed it in a second commit on the same branch. The pull request merged at the first commit. The command landed and the build line did not.

Same shape as #563 and #609 — a merge capturing a branch state that has moved — and the same mechanism as #568.

Why I filed an issue rather than pushing quietly

This is the defect the tool was written to prevent, in the tool itself. #628 exists because a bad access policy is only caught after it goes live; its fix shipped in a state where it cannot run.

It is also the fourth instance today of the class in #618, and the only one I introduced after writing #592, which names it. I checked the property once and did not check that the check survived.

Checking a property once is not the same as the property holding.

Two lines: built beside the other commands, copied into the runtime image rather than only the build stage.

ward exec gate green.

closes #644 `cmd/sirens-echo-access-check` is on `main`. The `Dockerfile` does not build it: ``` $ grep -c access-check Dockerfile 0 ``` The binary exists in source, has tests, and **cannot be invoked by the only caller it was written for.** Deploy's CI runs against the released image, which is the entire reason #628 asked for it. ## What happened I checked reachability before opening #628's pull request, found the binary was not built, and fixed it in a second commit on the same branch. **The pull request merged at the first commit.** The command landed and the build line did not. Same shape as #563 and #609 — a merge capturing a branch state that has moved — and the same mechanism as #568. ## Why I filed an issue rather than pushing quietly This is the defect the tool was written to prevent, **in the tool itself**. #628 exists because a bad access policy is only caught after it goes live; its fix shipped in a state where it cannot run. It is also the fourth instance today of the class in #618, and the only one I introduced *after* writing #592, which names it. I checked the property once and did not check that the check survived. **Checking a property once is not the same as the property holding.** Two lines: built beside the other commands, copied into the runtime image rather than only the build stage. `ward exec gate` green.
build: ship the access check, which merged without its build line
All checks were successful
ci / image-build (pull_request) Successful in 23s
ci / test (pull_request) Successful in 40s
ci / publish-echo-image (pull_request) Has been skipped
ci / publish-observed (pull_request) Has been skipped
25fdcb1dfe
cmd/sirens-echo-access-check is on main and the Dockerfile does not build it,
so the binary exists in source, has tests, and cannot be invoked by the only
caller it was written for. Deploy's CI runs against the released image.

I caught this before opening the pull request and fixed it in a second commit
on the same branch. The pull request merged at the first commit.

That makes it the fourth instance today of a capability built, tested, and
unreachable, and the only one introduced after I wrote the document naming the
class. Checking a property once is not the same as the property holding.

Two lines. Built beside the other commands, copied into the runtime image
rather than only the build stage.

Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/sirens-echo!646
No description provided.