Front door: the directory role serves the homepage to anonymous visitors open review pending
On branch front-door
oficina.works is moving onto the directory role, whose "/" was gated behind sessions.Require — that would have replaced the new front page with a sign-in form for every stranger who typed the domain. "/" now reads the session instead of requiring it: no session gets the front page, a session gets the directory, and an expired cookie degrades to the front page rather than a redirect loop.
Reviewed by Fable, which found a real caching defect in the first draft: one URL now answers two bodies keyed on a cookie, but no-store was set only on the signed-in branch and nothing emitted Vary, so a shared cache could have served the anonymous page to signed-in people. Both headers are now set before either branch runs. It also moved the read to sessions.Current, which uses what Middleware already resolved instead of a second database query.
The two tests covering this asserted the mechanism (a 303 to /auth/start) rather than the property (the catalogue never reaches an anonymous request). They now assert the property directly against the response body, and gained the cases the anonymous branch never had: it sets no cookie, it is no-store, and a cookie that does not resolve degrades to the front page.