Changed : - gitea_workspace : x-data="giteaWorkspace" → appel giteaWorkspace(), new Date(…) → fmtGwDate(pp), x-html icône arbre → bindGwIcon (x-init + Alpine.effect). - agent_panel : x-html markdown → bindMarkdown($el, m) (effet reactif). - page_editor : les 12 sites window.E du topbar right_actions → délégués appState (edCall('…') x6, edTimeAgo, edCommentCount, edShared, bindStar — les 2 branches du ternaire favorited étaient identiques) ; + 3 sites dans _page_editor_content (edCall commentOnSelection, openBacklink, fmtImportSize, bindIconHtml). Garde Jinja : quotes \' dans le set délimité par ' (quote nue = 500). - Gate éditeur (csp_preview) : création collection → /pages/{id}, délégués + editorState liés, filet 0-erreur. Fixed : - x-html iconHtml() du contenu éditeur = directive INTERDITE sous build CSP (attrapé par le filet) → x-init + Alpine.effect. ⚠️ BUG pre-existant identifie (pas introduit ici) : les right_actions du topbar sont servis ÉCHAPPÉS sur TOUTES les pages (entities "/< — boutons Share/Star/Settings en texte brut). _header:141 a bien |safe, ENV standard, rendu local = PARSED ; cause serveur à cerner → suivi ROADMAP dédié. Le gate éditeur n'asserte donc pas la présence boutons. suite **1093/1093** · ruff OK · E2E **7/7** (5 csp_preview + 2 smoke) · docs a jour