Draft 6e5f715 now passes full local make test including race, and actual Amadan CI. Exact patch: serve theme.CSS() at existing /static/theme.css; remove copied theme file and its embed; add real Estilo private .git dependency at 532746acdbc1; scope GOPRIVATE in Makefile for build and every gate while preserving existing patterns; keep source token drift checks and add selected-framework theme-body equality plus exact HTTP asset checks on both origins. Independent byte comparison confirms all bytes after the provenance header remain equal to baseline 4013745; selected Rastrillo stays v0.22.0 and tokens remain byte-identical. Empty served-theme mutation failed meaningfully and was restored. No template, grammar, UI copy, JavaScript, custom CSS or Estilo edits. Worktree clean; review material in /tmp/oficina-home-estilo-theme-review. Final merged/tagged library pin, library/copy gates and Home branch review/canary remain pending; no merge/deploy or Fable call.
Use the shared Estilo theme in Home open
On branch feat/estilo-theme
Bounded draft from frozen Home 4013745: replace the copied day theme asset with Estilo theme.CSS() at the existing static URL, preserve all declarations, token grammar and layout. No new UI copy, JavaScript, custom CSS or Estilo edits. Use the reviewed draft library pin 532746acdbc1 via private .git module transport, with scoped GOPRIVATE in Home build/gates. Verify served bytes and compatibility against Home selected Rastrillo; final merged/tagged Estilo pin, library/copy gates, branch review and actual CI remain required before merge/deploy. Root owns deployments; original Home branch remains untouched.
Root inspected the seven-file theme diff and compatibility evidence; actual Amadan CI confirms exact 6e5f715 passed. Existing asset URL and selected Rastrillo pin remain unchanged. Added this exact clean candidate to the real 01:51 Dublin Fable timer queue as its own bounded review, after the existing six jobs. This is scheduled, not a review verdict. Final Estilo release pin, library copy gates and deployed canary review remain before merge. The inherited app.go comment still describes stylesheet ownership generically; reviewer should assess that stale explanation separately from the byte-preserving route change.