Skip to content

feat(cli): préparer graph-memory-ingest pour la v3.3 - #33

Draft
chrlesur wants to merge 2 commits into
mainfrom
codex/v3.3
Draft

feat(cli): préparer graph-memory-ingest pour la v3.3#33
chrlesur wants to merge 2 commits into
mainfrom
codex/v3.3

Conversation

@chrlesur

@chrlesur chrlesur commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Pourquoi

Graph Memory a besoin d’un CLI autonome pour ingérer des dossiers par lots, suivre les jobs et signaler les échecs sans annoncer de faux succès. Cette PR porte la source canonique de hivemind-private/tools/hivemind-ingest dans tools/graph-memory-ingest.

Changements

  • Client MCP Streamable HTTP : initialize/initialized, versions 2024-11-05 et 2024-10-07, session, JSON et SSE multiligne avec notifications avant la réponse.
  • Scan récursif, filtrage des fichiers cachés/liens/binaires non autorisés, SHA-256 local et catalogue distant. Une erreur réelle de catalogue interrompt l’ingestion.
  • Soumission par lots, correspondance stricte entre fichiers et résultats, statuts canoniques et suivi des jobs. Avec --no-poll, les jobs acceptés ne sont pas comptés comme terminés.
  • Compatibilité Hivemind et Graph Memory standalone ; aucun repli après refus d’accès ou échec opérationnel.
  • TUI et JSON, configuration GRAPH_MEMORY_* prioritaire sur les alias HIVEMIND_*, stockage du fichier en 0600 et absence de secret dans l’aide.
  • Commandes eval/test/test-ontology portées, nettoyage des espaces temporaires et signalement des échecs de nettoyage.

Validation

  • go test -count=1 ./... : 42 tests principaux, 79 cas avec sous-tests, tous réussis.
  • go test -count=1 -race ./..., go vet ./..., git diff --check : PASS.
  • Builds macOS arm64 et Linux amd64 : PASS.
  • Binaire Go : connexion et parcours en lecture seule validés sur les serveurs locaux MCP SDK 1 et SDK 2.

Limites et ordre d’intégration

PR préparatoire pour la v3.3. La recette réelle d’ingestion est faite ; l’intégration de la v3.2.1 et le workflow d’évaluation restent à finaliser. La PR #32 livre le SDK 2 en v3.2.1 et doit être intégrée d’abord. Cette branche inclut déjà son commit antérieur de nettoyage des ontologies ; il disparaîtra du diff après intégration de #32. Aucun changement du SDK Python n’est introduit par le commit du CLI.

  • Après renouvellement de la clé, 19 contrôles fonctionnels réels passent sur le serveur SDK 2 : 3 documents ingérés, 14 entités / 15 relations extraites, recherche graphe/vectorielle, déduplication, remplacement et intégrité du stockage. La recette utilise le CLI Go compilé, avec contenu synthétique et namespace isolé.
  • Réserve S3 : le nettoyage automatique a dépassé le délai client de 120 s en présence de délais TLS/S3 intermittents, également reproduits sur SDK 1. Les suppressions ont été vérifiées séparément : aucun résidu S3, Neo4j ou Qdrant. Détails dans fix: migration MCP SDK 2 et ontologies orphelines (v3.2.1) #32 ; aucun changement de code ou de dépendance pour masquer ces délais.
  • Le backend Hivemind consulté ignore options.ontology_yaml et ne fournit pas graph_stats.entity_types. Le module d’évaluation du CLI est testé, mais une évaluation réelle exige ces corrections serveur. Le CLI refuse un score si la distribution des types est absente/incohérente.
  • Graph Memory standalone n’expose pas ce workflow d’évaluation ; l’ingestion classique est prise en charge.
  • Aucun déploiement, aucune modification Hivemind et aucune modification des sous-modules de travail dans le commit du CLI.

Le guide complet et les commandes sont dans tools/graph-memory-ingest/README.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant