Skip to content

fix(adr): correct a false claim in ADR 0048 about shipped executables - #34

Merged
lozit merged 1 commit into
mainfrom
fix/correct-the-no-executable-claim
Sep 29, 2026
Merged

lozit merged 1 commit into
mainfrom
fix/correct-the-no-executable-claim

Conversation

@lozit

@lozit lozit commented Sep 29, 2026

Copy link
Copy Markdown
Owner

ADR 0048 shipped an hour ago with a false statement. Correcting it, and logging how it got in.

The claim

It would have been the first executable the plugin ever generated. Verified: no .sh, no hook, nothing runtime in any template today.

False. skills/bootstrap/templates/loop/run-loop.sh is generated, chmod +x, whenever the loop scaffolding is opted into — and has been since v1.6.

How it got in

The check was ls skills/bootstrap/templates/ | grep '\.sh$'. It listed one directory level; the claim was about the whole plugin. templates/loop/ was never looked at.

That is the guard from the 2026-09-21 drift entry — ask what the evidence does not cover, and check that instead — failing on a new vector. There, the evidence came from a peer and the inference was borrowed. Here I produced the evidence myself, which is precisely why it did not fire: a command you ran yourself feels like verification in a way a peer's does not. Logged as a recurrence on that entry rather than as a new one, per ADR 0043.

The decision does not move, and the argument gets better

run-loop.sh is a runner the user invokes — opt-in, with a hard iteration ceiling, and nothing happens until someone types it. A SessionStart hook runs unasked, in the agent's startup path, on every session of every bootstrapped project.

That is the class ADR 0025 refused, and it is a sharper line than no executables ever was — which was both false and the wrong test.

ADR 0048 said the refused hook would have been the first executable the
plugin ever generates. It would not: loop/run-loop.sh is generated,
chmod +x, when the loop scaffolding is opted into, and has been since
v1.6.

The check behind the claim ran ls on one directory level while the claim
was about the whole plugin. Same guard as the 2026-09-21 drift entry —
ask what the evidence does not cover — which did not fire, because a
command you ran yourself feels like verification in a way a peer's does
not. Logged there as a recurrence.

The decision does not move, and the corrected distinction is sharper:
run-loop.sh is a runner the user invokes, opt-in and capped, where a
SessionStart hook runs unasked on every session of every bootstrapped
project. That is the class ADR 0025 refused.

See CHANGELOG [Unreleased] > Added.
@lozit
lozit merged commit 5cd4582 into main Sep 29, 2026
2 checks passed
@lozit
lozit deleted the fix/correct-the-no-executable-claim branch September 29, 2026 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant