diff --git a/package.json b/package.json index a316ca1..61e1e65 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "import": "node scripts/import-docx.mjs", "apply:ticket": "node scripts/apply-ticket.mjs", "audit:dist": "node scripts/audit-dist.mjs", + "audit:glossary": "node scripts/audit-glossary-navigation.mjs", "build:para-index": "node scripts/build-para-index.mjs", "build:annotations-index": "node scripts/build-annotations-index.mjs", "test:aliases": "node scripts/check-anchor-aliases.mjs", diff --git a/scripts/audit-glossary-navigation.mjs b/scripts/audit-glossary-navigation.mjs new file mode 100644 index 0000000..098000f --- /dev/null +++ b/scripts/audit-glossary-navigation.mjs @@ -0,0 +1,67 @@ +import fs from "fs"; +import path from "path"; +import yaml from "js-yaml"; + +const ROOT = "src/content/glossaire"; + +const files = fs.readdirSync(ROOT).filter(f => f.endsWith(".md")); + +const slugs = new Set(files.map(f => f.replace(".md", ""))); + +let missingNavigation = []; +let edges = {}; +let incoming = {}; + +for (const file of files) { + const full = path.join(ROOT, file); + const raw = fs.readFileSync(full, "utf-8"); + + if (!raw.startsWith("---")) continue; + + const data = yaml.load(raw.split("---")[1]) || {}; + const slug = file.replace(".md", ""); + + if (!data.navigation) { + missingNavigation.push(slug); + } + + const next = data?.navigation?.primaryNext; + if (next) { + edges[slug] = next; + incoming[next] = (incoming[next] || 0) + 1; + } +} + +// 🔍 1. Fiches sans navigation +if (missingNavigation.length > 0) { + console.log("\n❌ Missing navigation:"); + missingNavigation.forEach(s => console.log(" -", s)); +} + +// 🔍 2. Cycles directs +console.log("\n🔍 Direct cycles:"); +for (const [a, b] of Object.entries(edges)) { + if (edges[b] === a) { + console.log(` - ${a} <-> ${b}`); + } +} + +// 🔍 3. Hubs +console.log("\n📊 Top hubs:"); +Object.entries(incoming) + .sort((a,b) => b[1]-a[1]) + .slice(0,10) + .forEach(([slug, n]) => { + if (n > 5) console.log(`⚠️ ${slug}: ${n}`); + else console.log(` ${slug}: ${n}`); + }); + +// 🔍 4. Slugs morts +console.log("\n🔗 Checking dead primaryNext:"); +for (const [a,b] of Object.entries(edges)) { + if (!slugs.has(b)) { + console.log(`❌ ${a} → ${b} (missing)`); + } +} + +console.log("\n✅ Audit done"); \ No newline at end of file diff --git a/src/content/glossaire/archicratisation.md b/src/content/glossaire/archicratisation.md index 0014b6e..caecdc4 100644 --- a/src/content/glossaire/archicratisation.md +++ b/src/content/glossaire/archicratisation.md @@ -15,6 +15,9 @@ level: "avance" related: ["archicratie", "archicration", "co-viabilisation", "scene-darchicration", "monde-instituable", "archidiagnostic", "scene-depreuve", "audit-archicratique"] opposedTo: ["desarchicratisation", "autarchicratie"] seeAlso: ["desarchicration", "archicration-obliteree", "regime-de-co-viabilite"] +navigation: + primaryNext: "co-viabilisation" + primaryReason: "L’archicratisation se prolonge dans la co-viabilisation, où la mise en scène régulatrice devient condition effective de tenue du commun." --- L’archicratisation désigne le processus par lequel un champ social, une institution, une infrastructure ou un monde commun devient davantage structuré par des logiques explicites d’archicration, de comparution et de co-viabilisation. diff --git a/src/content/glossaire/coupe-circuit-citoyen.md b/src/content/glossaire/coupe-circuit-citoyen.md index b800557..11426dc 100644 --- a/src/content/glossaire/coupe-circuit-citoyen.md +++ b/src/content/glossaire/coupe-circuit-citoyen.md @@ -16,6 +16,9 @@ level: "avance" related: ["archicration", "scene-depreuve", "droit-au-differe-contradictoire", "tribunal-de-lalgorithme", "budget-scenique", "cartographie-des-scenes-manquantes", "visa-daffectation"] opposedTo: ["autarchicratie", "preemption-algorithmique"] seeAlso: ["archicration-obliteree", "journal-de-justification", "audit-archicratique"] +navigation: + primaryNext: "droit-au-differe-contradictoire" + primaryReason: "Le coupe-circuit citoyen se prolonge dans le droit au différé contradictoire, qui donne une forme procédurale à l’interruption critique." --- Le coupe-circuit citoyen constitue le dispositif par lequel l’effet d’un système d’IA peut être interrompu, suspendu ou débranché provisoirement lorsqu’il apparaît que la scène d’archicration est insuffisante, oblitérée ou défaillante. diff --git a/src/content/glossaire/exception-souveraine.md b/src/content/glossaire/exception-souveraine.md index f1119d4..b3389ee 100644 --- a/src/content/glossaire/exception-souveraine.md +++ b/src/content/glossaire/exception-souveraine.md @@ -18,6 +18,9 @@ level: "fondamental" related: ["decisionnisme-souverain", "archicratie", "tension", "autarchicratie", "contractualisme-hobbesien"] opposedTo: ["democratie-deliberative", "gouvernance-des-communs", "dissensus-politique", "lieu-vide-du-pouvoir"] seeAlso: ["preemption-algorithmique", "domination-legale-rationnelle", "autarchicration"] +navigation: + primaryNext: "droit-naturel-et-propriete" + primaryReason: "L’exception souveraine appelle la comparaison avec le droit naturel et propriété, où la fondation de l’ordre ne passe plus par la suspension décisionnelle mais par une légitimation normative de la propriété et du droit." --- L’exception souveraine désigne ici un paradigme de régulation dans lequel l’ordre se maintient par la capacité effective à suspendre la norme ordinaire et à recentrer la tenue collective dans une décision d’exception. diff --git a/src/content/glossaire/gouvernance-des-communs.md b/src/content/glossaire/gouvernance-des-communs.md index dfbc32c..8932593 100644 --- a/src/content/glossaire/gouvernance-des-communs.md +++ b/src/content/glossaire/gouvernance-des-communs.md @@ -18,6 +18,9 @@ level: "intermediaire" related: ["co-viabilite", "archicratie", "democratie-deliberative", "tension", "domination-legale-rationnelle", "gouvernementalite", "configuration-et-interdependance"] opposedTo: ["decisionnisme-souverain", "exception-souveraine"] seeAlso: ["theorie-de-la-justification", "meta-regime-archicratique", "cosmopolitique"] +navigation: + primaryNext: "co-viabilite" + primaryReason: "La gouvernance des communs ouvre vers la co-viabilité, où la régulation collective se pense comme maintien partagé des conditions d’usage et de reprise." --- La gouvernance des communs désigne ici un paradigme de régulation fondé sur la coordination collective, située et polycentrique de ressources ou d’usages partagés par des communautés d’acteurs. diff --git a/src/content/glossaire/meta-regime.md b/src/content/glossaire/meta-regime.md index ec86589..3074178 100644 --- a/src/content/glossaire/meta-regime.md +++ b/src/content/glossaire/meta-regime.md @@ -15,6 +15,9 @@ level: "intermediaire" related: ["meta-regime-archicratique", "regime-de-co-viabilite", "archicration", "archicratie", "co-viabilite", "archeogenese", "archicrations-proto-symboliques", "archicrations-differentielles-et-formes-hybrides"] opposedTo: [] seeAlso: ["archicrations-scripturo-normatives", "archicrations-marchandes"] +navigation: + primaryNext: "meta-regime-archicratique" + primaryReason: "Le méta-régime trouve dans le méta-régime archicratique sa formulation proprement régulatrice et scénique." --- Le méta-régime désigne une forme de régulation transversale, plus abstraite qu’un régime historique concret, qui structure une famille entière d’ordres à partir d’une manière récurrente d’articuler fondements, dispositifs et scènes. diff --git a/src/content/glossaire/obliteration-archicratique.md b/src/content/glossaire/obliteration-archicratique.md index 70db572..65dc2c4 100644 --- a/src/content/glossaire/obliteration-archicratique.md +++ b/src/content/glossaire/obliteration-archicratique.md @@ -15,6 +15,9 @@ level: "fondamental" related: ["archicration", "autarchicratie", "scene-depreuve", "archicratie", "archicration-obliteree", "institution-invisible", "scene-manquante"] opposedTo: [] seeAlso: ["co-viabilite", "tension", "desarchicratisation", "audit-archicratique", "cartographie-des-scenes-manquantes"] +navigation: + primaryNext: "archicration-obliteree" + primaryReason: "L’oblitération archicratique conduit vers la forme stabilisée d’une archicration dont la scène d’épreuve est rendue illisible ou inaccessible." --- L’oblitération archicratique désigne le processus par lequel les architectures régulatrices continuent d’organiser la vie collective tout en cessant d’apparaître comme des constructions sociales visibles, discutables et transformables. diff --git a/src/content/glossaire/regulations-fondatrices.md b/src/content/glossaire/regulations-fondatrices.md index df9d576..f69da9b 100644 --- a/src/content/glossaire/regulations-fondatrices.md +++ b/src/content/glossaire/regulations-fondatrices.md @@ -11,6 +11,9 @@ domain: "theorie" level: "avance" definitionShort: > Régulations qui instituent un ordre à partir d’un principe premier de légitimité, de souveraineté ou de fondation du commun. +navigation: + primaryNext: "regulations-incorporees" + primaryReason: "Les régulations fondatrices appellent les régulations incorporées, car ce qui institue un ordre doit ensuite se déposer dans des corps, des habitudes et des formes d’évidence." --- ## Définition diff --git a/src/content/glossaire/regulations-incorporees.md b/src/content/glossaire/regulations-incorporees.md index 18030c6..d55e7fd 100644 --- a/src/content/glossaire/regulations-incorporees.md +++ b/src/content/glossaire/regulations-incorporees.md @@ -11,6 +11,9 @@ domain: "theorie" level: "avance" definitionShort: > Régulations qui assurent la reproduction d’un ordre par l’incorporation de dispositions, d’habitudes, d’obligations, de classements et d’évidences socialement stabilisées. +navigation: + primaryNext: "regulations-procedurales" + primaryReason: "Les régulations incorporées se prolongent dans les régulations procédurales, où les dispositions stabilisées deviennent règles, opérations et séquences contrôlables." --- ## Définition diff --git a/src/content/glossaire/regulations-procedurales.md b/src/content/glossaire/regulations-procedurales.md index 281c3aa..62664f7 100644 --- a/src/content/glossaire/regulations-procedurales.md +++ b/src/content/glossaire/regulations-procedurales.md @@ -11,6 +11,9 @@ domain: "theorie" level: "avance" definitionShort: > Régulations qui assurent la tenue d’un ordre par des règles explicites, des procédures formalisées et des dispositifs de justification, de délibération et d’arbitrage. +navigation: + primaryNext: "regulations-techniques" + primaryReason: "Les régulations procédurales conduisent vers les régulations techniques, lorsque la tenue du commun s’inscrit dans des dispositifs, des protocoles et des médiations instrumentales." --- ## Définition diff --git a/src/content/glossaire/regulations-relationnelles.md b/src/content/glossaire/regulations-relationnelles.md index 1c7d2f1..311b032 100644 --- a/src/content/glossaire/regulations-relationnelles.md +++ b/src/content/glossaire/regulations-relationnelles.md @@ -11,6 +11,9 @@ domain: "theorie" level: "avance" definitionShort: > Régulations qui font émerger un ordre à partir des interactions, des relations, des ajustements et des dynamiques d’individuation, sans principe central préalable ni cadre entièrement stabilisé. +navigation: + primaryNext: "regime-de-co-viabilite" + primaryReason: "Les régulations relationnelles trouvent leur horizon dans le régime de co-viabilité, où les formes de relation deviennent conditions de tenue du commun." --- ## Définition diff --git a/src/content/glossaire/regulations-techniques.md b/src/content/glossaire/regulations-techniques.md index 76522cf..81fb3a9 100644 --- a/src/content/glossaire/regulations-techniques.md +++ b/src/content/glossaire/regulations-techniques.md @@ -11,6 +11,9 @@ domain: "theorie" level: "avance" definitionShort: > Régulations qui pilotent les conduites, les interactions et les flux par des dispositifs techniques, des infrastructures, des boucles de rétroaction et des architectures computationnelles. +navigation: + primaryNext: "regulations-relationnelles" + primaryReason: "Les régulations techniques doivent être réinscrites dans les régulations relationnelles, afin que le dispositif ne se substitue pas à la scène vivante des interdépendances." --- ## Définition diff --git a/src/lib/glossary-navigation-defaults.ts b/src/lib/glossary-navigation-defaults.ts index 043d4df..eaa11f1 100644 --- a/src/lib/glossary-navigation-defaults.ts +++ b/src/lib/glossary-navigation-defaults.ts @@ -68,6 +68,20 @@ export type GlossaryDefaultNavigation = { compare: ["gouvernementalite-algorithmique", "preemption-algorithmique", "institution-invisible"], apply: ["droit-au-differe-contradictoire", "coupe-circuit-citoyen", "tribunal-de-lalgorithme"], }, + + "dispositif-documentaire": { + understand: ["journal-de-justification", "cartographie-des-scenes-manquantes"], + deepen: ["audit-archicratique", "droit-au-differe-contradictoire"], + compare: ["institution-invisible", "scene-manquante"], + apply: ["journal-de-justification", "tribunal-de-lalgorithme"], + }, + + "dispositif-methodologique": { + understand: ["archidiagnostic", "audit-archicratique"], + deepen: ["cartographie-des-scenes-manquantes", "budget-scenique"], + compare: ["scene-depreuve", "institution-invisible"], + apply: ["archidiagnostic", "coupe-circuit-citoyen"], + }, "tension-irreductible": { understand: ["tension", "co-viabilite", "archicration"],