Carry dejima's canonical statements: the disclaimer, and the push rule #8

Merged
branderson merged 1 commits from maturity-disclaimer into main 2026-08-10 21:05:06 -07:00
Collaborator

Summary generated by LLM agent

Two things dejima states canonically that this repository did not carry: the maturity disclaimer from #117, and the push rule from #116.

The disclaimer, duplicated on purpose

dejima's wording covers all three repositories by name — "these projects", "any of these repositories" — so a reader landing here would never have seen it. It goes in the same three places dejima pins it: README.md, SECURITY.md, and the document that argues at length for security properties.

Duplicated rather than linked, which is the opposite of what attribution and the security policy do here. That is deliberate. A disclaimer behind a link is a disclaimer the reader does not see, and its whole value is being on the page where the security argument is being made. Everything else that gets linked is reference material someone goes looking for; this is the one thing that has to arrive uninvited.

test/disclaimer.bats pins it in all three. The line is the one most likely to be dropped without anyone deciding to drop it — by a rewrite of some section that happened to contain it — and every other test here would still pass on a repository that had lost it.

It earned its place during this change. A git checkout README.md while I was verifying the guard reverted the paragraph from the index, and I committed without it. The guard failed on the next run, which is exactly the sequence it exists for.

The push rule, linked rather than restated

It goes in §6 of the runbook, the credentials section, which is where it belongs: a session's forge is the one you chose, and everywhere else is where its dependencies and its reading live.

The argument itself is not repeated. dejima has the canonical version, including what an unsolicited pull request costs the people receiving it, and one copy is one copy to keep right.

That is not a hypothetical concern. dejima-ci-hardener carried its own version of this argument for a day, and in that day one line had already drifted: it said the eager agent's pull request is something the operator should have decided rather than discovered, which puts the cost on the operator and implies approving it would be fine. dejima's version puts the cost where it actually lands and says the block exists so it cannot happen, not so you get to approve it first. That entry is now a pointer too.

Verified

bats test/ passes, 65 ok and 0 failed. Merges cleanly against #4, #5, #6 and #7.

**Summary generated by LLM agent** Two things dejima states canonically that this repository did not carry: the maturity disclaimer from #117, and the push rule from #116. ## The disclaimer, duplicated on purpose dejima's wording covers all three repositories by name — "these projects", "any of these repositories" — so a reader landing here would never have seen it. It goes in the same three places dejima pins it: `README.md`, `SECURITY.md`, and the document that argues at length for security properties. **Duplicated rather than linked, which is the opposite of what attribution and the security policy do here.** That is deliberate. A disclaimer behind a link is a disclaimer the reader does not see, and its whole value is being on the page where the security argument is being made. Everything else that gets linked is reference material someone goes looking for; this is the one thing that has to arrive uninvited. `test/disclaimer.bats` pins it in all three. The line is the one most likely to be dropped without anyone deciding to drop it — by a rewrite of some section that happened to contain it — and every other test here would still pass on a repository that had lost it. It earned its place during this change. A `git checkout README.md` while I was verifying the guard reverted the paragraph from the index, and I committed without it. The guard failed on the next run, which is exactly the sequence it exists for. ## The push rule, linked rather than restated It goes in §6 of the runbook, the credentials section, which is where it belongs: a session's forge is the one you chose, and everywhere else is where its dependencies and its reading live. The argument itself is not repeated. dejima has the canonical version, including what an unsolicited pull request costs the people receiving it, and one copy is one copy to keep right. That is not a hypothetical concern. `dejima-ci-hardener` carried its own version of this argument for a day, and in that day one line had already drifted: it said the eager agent's pull request is something the operator should have decided rather than discovered, which puts the cost on the operator and implies approving it would be fine. dejima's version puts the cost where it actually lands and says the block exists so it cannot happen, not so you get to approve it first. That entry is now a pointer too. ## Verified `bats test/` passes, 65 ok and 0 failed. Merges cleanly against #4, #5, #6 and #7.
dejima-agent added 1 commit 2026-08-10 20:27:58 -07:00
Carry dejima's canonical statements: the disclaimer, and the push rule
tests / runner-env (pull_request_target) Successful in 1m40s
tests / tests (pull_request_target) Successful in 1m53s
783c508d97
Two things dejima states canonically and this repository did not carry.

The maturity disclaimer, in the same three places dejima pins it: README, SECURITY.md and the document that argues at length for security properties. Its own wording covers all three repositories by name - these projects, any of these repositories - so a reader landing here would not have seen it. Duplicated rather than linked, which is the opposite of what attribution and the security policy do, and deliberately: a disclaimer behind a link is a disclaimer the reader does not see, and its whole value is being on the page where the argument is being made.

test/disclaimer.bats pins it in all three. The line is the one most likely to be dropped without anyone deciding to drop it, by a rewrite of a section that happened to contain it, and every other test here would still pass on a repository that had lost it. It earned its place immediately: a git checkout during development reverted the README paragraph and the guard caught the commit that would have shipped without it.

The push rule goes in the credentials section, where it belongs: a session's forge is the one you chose, and everywhere else is where its dependencies live. Linked rather than restated, because the argument has a canonical home and a second copy of an argument is a second copy to keep right.
branderson approved these changes 2026-08-10 21:04:59 -07:00
branderson merged commit 5e7bfc6aa9 into main 2026-08-10 21:05:06 -07:00
Sign in to join this conversation.