{ "doc":"DEV_LINKS_PACK", "version":"r2", "date":"2025-11-07", "mode":"DEV", "objectif":"Pack d’accès unifié (endpoints canoniques + politiques JSON dual-publish + métriques d’index + checks).", "endpoints":{ "BASE":"https://repogpt.telki.fr", "INDEX_GLOBAL":"https://repogpt.telki.fr/indexes/full_index_all.json", "INDEX_GOV":"https://repogpt.telki.fr/indexes/gov/full_index.json", "ALIAS__REGISTRY":"https://repogpt.telki.fr/kb/" }, "policies":{ "DUAL_PUBLISH":{ "rule":"Publier pour chaque *.json un miroir *.json.txt OCTET-À-OCTET identique.", "sidecars":"Générer .json.sha256 et .json.txt.sha256 (ASCII, 1 ligne).", "release":"Écrire les 2 formats + 2 sidecars dans la même release; bloquer si mismatch SHA." }, "CLIENT_FALLBACK_POLICY":[ "Essayer .json (Accept: application/json ; User-Agent normalisé si possible).", "Si HTTP!=200 ou taille/parse/SHA anormaux ⇒ basculer .json.txt.", "Vérifier SHA de .json.txt; si les deux existent, SHA(.json)==SHA(.json.txt) obligatoire.", "En cas d’écart persistant ⇒ remonter NOK DUAL-PUBLISH (mismatch SHA)." ], "VALIDATION_MINIMALE":[ "Vérifier 200/200 pour .json et .json.txt.", "Comparer SHA remote vs local et SHA .json vs .json.txt (égalité stricte).", "Parser le JSON côté client (priorité .json ; fallback .json.txt)." ], "CONVENTIONS":{ "encoding":"UTF-8 sans BOM pour .json et .json.txt.", "sidecar":"SHA256 ASCII (sans CRLF superflus).", "scope":"S’applique à /indexes/**, /ChatGPT-Gouvernance-Projets/_registry/** et tout JSON public." }, "SERVER_HINT_CADDY":{ "note":"Optionnel mais recommandé.", "header":"@json path *.json; header @json Content-Type \"application/json\"", "fallback":"try_files {path} {path}.txt (ne remplace pas les contrôles de parité)." } }, "metrics_from_local_index":{ "source":"full_index_all.json", "entries_total":8648, "roots":[ "gov", "lumiere", "seedbox" ], "mtime_min_Paris":"2025-10-11T18:01:03", "mtime_max_Paris":"2025-11-05T22:31:15" }, "presence_checks":{ "00_DOCUMENTATION/README_GOUVERNANCE.txt":true, "_registry/BUG_KB.json":true, "_registry/INDEX_GOUVERNANCE_GLOBAL.txt":true, "_registry/REGLES_GOUVERNANCE.txt":true, "_registry/VERSIONS_REGISTRY.txt":true }, "footers":"DOC-VERSION-FOOTER: DEV_LINKS_PACK r2 — 2025-11-07 — enc=UTF-8 (no BOM)" }