Repository archaeology
These tools rebuild the memory of an already written repository, in phases: framing and file listing (phase 0), reading and synthesis (phase 1), technical stack (phase 2), Git history (phase 3). mem_archeo orchestrates them.
Three only read: mem_archeo_plan, mem_archeo_index_files, mem_archeo_context. mem_archeo_project_topology, mem_archeo_context_finalize, mem_archeo_stack and mem_archeo_git write; in branch-first mode, mem_archeo writes nothing until its plan has been acknowledged.
mem_archeo_atlassian is declared but always refuses, by design: Confluence and Jira retro-archiving goes through the client-side Atlassian MCP.
In practice
« Frame a reconstruction of this repository's history, writing nothing: /Users/ben/Projets/Kessho. »
The tools
mem_archeo
Orchestrates the whole repository archaeology: one topology scan shared by the stack resolution and the history reconstruction, then the reading briefing of phase 1; in branch-first mode it returns the plan and writes nothing until the plan is acknowledged.
Catalog description (French, verbatim):
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 of the archaeology: frames a branch-first reconstruction (slug, project, scope, granularity, filters and the next call to make); read-only.
Catalog description (French, verbatim):
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 of the archaeology: lists the files and batches the next phases would consume, without writing anything to the vault.
Catalog description (French, verbatim):
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 of the archaeology: returns the list of files the LLM client must read, the schema of the expected synthesis and the instructions; read-only.
Catalog description (French, verbatim):
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 of the archaeology: writes the project's topology note from the LLM client's synthesis and rewrites the context.md sections it feeds; refuses until the reading has been acknowledged.
Catalog description (French, verbatim):
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 of the archaeology: writes one note per segment classified by the LLM client, routed to one of seven categories, with a canonical frontmatter imposed by the server.
Catalog description (French, verbatim):
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 of the archaeology: resolves a repository's technical stack and writes one note per detected layer under 20-knowledge/architecture/.
Catalog description (French, verbatim):
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 of the archaeology: rebuilds a repository's history as dated archives, one per milestone (tags, releases, merges or commit windows), and makes sure the host project has its skeleton.
Catalog description (French, verbatim):
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
Does nothing and says why: Confluence and Jira retro-archiving is deliberately delegated to the client-side Atlassian MCP, so this tool always refuses.
Catalog description (French, verbatim):
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. |