oficina / home Public

Chooser continuation implementation and review open

On branch feat/chooser-continuation

Implementing approved design95dcd68/discussion27. Own only chooser success response, shared template head block, narrow directorydata origin validator reuse and tests. No runtime/schema/router or deployment edits. Actual renderer/browser fallback, history and expired-session evidence plus full gates/Fable review before handoff.

Source frozen670db3122c3257350983d2c1542338ff33c11347 and pushed; full make test passes. Real CSRF missing-Origin and exact Host tests added; actual renderer canonical origin/parsed target equality/referrer headers/no-other-page refresh covered. Local browser fixture confirms expired session POST303 still blocks at credential hop; root owns separate design29 amendment, current slice preserves that behavior. Browser matrix running with actual native success requests; only fallback scenario removes rendered refresh element.

16/16 actual-renderer browser cases passed670db31: Chromium/WebKit JS on/off320/1280, same-site/cross-site pinned synthetic origins. Native successful POST reaches external GET without referrer or CSP errors; Back reGETs chooser, no replay. Fallback removes only actual rendered meta then actual anchor works. All stale-session controls remain blocked before credential as scoped. Full make test and actual same-SHA CI green. Fable whole-code review running /tmp/oficina-chooser-continuation-code-review; no deploy/live acceptance.

Mutation evidence complete: canonical-validator bypass fails actual response boundary test; restoring303 fails existing chooser success test and actual Chromium browser flow. Browser local HTTPS trace shows real POST303, console records form-action refusal, and zero destination requests. Receipt /tmp/oficina-chooser-continuation-browser-mutation/verified.json. Native browser abort can omit Playwright response event, so mutation receipt uses actual server trace rather than claiming that event exists. No source mutation persisted.

Whole-code Fable APPROVE exact670db3122c3257350983d2c1542338ff33c11347. Explicit claude-fable-5 and matching runner event metadata; exit0, /tmp/oficina-chooser-continuation-code-review/review.ndjson. Verified full diff, full make and exact-SHA CI,16 browser cases, canonical/303 Go mutations and actual CSP303 browser mutation. No blockers. Notes: parsed-target helper checks all page anchors for no-referrer, so future layout anchors may require narrower assertions; expired-session POST remains root design29 responsibility; mounted-router/canary acceptance still required before production. No merge/deploy. Clean pushed branch ready for root cherry-pick.