Files
archicratie-edition/docs/anchors.md
Archicratia 56f1be0906
All checks were successful
CI / build-and-anchors (push) Successful in 1m5s
SMOKE / smoke (push) Successful in 22s
chore: track sources docx/pdf; document anchor aliases; add smoke workflow
2026-01-26 11:05:55 +01:00

1.2 KiB
Raw Blame History

Contrat des ancres (paragraphes opposables)

Source de vérité du sélecteur

Le site garantit la citabilité des paragraphes via des IDs injectés sur les balises <p>.

Sélecteur contractuel :

  • .reading p[id^="p-"]

Tout outillage (scripts, tests, docs) doit utiliser ce sélecteur comme référence.

Ce que le test vérifie

Le test compare, page par page, la liste des IDs de paragraphes présents dans dist/ contre une baseline versionnée.

  • Ajouts dIDs : généralement OK (nouveaux paragraphes).
  • Suppressions / churn élevé : alerte (risque de casser des citations existantes).

Fichier baseline

  • tests/anchors-baseline.json

Commandes

  1. Générer / mettre à jour la baseline (cas intentionnel) :
  • npm run build
  • npm run test:anchors:update
  1. Vérifier sans changer la baseline (cas normal) :
  • npm run build
  • npm run test:anchors

Politique déchec (pragmatique)

Le test échoue si le churn dune page dépasse un seuil (défaut : 20%) sur une page “suffisamment grande”.

Aliases build-time

  • src/anchors/anchor-aliases.json
  • scripts/inject-anchor-aliases.mjs
  • scripts/check-anchor-aliases.mjs
  • et rappelle : alias = compat rétro de liens historiques sans JS