Skip to content

fix(spec): close the shared rate-limit budget — one declaration was answering two doors, and one of them dropped the key in silence #26081

fix(spec): close the shared rate-limit budget — one declaration was answering two doors, and one of them dropped the key in silence

fix(spec): close the shared rate-limit budget — one declaration was answering two doors, and one of them dropped the key in silence #26081

Triggered via pull request September 18, 2026 01:32
Status Success
Total duration 1m 1s
Artifacts

pr-automation.yml

on: pull_request
Check PR Size
14s
Check PR Size
Check Changeset
57s
Check Changeset
Auto Label
15s
Auto Label
Fit to window
Zoom out
Zoom in

Annotations

4 notices
Check PR Size
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Auto Label
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"
Check Changeset: .changeset/rate-limit-budget-unknown-keys-refused.md#L0
ADR-0087 exemption (no-migration-prescription): this change retires NO key. The budget vocabulary is byte-identical and only the unknown-key POSTURE moves, from strip to reject, on one of its two mounts. Nothing exists for `objectstack migrate meta` to rewrite, because an undeclared key was never honoured: it was dropped at parse, so neither the inbound token bucket (`@objectstack/runtime` `security/inbound-rate-limit.ts`), nor the endpoint policy chain, nor the publish gate ever read one — measured with the gate's own instrument, which reports this def as accepting the key and returning a document without it. There is no single FROM/TO rule a ledger entry could state either, since what is now refused is an open set of author typos rather than a renamed key. The upgrade channel is the schema rejection itself, which is strictly more specific than any ledger line: it names the offending key at the author's own path and carries either the canonical spelling or the wrong-layer pointer. This is the same disposition, on the same stored metadata type, that #5384 took one level up when it closed `ApiEndpointSchema` itself; the `declarative-apis-endpoints-live` entry that governs this surface is already registered for protocol 17 and needs no change here.
Check Changeset
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"