Found by the integration review of #111. Milestoned 1.0.0 because these make the README and release notes untrue at the exact moment of tagging.
RETENTION_SWEEP_INTERVAL is missing from the README env table (README.md:86-98), while README.md:174 and README.md:642 both reference it as documented.
TODO.md omits 5 of the 15 landed units — #64, #79, #90, #113 and #118 — in a commit titled "Update TODO.md for the completed 1.0.0 milestone". Both of the omitted entries for #113 and #118 are credential-exposure fixes, which are precisely the ones a reader of the release notes wants to see.
TODO.md:118 deleted "Manual event redelivery from the web UI" from Next Step without it being implemented, while README.md:263 still sells Replay in the present tense as a core capability. No redelivery code exists anywhere in the tree. Either the README claim is false or the roadmap entry should not have been dropped — resolve it so the two agree.
static/js/app.js:2 ships console.log("Webhooker loaded") in the production asset.
Definition of done
The README env table lists every environment variable the code reads. Verify by enumerating them from internal/config rather than by eye.
TODO.md Completed Steps covers all 15 units landed in this milestone.
README.md:263 and TODO.md agree with each other and with the code about whether replay/redelivery exists. If it does not exist, the README must not claim it in the present tense.
No debug logging in shipped static assets.
Implementation requirements
This unit MAY edit TODO.md — it is one of the things being fixed. It is the exception to the usual rule from #112, which holds for every other branch.
Run make fmt and include the result; markdown must be committed formatted.
Branch from next, PR based on next, single commit, title ending (closes #N).
Gate on make check plus the Docker lint path with the cache defeated (#119).
Found by the integration review of https://git.eeqj.de/sneak/webhooker/pulls/111. Milestoned 1.0.0 because these make the README and release notes untrue at the exact moment of tagging.
1. **`RETENTION_SWEEP_INTERVAL` is missing from the README env table** (`README.md:86-98`), while `README.md:174` and `README.md:642` both reference it as documented.
2. **`TODO.md` omits 5 of the 15 landed units** — https://git.eeqj.de/sneak/webhooker/issues/64, https://git.eeqj.de/sneak/webhooker/issues/79, https://git.eeqj.de/sneak/webhooker/issues/90, https://git.eeqj.de/sneak/webhooker/issues/113 and https://git.eeqj.de/sneak/webhooker/issues/118 — in a commit titled "Update TODO.md for the completed 1.0.0 milestone". Both of the omitted entries for https://git.eeqj.de/sneak/webhooker/issues/113 and https://git.eeqj.de/sneak/webhooker/issues/118 are credential-exposure fixes, which are precisely the ones a reader of the release notes wants to see.
3. **`TODO.md:118` deleted "Manual event redelivery from the web UI" from Next Step without it being implemented**, while `README.md:263` still sells Replay in the present tense as a core capability. No redelivery code exists anywhere in the tree. Either the README claim is false or the roadmap entry should not have been dropped — resolve it so the two agree.
4. **`static/js/app.js:2` ships `console.log("Webhooker loaded")`** in the production asset.
## Definition of done
- The README env table lists every environment variable the code reads. Verify by enumerating them from `internal/config` rather than by eye.
- `TODO.md` Completed Steps covers all 15 units landed in this milestone.
- `README.md:263` and `TODO.md` agree with each other and with the code about whether replay/redelivery exists. If it does not exist, the README must not claim it in the present tense.
- No debug logging in shipped static assets.
## Implementation requirements
- This unit MAY edit `TODO.md` — it is one of the things being fixed. It is the exception to the usual rule from https://git.eeqj.de/sneak/webhooker/issues/112, which holds for every other branch.
- Run `make fmt` and include the result; markdown must be committed formatted.
- Branch from `next`, PR based on `next`, single commit, title ending ` (closes #N)`.
- Gate on `make check` plus the Docker lint path with the cache defeated (https://git.eeqj.de/sneak/webhooker/issues/119).
clawbot
added this to the 1.0.0 milestone 2026-08-12 12:30:13 +02:00
clawbot
self-assigned this 2026-08-12 12:30:13 +02:00
Plan, for the one item with a real choice in it (3):
Redelivery does not exist in the tree (only a comment in internal/delivery/engine.go mentions the word), so the README claim is what is false. The two present-tense Replay claims — the Rationale item and the Use Cases bullet — get rewritten as not-yet-implemented rather than deleted, so the capability stays visible as roadmap, and TODO.md Future Steps regains "Manual event redelivery from the web UI" alongside the REST redelivery endpoint it already lists. The /api/v1/events/{id}/redeliver row is already under an "API (Planned)" heading and needs no change.
Items 1, 2 and 4 are mechanical: env table row, five Completed Steps entries derived from git log origin/main..origin/next, and the console.log deletion.
Plan, for the one item with a real choice in it (3):
Redelivery does not exist in the tree (only a comment in `internal/delivery/engine.go` mentions the word), so the README claim is what is false. The two present-tense Replay claims — the Rationale item and the Use Cases bullet — get rewritten as not-yet-implemented rather than deleted, so the capability stays visible as roadmap, and `TODO.md` Future Steps regains "Manual event redelivery from the web UI" alongside the REST redelivery endpoint it already lists. The `/api/v1/events/{id}/redeliver` row is already under an "API (Planned)" heading and needs no change.
Items 1, 2 and 4 are mechanical: env table row, five Completed Steps entries derived from `git log origin/main..origin/next`, and the `console.log` deletion.
Verification beyond the PR body's gate evidence: the env table was checked against an exhaustive enumeration of internal/config, not by eye — twelve variables, RETENTION_SWEEP_INTERVAL the only one missing, and no package outside internal/config reads the environment at all. The replay resolution was checked against the code: the string "redeliver" appears exactly once in the tree, in a comment in internal/delivery/engine.go, so nothing implements it. The debug-logging sweep over static/ and templates/ matched only the one console.log.
Done in https://git.eeqj.de/sneak/webhooker/pulls/144 (base `next`).
Verification beyond the PR body's gate evidence: the env table was checked against an exhaustive enumeration of `internal/config`, not by eye — twelve variables, `RETENTION_SWEEP_INTERVAL` the only one missing, and no package outside `internal/config` reads the environment at all. The replay resolution was checked against the code: the string "redeliver" appears exactly once in the tree, in a comment in `internal/delivery/engine.go`, so nothing implements it. The debug-logging sweep over `static/` and `templates/` matched only the one `console.log`.
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.
Found by the integration review of #111. Milestoned 1.0.0 because these make the README and release notes untrue at the exact moment of tagging.
RETENTION_SWEEP_INTERVALis missing from the README env table (README.md:86-98), whileREADME.md:174andREADME.md:642both reference it as documented.TODO.mdomits 5 of the 15 landed units — #64, #79, #90, #113 and #118 — in a commit titled "Update TODO.md for the completed 1.0.0 milestone". Both of the omitted entries for #113 and #118 are credential-exposure fixes, which are precisely the ones a reader of the release notes wants to see.TODO.md:118deleted "Manual event redelivery from the web UI" from Next Step without it being implemented, whileREADME.md:263still sells Replay in the present tense as a core capability. No redelivery code exists anywhere in the tree. Either the README claim is false or the roadmap entry should not have been dropped — resolve it so the two agree.static/js/app.js:2shipsconsole.log("Webhooker loaded")in the production asset.Definition of done
internal/configrather than by eye.TODO.mdCompleted Steps covers all 15 units landed in this milestone.README.md:263andTODO.mdagree with each other and with the code about whether replay/redelivery exists. If it does not exist, the README must not claim it in the present tense.Implementation requirements
TODO.md— it is one of the things being fixed. It is the exception to the usual rule from #112, which holds for every other branch.make fmtand include the result; markdown must be committed formatted.next, PR based onnext, single commit, title ending(closes #N).make checkplus the Docker lint path with the cache defeated (#119).Plan, for the one item with a real choice in it (3):
Redelivery does not exist in the tree (only a comment in
internal/delivery/engine.gomentions the word), so the README claim is what is false. The two present-tense Replay claims — the Rationale item and the Use Cases bullet — get rewritten as not-yet-implemented rather than deleted, so the capability stays visible as roadmap, andTODO.mdFuture Steps regains "Manual event redelivery from the web UI" alongside the REST redelivery endpoint it already lists. The/api/v1/events/{id}/redeliverrow is already under an "API (Planned)" heading and needs no change.Items 1, 2 and 4 are mechanical: env table row, five Completed Steps entries derived from
git log origin/main..origin/next, and theconsole.logdeletion.Done in #144 (base
next).Verification beyond the PR body's gate evidence: the env table was checked against an exhaustive enumeration of
internal/config, not by eye — twelve variables,RETENTION_SWEEP_INTERVALthe only one missing, and no package outsideinternal/configreads the environment at all. The replay resolution was checked against the code: the string "redeliver" appears exactly once in the tree, in a comment ininternal/delivery/engine.go, so nothing implements it. The debug-logging sweep overstatic/andtemplates/matched only the oneconsole.log.clawbot referenced this issue2026-08-17 22:44:00 +02:00
clawbot referenced this issue2026-08-17 23:50:11 +02:00