docs(adr): record the live platform check as outstanding, not done (#263) - #264
Merged
bdelanghe merged 1 commit intoAug 18, 2026
Merged
Conversation
) ADR-NETWORK-POSTURE's "What is proven where, and what is not" said the platform properties were "checked once against a live macOS box". That describes the intended posture in the present tense. The check has not been run -- this branch was developed in a Linux container with no podman and no macOS -- so the PR body and the ADR disagreed about whether the mechanism is verified, and the ADR is the artifact that outlives the PR. A reader finding it later concludes the curl repro was re-run. Rule 3 applied to the sentence that invokes rule 3. Three changes, all to the record, none to the mechanism: - The not-proven bullet gains the /etc/hosts arbitration, which until now lived only in the PR body: the box pins the door hostname with --add-host and podman may write its own host.containers.internal entry, and which wins is unconfirmed on a real host. - An explicit ACCEPTED, UNPROVEN entry states that the live check is outstanding and that the #236 curl should now fail to connect. - A table naming which host settles which item, so the residue is re-enterable rather than rediscovered. The last is the load-bearing part. Two of the three do NOT need macOS despite TCP mode being macOS's default: isTcpMode() is pure/env-driven and the darwin branch in main() only supplies the default, so DOORS_TCP=1 on a Linux host with rootless podman runs this exact path, and HOSTING.md already specifies such a host. Only the /etc/hosts arbitration needs a mac, because podman there is already inside a VM. A Lima VM does not close it -- it is Linux, so it moves the question rather than answering it. Why no session in this org could just run the check: .github-private#613/#614. The org has a session floor (a host a session runs on) and no room floor (a host that can run boxes), so the session that implements platform-specific work structurally cannot be the one that verifies it. Markdown only; no source, test or flag changes. bun test: 467 pass, 0 fail, unchanged from this branch's own baseline. tsc not run -- bun-types comes from the nix devshell and this clone has no package.json to install from -- which does not reach a markdown-only diff. Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #263. Stacked on #261 — based on
claude/next-kp573h, notmain, because the sentence it corrects is introduced by that PR. Merge it into #261 before #261 merges, or cherry-pick the one commit onto that branch; either works and the diff is 32 lines of markdown.The disagreement
ADR-NETWORK-POSTURE.mdsaid the platform properties were "checked once against a live macOS box." That is the intended posture stated in the present tense — the check has not been run. #261's own body is straight about it ("developed in a Linux container with no podman and no macOS", and now "This PR left draft with that check still outstanding").So the PR body and the ADR disagreed about whether the mechanism is verified, and the ADR is the artifact that outlives the PR. A reader finding it in six months concludes the
curlrepro was re-run. That isdocs/agentic-code-hygiene.mdrule 3 — a gate's own claim about itself is not evidence — landing on the sentence that invokes rule 3.What changed
Three edits to the record, none to the mechanism:
/etc/hostsarbitration, which until now lived only in the PR body — the box pins the door hostname with--add-host, podman may write its ownhost.containers.internal, and which wins is unconfirmed on a real host. Same epistemic status as the other two, so it belongs on the same list.ACCEPTED, UNPROVENentry, dated, saying the live check is outstanding and that the security: TCP mode grants full unrestricted internet egress to any box holding a non-net door #236curlshould now fail to connect.The load-bearing part
Two of the three do not need macOS, despite TCP mode being macOS's default:
--internalreally removes the routesocatpresent in the relay image/etc/hostsarbitrationisTcpMode()is pure/env-driven and the darwin branch inmain()only supplies the default, soDOORS_TCP=1on a Linux podman host runs this exact path — andHOSTING.mdalready specifies such a host. A Lima VM does not close the third item; it is Linux, so it moves the question rather than answering it.Why no session in this org could just run the check
.github-private#613 / #614: the org has a session floor (a host a session runs on, #373) and no room floor (a host that can run boxes). The devcontainer floor ships node, github-cli and sshd and is itself a Docker container. So the session that implements platform-specific work structurally cannot be the one that verifies it — which is why this PR records the gap instead of closing it.Verification
bun test— 467 pass, 28 skip, 1 todo, 0 fail, unchanged from this branch's own baseline.bun x tsc --noEmit— not run.bun-typescomes from the nix devshell and this clone has nopackage.jsonto install from. Does not reach a markdown-only diff, but it was not seen green.ADR-NETWORK-POSTURE.mdonly: 32 insertions, 4 deletions.[settings]/[org]None.
Generated by Claude Code