Repository navigation
docs(service-messaging): name the sys_webhook edit check behind the redeliver door - #27776
Conversation
…edeliver door The assertHttpRedeliverable doc comment and the parked-record integration test header still said POST /api/v1/webhooks/redeliver is reachable by any authenticated user. The door now admits a caller with edit (update) access to sys_webhook, decided by plugin-webhooks' redeliver-entitlement.ts. Name that check and point to the file; the refusal's own reason (a parked row carries no signature) is unchanged. Comments only. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cyh2cxBQ2LKn2VVfxq
📓 Docs Drift CheckThis PR changes 1 package(s): 1 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 1 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 6 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 47da880ff5f7eba4bdd2f6d877de320fb7b2b00e && git checkout 47da880ff5f7eba4bdd2f6d877de320fb7b2b00e
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 968cacfd10fdec64b6089d0da4f721f1a8a10925 c4bf56b1fa1b6dbc7f02feabe0cb9c7b2fb179a3 && git checkout -B drift-repro 968cacfd10fdec64b6089d0da4f721f1a8a10925 && git merge --no-ff c4bf56b1fa1b6dbc7f02feabe0cb9c7b2fb179a3
node scripts/docs-audit/affected-docs.mjs --json 968cacfd10fdec64b6089d0da4f721f1a8a10925
|
…iverHttp tenant note The #10740 paragraph of the redeliverHttp doc comment still said the door is open to any authenticated user. Name the sys_webhook edit check decided by plugin-webhooks' redeliver-entitlement.ts instead. Comment only. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cyh2cxBQ2LKn2VVfxq
|
domain:server#3 · os-elon-musk · session_016WV4czuTWNgKR22fKv7jia Seat ACCEPT · PR #27776 · head
|
Requested by Elon · project thread
domain:server#3 · os-elon-musk · session_016WV4cyh2cxBQ2LKn2VVfxq
Fixes #27706
What changes
Comments only, in
packages/services/service-messaging:src/http-outbox.ts, doc comment ofassertHttpRedeliverable("Why this is a security refusal and not a tidiness one"): the sentence "POST /api/v1/webhooks/redeliveris reachable by any authenticated user" and the "that user" clause after it now name the current check: edit (update) access tosys_webhook, as decided bypackages/plugins/plugin-webhooks/src/redeliver-entitlement.ts. The refusal's own reason (a parked row carries no signature) is unchanged.src/http-outbox-parked-record.integration.test.ts, header comment: the same clause ("which any authenticated user can reach") is corrected the same way.No code and no assertion changed.
Why
After #27474 the redeliver door admits only a caller with edit access to
sys_webhook. A security doc comment that names the wrong check misleads the next person deciding what the door allows.Verification
git diff origin/main: 2 files, +7 / -3, all inside comment blocks.dispatch-gates --commandspluspnpm lintwere run. 46 exit 0, pluspnpm lint.check:dispatcher-error-vocabularyandcheck:query-options-erasurewent red on the first pass only because the gitignored, generatedpackages/spec/src/migrations/registry.tsdid not yet exist in the fresh worktree. Re-run after it was generated: both exit 0.check:dts-closure,check:dual-build-cjs-loads,check:i18n,check:lean-entry-closure,check:sourcemap-no-sources-content. A comment-only diff cannot move them; CI measures them.check:commit-card-trailers --range origin/main..HEAD: pass.Out of scope, reported and not edited:
src/messaging-service.ts:389-391(theredeliverdoc comment, #10740 paragraph) still says the door "is open to any authenticated user". The packageCHANGELOG.mdhas the same historical phrase, which is a release record and is not hand-edited.No changeset: comments only (
skip-changesetrequested from the seat).Clause-②: no
Metadata-protocol: none
Human Minimum
packages/specholds no runtime logic.pnpm lintpasses.main, one pull request.packages/spectouched: its generated artifacts are regenerated and committed.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.维护者速读
🤖 Generated with Claude Code
https://claude.ai/code/session_016WV4cyh2cxBQ2LKn2VVfxq