Two non-blocking findings from the independent review of #138. Not milestoned 1.0.0 — neither affects whether the gate works today.
1. script/cibuild is not byte-identical to the model script
REPO_POLICIES.md requires the script/ entrypoints stay byte-identical across repos, sourced from https://git.eeqj.de/sneak/prompts/raw/branch/main/script/cibuild. This repo's copy has a different header comment:
# script/cibuild: run the CI build. The Dockerfile runs the checks
# (make fmt-check, lint, test), so a successful build implies a green
# repo. Generic: needs no adaptation. The Gitea workflow runs this on
# push.
against the model's:
# script/cibuild: run the CI build. The Dockerfile runs script/check, so
# a successful build implies all checks pass.
The executable body is identical, so behaviour is unaffected. The drift is pre-existing on next and #138 did not introduce it — but it is what made that PR's own compliance claim inaccurate, and it is exactly the kind of divergence that gets silently overwritten on the next re-sync from prompts.
Worth deciding which direction to reconcile: the local comment is arguably more informative, in which case the MODEL should be updated in sneak/prompts and every repo re-synced, rather than this repo being reverted.
Done whendiff between this repo's script/cibuild and the model is empty — whichever side moved.
2. The status-rewrite step hardcodes its context string
.gitea/workflows/check.yml:32 hardcodes ctx='check / check (push)'. Renaming the workflow or the job silently stops the match, restoring the false-red bug from #119 with no signal that it has broken.
Done when the context is derived (e.g. from ${GITHUB_WORKFLOW}, ${GITHUB_JOB} and ${GITHUB_EVENT_NAME}) so a rename cannot silently disable it, or the step fails loudly when it matches nothing.
Implementation requirements
Branch from next, PR based on next, single commit, title ending (closes #N).
Item 1 may need a PR against sneak/prompts instead of, or as well as, one here — say which in the PR body.
Do not modify TODO.md.
Gate on make check plus the Docker lint path with the cache defeated.
Two non-blocking findings from the independent review of https://git.eeqj.de/sneak/webhooker/pulls/138. Not milestoned 1.0.0 — neither affects whether the gate works today.
## 1. `script/cibuild` is not byte-identical to the model script
`REPO_POLICIES.md` requires the `script/` entrypoints stay byte-identical across repos, sourced from `https://git.eeqj.de/sneak/prompts/raw/branch/main/script/cibuild`. This repo's copy has a different header comment:
```
# script/cibuild: run the CI build. The Dockerfile runs the checks
# (make fmt-check, lint, test), so a successful build implies a green
# repo. Generic: needs no adaptation. The Gitea workflow runs this on
# push.
```
against the model's:
```
# script/cibuild: run the CI build. The Dockerfile runs script/check, so
# a successful build implies all checks pass.
```
The executable body is identical, so behaviour is unaffected. The drift is pre-existing on `next` and https://git.eeqj.de/sneak/webhooker/pulls/138 did not introduce it — but it is what made that PR's own compliance claim inaccurate, and it is exactly the kind of divergence that gets silently overwritten on the next re-sync from `prompts`.
Worth deciding which direction to reconcile: the local comment is arguably more informative, in which case the MODEL should be updated in `sneak/prompts` and every repo re-synced, rather than this repo being reverted.
**Done when** `diff` between this repo's `script/cibuild` and the model is empty — whichever side moved.
## 2. The status-rewrite step hardcodes its context string
`.gitea/workflows/check.yml:32` hardcodes `ctx='check / check (push)'`. Renaming the workflow or the job silently stops the match, restoring the false-red bug from https://git.eeqj.de/sneak/webhooker/issues/119 with no signal that it has broken.
**Done when** the context is derived (e.g. from `${GITHUB_WORKFLOW}`, `${GITHUB_JOB}` and `${GITHUB_EVENT_NAME}`) so a rename cannot silently disable it, or the step fails loudly when it matches nothing.
## Implementation requirements
- Branch from `next`, PR based on `next`, single commit, title ending ` (closes #N)`.
- Item 1 may need a PR against `sneak/prompts` instead of, or as well as, one here — say which in the PR body.
- Do not modify `TODO.md`.
- Gate on `make check` plus the Docker lint path with the cache defeated.
clawbot
self-assigned this 2026-08-12 13:00:16 +02:00
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.
Two non-blocking findings from the independent review of #138. Not milestoned 1.0.0 — neither affects whether the gate works today.
1.
script/cibuildis not byte-identical to the model scriptREPO_POLICIES.mdrequires thescript/entrypoints stay byte-identical across repos, sourced fromhttps://git.eeqj.de/sneak/prompts/raw/branch/main/script/cibuild. This repo's copy has a different header comment:against the model's:
The executable body is identical, so behaviour is unaffected. The drift is pre-existing on
nextand #138 did not introduce it — but it is what made that PR's own compliance claim inaccurate, and it is exactly the kind of divergence that gets silently overwritten on the next re-sync fromprompts.Worth deciding which direction to reconcile: the local comment is arguably more informative, in which case the MODEL should be updated in
sneak/promptsand every repo re-synced, rather than this repo being reverted.Done when
diffbetween this repo'sscript/cibuildand the model is empty — whichever side moved.2. The status-rewrite step hardcodes its context string
.gitea/workflows/check.yml:32hardcodesctx='check / check (push)'. Renaming the workflow or the job silently stops the match, restoring the false-red bug from #119 with no signal that it has broken.Done when the context is derived (e.g. from
${GITHUB_WORKFLOW},${GITHUB_JOB}and${GITHUB_EVENT_NAME}) so a rename cannot silently disable it, or the step fails loudly when it matches nothing.Implementation requirements
next, PR based onnext, single commit, title ending(closes #N).sneak/promptsinstead of, or as well as, one here — say which in the PR body.TODO.md.make checkplus the Docker lint path with the cache defeated.