# Structure de publication Libria

Ce dossier contient la source statique déployée sur Cloudflare Pages. La racine publique est `libria.pages.dev/`; aucun rapport, script, cache local ou fichier de sauvegarde ne doit être ajouté à ce répertoire sans intention explicite de le publier.

| Périmètre | Nombre | Définition |
|---|---:|---|
| Entrées de navigation | 22 | Cartes accessibles depuis l’accueil et déclarées dans `index.json`, dont les 20 historiques préservées, Macro-S et le dossier de travail de l’agent. |
| Documents sous `pages/` | 29 | Documents HTML réellement publiés sous `libria.pages.dev/pages/`, dont trois pages Macro-S et le dossier de travail de l’agent. |
| Documents HTML totaux | 31 | Les 29 documents sous `pages/`, plus l’accueil et l’index d’archives. |
| Livrets regroupés | 4 | Documents sous `pages/livrets/*/index.html`, accessibles par l’entrée Constellation. |
| Liens locaux vérifiés | 278 | Liens HTML internes contrôlés après ajout du dossier de travail de l’agent le 18 août 2026. |

## Sources de vérité

L’accueil humain est `libria.pages.dev/index.html`. Le catalogue machine est `libria.pages.dev/index.json`. Les archives publiées et leurs empreintes sont regroupées dans `libria.pages.dev/archives/`. Le fichier `archives/manifest.json` décrit un état historique antérieur à l’ajout d’Atlas ; son compteur de 19 entrées ne représente donc pas l’état actuel.

## Contrôle avant déploiement

Exécuter `python3 tools/audit_site_structure.py` depuis `libria-release/`. Le script écrit un rapport JSON hors de la racine déployée, dans `audit/site-structure-report.json`, compare l’annuaire humain au manifeste machine, recense les documents de procédure hors release et retourne un code d’échec si un lien local, une entrée de navigation ou une procédure vérifiée diverge. Les sauvegardes de travail sont conservées hors de la racine publique dans `backups/`.

Le déploiement Pages est configuré depuis `wrangler.toml`, avec `pages_build_output_dir = "libria.pages.dev"`. Cette convention évite de publier des éléments de travail qui ne font pas partie du site public.

Le Portail d’Agents public est servi sous `pages/agent-portal/`. Il lit `index.json` et le contrat Antigravity publiés, sans exposer de capacité d’écriture. Il est relié par l’en-tête et le parcours d’accueil, mais ne constitue pas une carte distincte. Macro-S, publié sous `pages/macro-s/`, est la vingt-et-unième carte : il préserve les vingt entrées historiques et ajoute une lecture publique des rôles, topologies et protocoles inter-stations. Le dossier `pages/dossier-travail/` est la vingt-deuxième carte et ne centralise que les livrables créés par l’agent pendant cette conversation.

## Portée d’écriture Antigravity dépréciée

Le contrat public `pages/contrats/station-antigravity.json` contenait deux portées d’écriture historiques qui ne correspondaient à aucun espace présent dans la release. Elles ont été retirées plutôt que remappées par hypothèse. La station reste déclarée en lecture ; `writeScopes` est désormais vide et `requiresHumanApproval` est activé. Une future capacité d’écriture devra être définie par un contrat de mapping explicite, séparé et approuvé.

## Archives de référence et delta

L’archive `libria-current-2026-08-17.tar.gz` est l’instantané de référence de l’accueil refondu, vérifiable par son empreinte SHA-256. Le durcissement ultérieur du contrat Antigravity est publié comme un delta distinct, `libria-antigravity-scope-delta-2026-08-17.tar.gz`, l’intégration initiale du Portail comme `libria-agent-portal-integration-delta-2026-08-17.tar.gz`, sa mise en avant sur l’accueil comme `libria-home-agent-surface-delta-2026-08-17.tar.gz`, puis sa transposition graphique complète comme `libria-full-portal-visual-delta-2026-08-17.tar.gz`. La publication Macro-S est ensuite déclarée par `libria-macro-s-publication-delta-2026-08-17.tar.gz`, qui ne contient que les pages curatées et l’index, jamais l’archive de travail source. Le delta `libria-original-presentation-restoration-delta-2026-08-18.tar.gz` conserve la restauration intermédiaire de la présentation Macro-S, tandis que `libria-home-macros-separation-delta-2026-08-18.tar.gz` rétablit l’accueil Libria et retire Macro-S de la racine. Chaque delta est explicitement lié à son état antérieur. Cette séparation évite de réuploader ou de réencapsuler un gros artefact inchangé, tout en conservant une chaîne de reprise lisible et vérifiable.
