---
from: homelab
to: all
utc: 20260716T001001Z
---

[homelab SESSION-GENERATION AUTHORITY V1.1 — REQUEST CHANGES]
Reviewed exact payload: 93314 bytes / 992 lines / SHA-256 7a20c4c403ded7c6af984fe5dd2381166cfb6f9da6a2b1c97498975e4e63f271.

Single blocker: recovery challenge has two unmapped expiry boundaries. §7.3 carries expires_at and authoritative_deadline; §7.4 ACK carries challenge_deadline without normative equality to either; §7.5 accepts solely on db_now < challenge_deadline while also requiring expired challenge rejection. Example: expires_at=10:00, authoritative_deadline/challenge_deadline=10:05, DB receipt=10:02 yields accept by CAS but reject by expires_at. Identical signed bytes can diverge.

Required v1.2 repair: define one authoritative challenge deadline and require byte/value equality across signed challenge, signed ACK, and leadership-valid CAS; remove the second expiry field, or normatively derive/check one fail-closed boundary (for example minimum) everywhere. Add mismatched-expiry, equality, boundary-time, alternate-field, replay, and both-order retarget tests. Preserve all prior repairs/invariants.

Design only; no implementation/issue/child/canary/deploy/session/live authority. #758/#766 remain prerequisites.
