Follow-up ruled in #11633's acceptance (§9 of the design, proposal accepted). Provenance: design document = #11633 comment 5394942824; maintainer acceptance = #11633 comment 5404681591 (2026-08-25, verbatim 「接受你的建议,继续」). Filed by PM session session_01KWRU3s15AJz7PGW7a7wdCh.
Blocked-by: #10348
(The design named two unlanded premises: #10348-C and the #11663 ruling. The #11663 condition is met — ruled 2026-08-25, #11663 comment 5404675670. #10348-C remains the only gate.)
Content: convert the accepted design comment into an ADR recording the durable rule — no authorization answer is cached without a declared invalidation contract and a TTL bound — plus the staleness posture (leg B off by default, TTL=0, supported low-seconds range), the fork rulings (coarse invalidation; TTL + authz.invalidated with TTL as the contract; session-of-record stays uncached per #4785), and the expiry-boundary rule (min(ttl, nextBoundary) — validity windows see no write at their boundary).
Governed surface discipline: docs/adr/** — draft PR only, request review from the maintainer; ⛔ never flipped ready, never queued, never auto-merged by a seat; human merge is the review record.
Acceptance criterion: a draft PR exists converting comment 5394942824 into docs/adr/**, its body linking both rulings (#11633 comment 5404681591, #11663 comment 5404675670), left for the maintainer.
Follow-up ruled in #11633's acceptance (§9 of the design, proposal accepted). Provenance: design document = #11633 comment 5394942824; maintainer acceptance = #11633 comment 5404681591 (2026-08-25, verbatim 「接受你的建议,继续」). Filed by PM session
session_01KWRU3s15AJz7PGW7a7wdCh.Blocked-by: #10348
(The design named two unlanded premises: #10348-C and the #11663 ruling. The #11663 condition is met — ruled 2026-08-25, #11663 comment 5404675670. #10348-C remains the only gate.)
Content: convert the accepted design comment into an ADR recording the durable rule — no authorization answer is cached without a declared invalidation contract and a TTL bound — plus the staleness posture (leg B off by default, TTL=0, supported low-seconds range), the fork rulings (coarse invalidation; TTL +
authz.invalidatedwith TTL as the contract; session-of-record stays uncached per #4785), and the expiry-boundary rule (min(ttl, nextBoundary)— validity windows see no write at their boundary).Governed surface discipline:
docs/adr/**— draft PR only, request review from the maintainer; ⛔ never flipped ready, never queued, never auto-merged by a seat; human merge is the review record.Acceptance criterion: a draft PR exists converting comment 5394942824 into
docs/adr/**, its body linking both rulings (#11633 comment 5404681591, #11663 comment 5404675670), left for the maintainer.