Archéologie d'un dépôt
Ces outils reconstruisent la mémoire d'un dépôt déjà écrit, en phases : cadrage et énumération des fichiers (phase 0), lecture et synthèse (phase 1), pile technique (phase 2), histoire Git (phase 3). mem_archeo les orchestre.
Trois lisent seulement : mem_archeo_plan, mem_archeo_index_files, mem_archeo_context. mem_archeo_project_topology, mem_archeo_context_finalize, mem_archeo_stack et mem_archeo_git écrivent ; mem_archeo n'écrit rien tant que son plan n'a pas été validé, en mode branche d'abord.
mem_archeo_atlassian est déclaré mais refuse toujours, par conception : le rétro-archivage Confluence et Jira passe par le MCP Atlassian côté client.
En pratique
« Cadre une reconstruction de l'histoire de ce dépôt, sans rien écrire : /Users/ben/Projets/Kessho. »
Les outils
mem_archeo
Orchestrateur de l'archéologie : un seul scan de topologie, partagé par la résolution de pile et la reconstruction d'histoire, puis le briefing de lecture de la Phase 1. En mode branche d'abord, rend le plan et n'écrit rien tant qu'il n'a pas été validé.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
acknowledged_via_plan | boolean | non / no | DOIT valoir vrai pour toute invocation en mode branche d'abord. Tant qu'il est faux, l'orchestrateur rend le plan SANS aucune écriture, pour que l'appelant le fasse valider par l'utilisateur. Rappelez ensuite avec ce jeton à vrai. |
branch_base | string | non / no | Branche de base pour la divergence. Défaut : main. |
branch_first | string | non / no | Restreindre la Phase 3 aux commits propres à cette branche. Active le mode branche d'abord et sa garde de cadrage. |
by_author | boolean | non / no | Scinder chaque fenêtre par auteur principal. |
by_files | boolean | non / no | Interroger les commits touchant les fichiers introduits par la branche, à l'échelle du dépôt. |
depth | integer | non / no | Enregistré dans la topologie, sans effet sur le parcours, qui est de premier niveau. Borné à [1, 4], défaut 2. |
level | string | non / no | Granularité de la Phase 3 : 'tags' (défaut), 'releases', 'merges' ou 'commits'. |
project | string | non / no | Slug du projet d'accueil. Déduit du nom du dossier du dépôt s'il correspond à un projet existant. |
repo_path | string | oui / yes | Chemin absolu du dépôt Git local. |
since | string | non / no | Borne basse de la Phase 3, AAAA-MM-JJ. |
since_date | string | non / no | Ancre explicite : date plancher, AAAA-MM-JJ. |
since_sha | string | non / no | Ancre explicite : SHA de départ. |
until | string | non / no | Borne haute de la Phase 3, AAAA-MM-JJ. |
window | string | non / no | Pour level='commits' : 'day', 'week' (défaut) ou 'month'. |
mem_archeo_plan
Phase 0 de l'archéologie : cadrage d'une reconstruction en mode branche d'abord — slug, projet, portée, granularité, filtres et appel suivant. Lecture seule.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
branch | string | non / no | Branche à cadrer. Défaut : la branche courante. |
branch_base | string | non / no | Branche de base pour la divergence. Défaut : détectée via origin/HEAD, puis par sondage de main, master, develop. |
project | string | non / no | Impose le slug du projet et court-circuite l'heuristique. À n'employer que si le slug ne doit PAS suivre le nom de branche. |
repo_path | string | oui / yes | Chemin absolu du dépôt Git local. |
mem_archeo_index_files
Phase 0 de l'archéologie : énumère les fichiers et les lots que les phases suivantes consommeraient, sans rien écrire dans le vault.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
base_ref | string | non / no | Base explicite. Résolue par merge-base quand elle est absente. |
batch_size | integer | non / no | Taille de lot suggérée. Absent : 200. |
branch | string | non / no | Mode branche d'abord : restreint aux fichiers de la passe A. Ignoré en mode raw. |
fallback_base | string | non / no | Branche de base pour la résolution automatique. Défaut : main. |
hard_abort | boolean | non / no | Refuser au lieu d'avertir en cas de dépassement. Faux par défaut. |
max_bytes | integer | non / no | Plafond souple sur le volume cumulé. Absent : 50 Mio. Zéro : aucun plafond. |
max_files | integer | non / no | Plafond souple sur le nombre de fichiers. Absent : 500. Zéro : aucun plafond. |
max_pass_b_files | integer | non / no | Plafond sur les fichiers réellement lus par la passe B. Absent : 200. Zéro : aucun plafond. |
mode | string | non / no | 'auto' (défaut, déduit de .git), 'git' ou 'raw'. |
pass_b | boolean | non / no | Résoudre les imports internes des fichiers de la passe A (Python et JS/TS). Faux par défaut. |
pass_b_read_bytes | integer | non / no | Octets lus en tête de chaque fichier de la passe B. Absent : 16384. Zéro : le fichier entier. |
project | string | oui / yes | Slug du projet. Rendu dans le résumé ; aucune écriture. |
repo_path | string | oui / yes | Chemin absolu du dépôt à énumérer. |
scope_glob | string | non / no | Motif appliqué après énumération, par exemple 'src/api/**'. |
mem_archeo_context
Phase 1 de l'archéologie : rend la liste des fichiers que le client LLM doit lire, le schéma de la synthèse attendue et les instructions. Lecture seule.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
batch | integer | non / no | Numéro de lot quand le périmètre dépasse le plafond de 30 fichiers par appel. Défaut 1. |
project | string | oui / yes | Slug du projet, tel qu'il figure sous 10-episodes/projects/. |
mem_archeo_project_topology
Phase 1 de l'archéologie : écrit l'atome de topologie du projet depuis la synthèse du client LLM, et réécrit les sections de context.md qu'elle alimente. Refuse tant que la lecture n'est pas accusée.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
acknowledged_via_read | boolean | non / no | DOIT valoir vrai, après que chaque fichier de files_to_read a été lu. Sans ce jeton, l'appel est refusé : c'est la seule barrière contre l'extraction sans lecture. |
project | string | oui / yes | Slug du projet, tel qu'il figure sous 10-episodes/projects/. |
synthesis | object | oui / yes | Synthèse conforme au schéma rendu par mem_archeo_context. Clés : components, domain_concepts, patterns, decisions, risks_or_friction — chacune peut être vide. |
mem_archeo_context_finalize
Phase 1 de l'archéologie : écrit un atome par segment classé par le client LLM, routé vers l'une des sept catégories, avec un frontmatter canonique imposé par le serveur.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
project | string | oui / yes | Slug du projet. |
repo_path | string | oui / yes | Chemin absolu du dépôt d'où proviennent les documents sources. |
scope | string | non / no | work (défaut) ou personal. |
spans | array<object> | oui / yes | Segments classés. Chacun porte subject, body, extracted_category et source_doc ; force, horizon, status et adr_status sont facultatifs. |
spans[].adr_status | string | non / no | |
spans[].body | string | oui / yes | |
spans[].extracted_category | string | oui / yes | workflow | sync | multi-tenant | security | adr | goal | other |
spans[].force | string | non / no | |
spans[].horizon | string | non / no | |
spans[].source_doc | string | oui / yes | Chemin du document source, relatif au dépôt. |
spans[].status | string | non / no | |
spans[].subject | string | oui / yes | |
today | string | non / no | Date écrite aux atomes, AAAA-MM-JJ. Défaut : aujourd'hui. |
mem_archeo_stack
Phase 2 de l'archéologie : résout la pile technique d'un dépôt et écrit un atome par couche détectée dans 20-knowledge/architecture/.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
depth | integer | non / no | Enregistré dans la topologie, sans effet sur le parcours, qui est de premier niveau. Borné à [1, 4], défaut 2. |
project | string | non / no | Slug du projet d'accueil. Déduit du nom du dossier du dépôt s'il correspond à un projet existant. |
repo_path | string | oui / yes | Chemin absolu du dépôt Git à analyser. |
mem_archeo_git
Phase 3 de l'archéologie : reconstruit l'histoire d'un dépôt en archives datées, une par jalon, et garantit que le projet d'accueil porte son squelette.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
branch_base | string | non / no | Branche de base pour la divergence. Défaut : main. |
branch_first | string | non / no | Restreindre la portée aux commits propres à cette branche. Active le mode branche d'abord. |
by_author | boolean | non / no | Scinder chaque fenêtre par auteur principal. Imposé en mode branche d'abord. |
by_files | boolean | non / no | Interroger les commits touchant les fichiers introduits par la branche, à l'échelle du dépôt. Capture la lignée complète, correctifs postérieurs à la fusion compris. |
level | string | non / no | Granularité : 'tags' (défaut, étiquettes semver), 'releases' (publications GitHub, via gh), 'merges' (demandes de tirage fusionnées, via gh) ou 'commits' (fenêtres de temps). |
project | string | non / no | Slug du projet d'accueil. Déduit du nom du dossier du dépôt s'il correspond à un projet existant ; le squelette est initialisé si le slug est donné explicitement. |
repo_path | string | oui / yes | Chemin absolu du dépôt Git à parcourir. |
since | string | non / no | Borne basse incluse, AAAA-MM-JJ. |
since_date | string | non / no | Ancre explicite : date plancher, AAAA-MM-JJ. |
since_sha | string | non / no | Ancre explicite : SHA de départ, court-circuite la base commune. |
until | string | non / no | Borne haute incluse, AAAA-MM-JJ. |
window | string | non / no | Pour level='commits' : 'day', 'week' (défaut) ou 'month'. |
mem_archeo_atlassian
Rétro-archivage Confluence et Jira — délégué au MCP Atlassian côté client par conception, pas par manque de portage. Cet outil refuse et dit pourquoi.
| Paramètre / Parameter | Type | Requis / Required | Description (catalogue) |
|---|---|---|---|
confluence_url | string | non / no | URL de la page Confluence racine. Sans effet : cet outil refuse par conception et renvoie au MCP Atlassian côté client. |