Compare commits
6 Commits
docs/gouve
...
chore/docs
| Author | SHA1 | Date | |
|---|---|---|---|
| 2467b334db | |||
| 0015b384ce | |||
| 25ce0409aa | |||
| eb358fb7f8 | |||
| afa4d84997 | |||
| bf0683bbb2 |
@@ -29,3 +29,124 @@ Un `primaryNext` est bon s’il produit au moins l’un des effets suivants :
|
||||
- concrétiser.
|
||||
|
||||
Un `primaryNext` est faible s’il est seulement voisin, décoratif ou encyclopédique.
|
||||
|
||||
---
|
||||
|
||||
## Dynamique réelle du graphe (niveau avancé)
|
||||
|
||||
### 1. Attracteurs
|
||||
|
||||
L’audit de convergence effective met en évidence des nœuds fortement attractifs :
|
||||
|
||||
* dispositifs méthodologiques (audit, cartographie)
|
||||
* concepts fondamentaux (co-viabilité, tension, archicration)
|
||||
|
||||
Ces nœuds structurent la circulation globale du glossaire.
|
||||
|
||||
---
|
||||
|
||||
### 2. Bassins de convergence
|
||||
|
||||
Le graphe ne se distribue pas uniformément.
|
||||
|
||||
Il tend à s’organiser en bassins :
|
||||
|
||||
* bassin conceptuel central
|
||||
* bassin méthodologique
|
||||
* bassins secondaires (paradigmes, pathologies)
|
||||
|
||||
Un bassin est défini comme un ensemble de parcours convergeant vers un même noyau.
|
||||
|
||||
---
|
||||
|
||||
### 3. Risque de surconvergence
|
||||
|
||||
Lorsque trop de parcours convergent vers les mêmes nœuds :
|
||||
|
||||
* les parcours deviennent redondants
|
||||
* la navigation perd en différenciation
|
||||
* l’expérience de lecture devient monotone
|
||||
|
||||
Ce phénomène ne constitue pas une erreur technique, mais un déséquilibre structurel.
|
||||
|
||||
---
|
||||
|
||||
### 4. Bifurcation effective
|
||||
|
||||
Les nœuds à forte bifurcation jouent un rôle clé :
|
||||
|
||||
* ils ouvrent des trajectoires multiples
|
||||
* ils structurent la diversité des parcours
|
||||
|
||||
Ils doivent être préservés comme points d’expansion.
|
||||
|
||||
---
|
||||
|
||||
### 5. Principe de régulation avancée
|
||||
|
||||
L’objectif n’est pas de supprimer les attracteurs, mais de :
|
||||
|
||||
* limiter leur domination excessive
|
||||
* maintenir plusieurs bassins actifs
|
||||
* garantir des trajectoires réellement distinctes
|
||||
|
||||
---
|
||||
|
||||
### 6. Règle pratique
|
||||
|
||||
Avant toute modification :
|
||||
|
||||
* vérifier l’impact sur les convergences effectives
|
||||
* éviter d’ajouter un lien vers un nœud déjà dominant
|
||||
* privilégier l’ouverture de nouvelles zones de circulation
|
||||
|
||||
---
|
||||
|
||||
### 7. Nature du système
|
||||
|
||||
Le glossaire ne doit pas être compris comme :
|
||||
|
||||
* un index
|
||||
* ni un arbre
|
||||
|
||||
mais comme :
|
||||
|
||||
→ un graphe dynamique de circulation conceptuelle
|
||||
|
||||
dont la structure influence directement la pensée du lecteur.
|
||||
|
||||
|
||||
|
||||
# la première désaturation a déplacé les attracteurs vers scene-depreuve, journal-de-justification, regime-de-co-viabilite
|
||||
|
||||
## Attracteurs structurels du graphe
|
||||
|
||||
Certains nœuds présentent une forte convergence effective. Cela ne constitue pas un défaut, mais une propriété structurelle du modèle.
|
||||
|
||||
### Attracteurs assumés
|
||||
|
||||
- scene-depreuve (scène)
|
||||
→ cœur opératoire de mise à l’épreuve des régulations
|
||||
→ point de passage légitime pour une grande partie des parcours
|
||||
|
||||
- audit-archicratique (dispositif méthodologique)
|
||||
→ point d’entrée opératoire vers l’analyse des régulations
|
||||
|
||||
- cartographie-des-scenes-manquantes (dispositif méthodologique)
|
||||
→ prolongement naturel de l’audit vers l’identification des lacunes
|
||||
|
||||
- co-viabilite (concept fondamental)
|
||||
→ horizon de stabilisation des tensions
|
||||
|
||||
### Principe
|
||||
|
||||
Un attracteur est acceptable si :
|
||||
|
||||
- il correspond à un changement de niveau (concept → scène → dispositif)
|
||||
- il rend opératoire une notion
|
||||
- il constitue un passage obligé théoriquement justifié
|
||||
|
||||
Un attracteur devient problématique s’il :
|
||||
|
||||
- absorbe sans transformation
|
||||
- remplace une articulation par une répétition
|
||||
100
docs/graph.dot
Normal file
100
docs/graph.dot
Normal file
@@ -0,0 +1,100 @@
|
||||
digraph G {
|
||||
rankdir="LR";
|
||||
node [shape=box, style="rounded"];
|
||||
"agencement-machinique" -> "cratialite";
|
||||
"arcalite" -> "cratialite";
|
||||
"archeogenese" -> "meta-regime-archicratique";
|
||||
"archicratie" -> "arcalite";
|
||||
"archicration-obliteree" -> "hypercratialite";
|
||||
"archicration" -> "scene-depreuve";
|
||||
"archicrations-differentielles-et-formes-hybrides" -> "co-viabilisation";
|
||||
"archicrations-epistemiques" -> "archicrations-differentielles-et-formes-hybrides";
|
||||
"archicrations-esthetico-symboliques" -> "archicrations-historiographiques";
|
||||
"archicrations-guerrieres" -> "archicrations-normativo-politiques";
|
||||
"archicrations-historiographiques" -> "archicrations-epistemiques";
|
||||
"archicrations-marchandes" -> "archicrations-techno-logistiques";
|
||||
"archicrations-normativo-politiques" -> "archicrations-marchandes";
|
||||
"archicrations-proto-symboliques" -> "archicrations-sacrales-non-etatiques";
|
||||
"archicrations-sacrales-non-etatiques" -> "archicrations-scripturo-cosmologiques";
|
||||
"archicrations-scripturo-cosmologiques" -> "archicrations-scripturo-normatives";
|
||||
"archicrations-scripturo-normatives" -> "archicrations-normativo-politiques";
|
||||
"archicrations-techno-logistiques" -> "archicrations-differentielles-et-formes-hybrides";
|
||||
"archicrations-theologiques" -> "archicrations-normativo-politiques";
|
||||
"archicratisation" -> "co-viabilisation";
|
||||
"archidiagnostic" -> "cartographie-des-scenes-manquantes";
|
||||
"audit-archicratique" -> "cartographie-des-scenes-manquantes";
|
||||
"autarchicratie" -> "autarchicration";
|
||||
"autarchicration" -> "obliteration-archicratique";
|
||||
"biopolitique" -> "gouvernementalite-algorithmique";
|
||||
"budget-scenique" -> "visa-daffectation";
|
||||
"cartographie-des-scenes-manquantes" -> "scene-manquante";
|
||||
"co-viabilisation" -> "regime-de-co-viabilite";
|
||||
"co-viabilite" -> "tension";
|
||||
"coexistence-ontologique-et-necessite-regulatrice" -> "formes-de-vie-et-cadres-dhabitabilite";
|
||||
"conatus-et-multitude" -> "configuration-et-interdependance";
|
||||
"configuration-et-interdependance" -> "transduction-et-individuation";
|
||||
"contractualisme-hobbesien" -> "droit-naturel-et-propriete";
|
||||
"cosmopolitique" -> "technodiversite-et-cosmotechnie";
|
||||
"coupe-circuit-citoyen" -> "droit-au-differe-contradictoire";
|
||||
"cratialite" -> "archicration";
|
||||
"cybernetique" -> "gouvernementalite-algorithmique";
|
||||
"decisionnisme-souverain" -> "exception-souveraine";
|
||||
"democratie-deliberative" -> "dissensus-politique";
|
||||
"desarchicration" -> "desarchicratisation";
|
||||
"desarchicratisation" -> "autarchicratie";
|
||||
"dissensus-politique" -> "lieu-vide-du-pouvoir";
|
||||
"domination-legale-rationnelle" -> "democratie-deliberative";
|
||||
"droit-au-differe-contradictoire" -> "tribunal-de-lalgorithme";
|
||||
"droit-naturel-et-propriete" -> "volonte-generale";
|
||||
"egalisation-normative-et-differenciation-singuliere" -> "dissensus-politique";
|
||||
"exception-souveraine" -> "droit-naturel-et-propriete";
|
||||
"fait-social-total" -> "configuration-et-interdependance";
|
||||
"formes-de-vie-et-cadres-dhabitabilite" -> "subsistance-vivante-et-captation-capitalistique";
|
||||
"gouvernance-des-communs" -> "co-viabilite";
|
||||
"gouvernementalite-algorithmique" -> "preemption-algorithmique";
|
||||
"gouvernementalite" -> "biopolitique";
|
||||
"grammatisation-et-proletarisation-cognitive" -> "pharmacologie-technique";
|
||||
"habitus-et-violence-symbolique" -> "obliteration-archicratique";
|
||||
"hyperarcalite" -> "desarchicration";
|
||||
"hypercratialite" -> "hyperarcalite";
|
||||
"inertie-sociale-symbolique" -> "habitus-et-violence-symbolique";
|
||||
"institution-invisible" -> "scene-depreuve";
|
||||
"journal-de-justification" -> "droit-au-differe-contradictoire";
|
||||
"liberte-daction-et-regimes-de-securite-algorithmique" -> "preemption-algorithmique";
|
||||
"lieu-vide-du-pouvoir" -> "visibilite-mediatique-et-reconnaissance-symbolique";
|
||||
"memoire-symbolique-et-instantaneite-computationnelle" -> "meta-regime";
|
||||
"meta-regime-archicratique" -> "archicrations-differentielles-et-formes-hybrides";
|
||||
"meta-regime" -> "meta-regime-archicratique";
|
||||
"monde-instituable" -> "scene-manquante";
|
||||
"obliteration-archicratique" -> "archicration-obliteree";
|
||||
"pensee-complexe" -> "configuration-et-interdependance";
|
||||
"pharmacologie-technique" -> "technodiversite-et-cosmotechnie";
|
||||
"pluralite-natalite-action" -> "dissensus-politique";
|
||||
"preemption-algorithmique" -> "droit-au-differe-contradictoire";
|
||||
"regime-de-co-viabilite" -> "gouvernance-des-communs";
|
||||
"regulation-morphogenetique-des-interdependances" -> "transduction-et-individuation";
|
||||
"regulation-technique-et-legitimation-democratique" -> "tribunal-de-lalgorithme";
|
||||
"regulations-fondatrices" -> "regulations-incorporees";
|
||||
"regulations-incorporees" -> "regulations-procedurales";
|
||||
"regulations-procedurales" -> "regulations-techniques";
|
||||
"regulations-relationnelles" -> "regime-de-co-viabilite";
|
||||
"regulations-techniques" -> "regulations-relationnelles";
|
||||
"resonance-sociale" -> "visibilite-mediatique-et-reconnaissance-symbolique";
|
||||
"scene-darchicration" -> "co-viabilite";
|
||||
"scene-depreuve" -> "scene-darchicration";
|
||||
"scene-empechee" -> "institution-invisible";
|
||||
"scene-manquante" -> "scene-empechee";
|
||||
"souverainetes-territoriales-et-interdependances-globales" -> "gouvernance-des-communs";
|
||||
"subsistance-vivante-et-captation-capitalistique" -> "travail-vivant-et-abstraction-de-la-valeur";
|
||||
"technodiversite-et-cosmotechnie" -> "regime-de-co-viabilite";
|
||||
"tension" -> "regime-de-co-viabilite";
|
||||
"theorie-de-la-justification" -> "journal-de-justification";
|
||||
"theorie-de-la-resonance" -> "resonance-sociale";
|
||||
"theorie-de-lacteur-reseau" -> "agencement-machinique";
|
||||
"transduction-et-individuation" -> "archeogenese";
|
||||
"travail-vivant-et-abstraction-de-la-valeur" -> "grammatisation-et-proletarisation-cognitive";
|
||||
"tribunal-de-lalgorithme" -> "budget-scenique";
|
||||
"visa-daffectation" -> "scene-depreuve";
|
||||
"visibilite-mediatique-et-reconnaissance-symbolique" -> "cartographie-des-scenes-manquantes";
|
||||
"volonte-generale" -> "democratie-deliberative";
|
||||
}
|
||||
BIN
docs/graph.png
Normal file
BIN
docs/graph.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 359 KiB |
@@ -5,29 +5,43 @@ import yaml from "js-yaml";
|
||||
const ROOT = "src/content/glossaire";
|
||||
const DEFAULTS_FILE = "src/lib/glossary-navigation-defaults.ts";
|
||||
const HUB_LIMIT = 5;
|
||||
const EFFECTIVE_TOP_LIMIT = 10;
|
||||
const PATH_KEYS = ["understand", "deepen", "compare", "apply"];
|
||||
|
||||
const defaultsRaw = fs.readFileSync(DEFAULTS_FILE, "utf-8");
|
||||
|
||||
const defaultFamilies = new Set(
|
||||
[...defaultsRaw.matchAll(/^\s{4}"?([a-z0-9-]+)"?\s*:/gm)].map((m) => m[1]),
|
||||
);
|
||||
|
||||
const defaultPathKeysByFamily = new Map();
|
||||
|
||||
for (const match of defaultsRaw.matchAll(/^\s{4}"?([a-z0-9-]+)"?\s*:\s*\{([\s\S]*?)^\s{4}\},/gm)) {
|
||||
const family = match[1];
|
||||
const body = match[2];
|
||||
const keys = new Set();
|
||||
|
||||
for (const key of ["understand", "deepen", "compare", "apply"]) {
|
||||
if (new RegExp(`\\b${key}\\s*:\\s*\\[[^\\]]+\\]`).test(body)) {
|
||||
keys.add(key);
|
||||
}
|
||||
}
|
||||
|
||||
defaultPathKeysByFamily.set(family, keys);
|
||||
[...defaultsRaw.matchAll(/^\s{4}"?([a-z0-9-]+)"?\s*:/gm)].map((m) => m[1]),
|
||||
);
|
||||
|
||||
const defaultPathKeysByFamily = new Map();
|
||||
const defaultTargetsByFamily = new Map();
|
||||
|
||||
for (const match of defaultsRaw.matchAll(
|
||||
/^\s{4}"?([a-z0-9-]+)"?\s*:\s*\{([\s\S]*?)^\s{4}\},/gm,
|
||||
)) {
|
||||
const family = match[1];
|
||||
const body = match[2];
|
||||
const keys = new Set();
|
||||
const targetsByKey = new Map();
|
||||
|
||||
for (const key of PATH_KEYS) {
|
||||
const pathMatch = body.match(new RegExp(`\\b${key}\\s*:\\s*\\[([^\\]]*)\\]`));
|
||||
const targets = pathMatch
|
||||
? pathMatch[1]
|
||||
.split(",")
|
||||
.map((x) => x.trim().replace(/^["']|["']$/g, ""))
|
||||
.filter(Boolean)
|
||||
: [];
|
||||
|
||||
if (targets.length > 0) keys.add(key);
|
||||
targetsByKey.set(key, targets);
|
||||
}
|
||||
|
||||
defaultPathKeysByFamily.set(family, keys);
|
||||
defaultTargetsByFamily.set(family, targetsByKey);
|
||||
}
|
||||
|
||||
const files = fs.readdirSync(ROOT).filter((f) => f.endsWith(".md"));
|
||||
const slugs = new Set(files.map((f) => f.replace(".md", "")));
|
||||
|
||||
@@ -58,6 +72,19 @@ const edges = {};
|
||||
const incoming = {};
|
||||
const families = new Set();
|
||||
|
||||
const effectiveOutgoing = new Map();
|
||||
const effectiveIncoming = new Map();
|
||||
|
||||
function addEffectiveEdge(from, to) {
|
||||
if (!from || !to || from === to || !slugs.has(to)) return;
|
||||
|
||||
if (!effectiveOutgoing.has(from)) effectiveOutgoing.set(from, new Set());
|
||||
if (!effectiveIncoming.has(to)) effectiveIncoming.set(to, new Set());
|
||||
|
||||
effectiveOutgoing.get(from).add(to);
|
||||
effectiveIncoming.get(to).add(from);
|
||||
}
|
||||
|
||||
for (const { slug, data, noFrontmatter } of entries) {
|
||||
if (noFrontmatter) continue;
|
||||
|
||||
@@ -75,6 +102,7 @@ for (const { slug, data, noFrontmatter } of entries) {
|
||||
if (next) {
|
||||
edges[slug] = next;
|
||||
incoming[next] = (incoming[next] || 0) + 1;
|
||||
addEffectiveEdge(slug, next);
|
||||
|
||||
if (next === slug) selfLoops.push(slug);
|
||||
if (!slugs.has(next)) deadPrimaryNext.push(`${slug} → ${next}`);
|
||||
@@ -84,14 +112,24 @@ for (const { slug, data, noFrontmatter } of entries) {
|
||||
|
||||
const explicitPaths = nav.paths || {};
|
||||
const familyDefaults = defaultPathKeysByFamily.get(data.family) || new Set();
|
||||
const familyDefaultTargets = defaultTargetsByFamily.get(data.family) || new Map();
|
||||
|
||||
const pathCount = ["understand", "deepen", "compare", "apply"].filter((key) => {
|
||||
const pathCount = PATH_KEYS.filter((key) => {
|
||||
const explicit = Array.isArray(explicitPaths[key]) && explicitPaths[key].length > 0;
|
||||
const fromDefault = familyDefaults.has(key);
|
||||
return explicit || fromDefault;
|
||||
}).length;
|
||||
|
||||
if (pathCount < 2) weakPaths.push(slug);
|
||||
|
||||
for (const key of PATH_KEYS) {
|
||||
const explicitTargets = Array.isArray(explicitPaths[key]) ? explicitPaths[key] : [];
|
||||
const defaultTargets = familyDefaultTargets.get(key) || [];
|
||||
|
||||
for (const target of [...explicitTargets, ...defaultTargets]) {
|
||||
addEffectiveEdge(slug, target);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const seenPairs = new Set();
|
||||
@@ -161,6 +199,24 @@ if (selfLoops.length) {
|
||||
selfLoops.forEach((s) => console.log(" -", s));
|
||||
}
|
||||
|
||||
console.log(`\n📊 Effective convergence top ${EFFECTIVE_TOP_LIMIT}:`);
|
||||
[...effectiveIncoming.entries()]
|
||||
.map(([slug, sources]) => [slug, sources.size])
|
||||
.sort((a, b) => b[1] - a[1])
|
||||
.slice(0, EFFECTIVE_TOP_LIMIT)
|
||||
.forEach(([slug, n]) => {
|
||||
console.log(` ${n} ${slug}`);
|
||||
});
|
||||
|
||||
console.log(`\n📊 Effective branching top ${EFFECTIVE_TOP_LIMIT}:`);
|
||||
[...effectiveOutgoing.entries()]
|
||||
.map(([slug, targets]) => [slug, targets.size])
|
||||
.sort((a, b) => b[1] - a[1])
|
||||
.slice(0, EFFECTIVE_TOP_LIMIT)
|
||||
.forEach(([slug, n]) => {
|
||||
console.log(` ${n} ${slug}`);
|
||||
});
|
||||
|
||||
const hardFailures =
|
||||
missingNavigation.length +
|
||||
directCycles.length +
|
||||
|
||||
@@ -38,7 +38,7 @@ export type GlossaryDefaultNavigation = {
|
||||
understand: ["meta-regime", "regime-de-co-viabilite", "synchrotopie"],
|
||||
deepen: ["hypotopie", "hypertopie", "atopie", "archicrations-differentielles-et-formes-hybrides"],
|
||||
compare: ["scene-depreuve", "institution-invisible", "monde-instituable"],
|
||||
apply: ["cartographie-des-scenes-manquantes", "archidiagnostic", "audit-archicratique"],
|
||||
apply: ["archidiagnostic", "regime-de-co-viabilite", "scene-depreuve"],
|
||||
},
|
||||
|
||||
"meta-regime": {
|
||||
@@ -52,7 +52,7 @@ export type GlossaryDefaultNavigation = {
|
||||
understand: ["archicratie", "co-viabilite", "tension"],
|
||||
deepen: ["configuration-et-interdependance", "pensee-complexe", "theorie-de-la-justification"],
|
||||
compare: ["decisionnisme-souverain", "domination-legale-rationnelle", "agencement-machinique", "democratie-deliberative"],
|
||||
apply: ["audit-archicratique", "cartographie-des-scenes-manquantes"],
|
||||
apply: ["journal-de-justification", "scene-depreuve"],
|
||||
},
|
||||
|
||||
doctrine: {
|
||||
@@ -87,7 +87,7 @@ export type GlossaryDefaultNavigation = {
|
||||
understand: ["tension", "co-viabilite", "archicration"],
|
||||
deepen: ["coexistence-ontologique-et-necessite-regulatrice", "formes-de-vie-et-cadres-dhabitabilite", "souverainetes-territoriales-et-interdependances-globales"],
|
||||
compare: ["regulation-technique-et-legitimation-democratique", "memoire-symbolique-et-instantaneite-computationnelle", "travail-vivant-et-abstraction-de-la-valeur"],
|
||||
apply: ["scene-depreuve", "audit-archicratique", "cartographie-des-scenes-manquantes"],
|
||||
apply: ["scene-depreuve", "journal-de-justification", "regime-de-co-viabilite"],
|
||||
},
|
||||
|
||||
figure: {
|
||||
|
||||
Reference in New Issue
Block a user