grimoire-kit 3.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- grimoire_kit-3.0.0/.gitignore +64 -0
- grimoire_kit-3.0.0/CHANGELOG.md +325 -0
- grimoire_kit-3.0.0/LICENSE +21 -0
- grimoire_kit-3.0.0/PKG-INFO +910 -0
- grimoire_kit-3.0.0/README.md +865 -0
- grimoire_kit-3.0.0/archetypes/creative-studio/agents/brand-designer.md +78 -0
- grimoire_kit-3.0.0/archetypes/creative-studio/agents/content-creator.md +75 -0
- grimoire_kit-3.0.0/archetypes/creative-studio/archetype.dna.yaml +82 -0
- grimoire_kit-3.0.0/archetypes/creative-studio/shared-context.tpl.md +44 -0
- grimoire_kit-3.0.0/archetypes/features/vector-memory/vectus.md +111 -0
- grimoire_kit-3.0.0/archetypes/fix-loop/README.md +104 -0
- grimoire_kit-3.0.0/archetypes/fix-loop/agents/fix-loop-orchestrator.tpl.md +136 -0
- grimoire_kit-3.0.0/archetypes/fix-loop/archetype.dna.yaml +119 -0
- grimoire_kit-3.0.0/archetypes/fix-loop/workflows/workflow-closed-loop-fix.tpl.md +1048 -0
- grimoire_kit-3.0.0/archetypes/infra-ops/agents/backup-dr-specialist.md +255 -0
- grimoire_kit-3.0.0/archetypes/infra-ops/agents/k8s-navigator.md +253 -0
- grimoire_kit-3.0.0/archetypes/infra-ops/agents/monitoring-specialist.md +264 -0
- grimoire_kit-3.0.0/archetypes/infra-ops/agents/ops-engineer.md +167 -0
- grimoire_kit-3.0.0/archetypes/infra-ops/agents/pipeline-architect.md +168 -0
- grimoire_kit-3.0.0/archetypes/infra-ops/agents/security-hardener.md +170 -0
- grimoire_kit-3.0.0/archetypes/infra-ops/agents/systems-debugger.md +376 -0
- grimoire_kit-3.0.0/archetypes/infra-ops/archetype.dna.yaml +156 -0
- grimoire_kit-3.0.0/archetypes/infra-ops/shared-context.tpl.md +52 -0
- grimoire_kit-3.0.0/archetypes/meta/agents/agent-optimizer.md +428 -0
- grimoire_kit-3.0.0/archetypes/meta/agents/art-director.md +117 -0
- grimoire_kit-3.0.0/archetypes/meta/agents/concierge.md +116 -0
- grimoire_kit-3.0.0/archetypes/meta/agents/creative-toolsmith.md +126 -0
- grimoire_kit-3.0.0/archetypes/meta/agents/memory-keeper.md +268 -0
- grimoire_kit-3.0.0/archetypes/meta/agents/project-navigator.md +354 -0
- grimoire_kit-3.0.0/archetypes/minimal/agents/custom-agent.tpl.md +128 -0
- grimoire_kit-3.0.0/archetypes/minimal/archetype.dna.yaml +118 -0
- grimoire_kit-3.0.0/archetypes/platform-engineering/agents/backend-engineer.md +123 -0
- grimoire_kit-3.0.0/archetypes/platform-engineering/agents/deploy-orchestrator.md +144 -0
- grimoire_kit-3.0.0/archetypes/platform-engineering/agents/platform-architect.md +148 -0
- grimoire_kit-3.0.0/archetypes/platform-engineering/agents/reliability-engineer.md +204 -0
- grimoire_kit-3.0.0/archetypes/platform-engineering/archetype.dna.yaml +154 -0
- grimoire_kit-3.0.0/archetypes/platform-engineering/shared-context.tpl.md +119 -0
- grimoire_kit-3.0.0/archetypes/platform-engineering/templates/architecture.tpl.md +199 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/ansible-expert.dna.yaml +75 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/ansible-expert.md +130 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/docker-expert.dna.yaml +74 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/docker-expert.md +148 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/go-expert.dna.yaml +80 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/go-expert.md +227 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/k8s-expert.dna.yaml +78 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/k8s-expert.md +162 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/python-expert.dna.yaml +78 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/python-expert.md +138 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/terraform-expert.dna.yaml +79 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/terraform-expert.md +152 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/typescript-expert.dna.yaml +84 -0
- grimoire_kit-3.0.0/archetypes/stack/agents/typescript-expert.md +213 -0
- grimoire_kit-3.0.0/archetypes/web-app/agents/frontend-specialist.md +140 -0
- grimoire_kit-3.0.0/archetypes/web-app/agents/fullstack-dev.md +220 -0
- grimoire_kit-3.0.0/archetypes/web-app/archetype.dna.yaml +122 -0
- grimoire_kit-3.0.0/archetypes/web-app/shared-context.tpl.md +141 -0
- grimoire_kit-3.0.0/examples/terraform-houseserver/README.md +89 -0
- grimoire_kit-3.0.0/examples/web-app-todo/README.md +174 -0
- grimoire_kit-3.0.0/framework/copilot-extension/README.md +202 -0
- grimoire_kit-3.0.0/framework/prompt-templates/README.md +42 -0
- grimoire_kit-3.0.0/framework/registry/README.md +134 -0
- grimoire_kit-3.0.0/framework/sessions/README.md +146 -0
- grimoire_kit-3.0.0/framework/tools/README.md +464 -0
- grimoire_kit-3.0.0/pyproject.toml +87 -0
- grimoire_kit-3.0.0/src/grimoire/__init__.py +7 -0
- grimoire_kit-3.0.0/src/grimoire/__version__.py +1 -0
- grimoire_kit-3.0.0/src/grimoire/cli/__init__.py +1 -0
- grimoire_kit-3.0.0/src/grimoire/cli/app.py +641 -0
- grimoire_kit-3.0.0/src/grimoire/cli/cmd_merge.py +37 -0
- grimoire_kit-3.0.0/src/grimoire/cli/cmd_upgrade.py +175 -0
- grimoire_kit-3.0.0/src/grimoire/core/__init__.py +16 -0
- grimoire_kit-3.0.0/src/grimoire/core/config.py +237 -0
- grimoire_kit-3.0.0/src/grimoire/core/exceptions.py +87 -0
- grimoire_kit-3.0.0/src/grimoire/core/merge.py +230 -0
- grimoire_kit-3.0.0/src/grimoire/core/project.py +230 -0
- grimoire_kit-3.0.0/src/grimoire/core/resolver.py +68 -0
- grimoire_kit-3.0.0/src/grimoire/core/scanner.py +208 -0
- grimoire_kit-3.0.0/src/grimoire/core/validator.py +249 -0
- grimoire_kit-3.0.0/src/grimoire/mcp/__init__.py +1 -0
- grimoire_kit-3.0.0/src/grimoire/mcp/server.py +310 -0
- grimoire_kit-3.0.0/src/grimoire/memory/__init__.py +7 -0
- grimoire_kit-3.0.0/src/grimoire/memory/backends/__init__.py +0 -0
- grimoire_kit-3.0.0/src/grimoire/memory/backends/base.py +84 -0
- grimoire_kit-3.0.0/src/grimoire/memory/backends/local.py +148 -0
- grimoire_kit-3.0.0/src/grimoire/memory/backends/ollama.py +254 -0
- grimoire_kit-3.0.0/src/grimoire/memory/backends/qdrant.py +238 -0
- grimoire_kit-3.0.0/src/grimoire/memory/manager.py +162 -0
- grimoire_kit-3.0.0/src/grimoire/py.typed +0 -0
- grimoire_kit-3.0.0/src/grimoire/registry/__init__.py +1 -0
- grimoire_kit-3.0.0/src/grimoire/registry/agents.py +189 -0
- grimoire_kit-3.0.0/src/grimoire/registry/local.py +117 -0
- grimoire_kit-3.0.0/src/grimoire/tools/__init__.py +19 -0
- grimoire_kit-3.0.0/src/grimoire/tools/_common.py +109 -0
- grimoire_kit-3.0.0/src/grimoire/tools/agent_forge.py +228 -0
- grimoire_kit-3.0.0/src/grimoire/tools/context_guard.py +259 -0
- grimoire_kit-3.0.0/src/grimoire/tools/context_router.py +320 -0
- grimoire_kit-3.0.0/src/grimoire/tools/harmony_check.py +358 -0
- grimoire_kit-3.0.0/src/grimoire/tools/memory_lint.py +468 -0
- grimoire_kit-3.0.0/src/grimoire/tools/preflight_check.py +208 -0
- grimoire_kit-3.0.0/src/grimoire/tools/stigmergy.py +356 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.egg-info/
|
|
6
|
+
dist/
|
|
7
|
+
build/
|
|
8
|
+
*.egg
|
|
9
|
+
|
|
10
|
+
# Memory system runtime data
|
|
11
|
+
qdrant_data/
|
|
12
|
+
memories.json
|
|
13
|
+
activity.jsonl
|
|
14
|
+
session-summaries/
|
|
15
|
+
.last-health-check
|
|
16
|
+
archives/
|
|
17
|
+
|
|
18
|
+
# Project context (local config, not distributed — use .tpl.yaml as template)
|
|
19
|
+
project-context.yaml
|
|
20
|
+
|
|
21
|
+
# IDE — personnels uniquement (.vscode/ intentionnellement suivi pour le kit)
|
|
22
|
+
# .vscode/ ← supprimé : settings/tasks/snippets font partie du kit distribué
|
|
23
|
+
.idea/
|
|
24
|
+
*.swp
|
|
25
|
+
*.swo
|
|
26
|
+
*~
|
|
27
|
+
|
|
28
|
+
# OS
|
|
29
|
+
.DS_Store
|
|
30
|
+
Thumbs.db
|
|
31
|
+
|
|
32
|
+
# Virtual environments
|
|
33
|
+
venv/
|
|
34
|
+
.venv/
|
|
35
|
+
env/
|
|
36
|
+
|
|
37
|
+
# Secrets (never commit)
|
|
38
|
+
*.key
|
|
39
|
+
*.pem
|
|
40
|
+
*.env.local
|
|
41
|
+
.env
|
|
42
|
+
secrets.yaml
|
|
43
|
+
secrets.yml
|
|
44
|
+
*.secret
|
|
45
|
+
**/secrets/
|
|
46
|
+
|
|
47
|
+
# Dev / CI artifacts
|
|
48
|
+
.coverage
|
|
49
|
+
htmlcov/
|
|
50
|
+
.mypy_cache/
|
|
51
|
+
.pytest_cache/
|
|
52
|
+
.ruff_cache/
|
|
53
|
+
|
|
54
|
+
# Runtime data
|
|
55
|
+
.grimoire-rnd/
|
|
56
|
+
nohup.out
|
|
57
|
+
_grimoire-output/.qdrant_data/
|
|
58
|
+
_grimoire-output/.workers/
|
|
59
|
+
_grimoire-output/.background/
|
|
60
|
+
_grimoire-output/.runs/
|
|
61
|
+
_grimoire-output/.orchestrator/
|
|
62
|
+
_grimoire-output/.semantic-cache-stats.json
|
|
63
|
+
.grimoire-memory/
|
|
64
|
+
.grimoire-twin/
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
# <img src="docs/assets/icons/chart.svg" width="32" height="32" alt=""> Changelog
|
|
2
|
+
|
|
3
|
+
Toutes les modifications notables de ce projet sont documentées dans ce fichier.
|
|
4
|
+
|
|
5
|
+
Le format est basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/),
|
|
6
|
+
et ce projet adhère au [Semantic Versioning](https://semver.org/lang/fr/).
|
|
7
|
+
|
|
8
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [3.0.0] — 2026-03-08
|
|
9
|
+
|
|
10
|
+
### Réécriture complète — SDK Python pur + Indépendance totale
|
|
11
|
+
|
|
12
|
+
Le projet prend son indépendance sous le nom **Grimoire Kit** avec un **package Python installable**
|
|
13
|
+
(`pip install grimoire-kit`), architecture modulaire, API typée, et couverture de tests extensive.
|
|
14
|
+
|
|
15
|
+
#### Ajouté
|
|
16
|
+
|
|
17
|
+
- **SDK Core** (`grimoire.core`) — Modèles immutables (`@dataclass(frozen=True, slots=True)`),
|
|
18
|
+
`GrimoireConfig` pour le chargement de `project-context.yaml`, résolution de chemins,
|
|
19
|
+
système d'exceptions typées (`GrimoireConfigError`, `GrimoireProjectError`, `GrimoireRegistryError`)
|
|
20
|
+
- **CLI complète** (`grimoire.cli`) — 12 commandes Typer : `init`, `doctor`, `status`,
|
|
21
|
+
`add`, `remove`, `validate`, `up`, `upgrade`, `merge`, `registry list`, `registry search`
|
|
22
|
+
- **MCP Server** (`grimoire.mcp`) — Intégration Model Context Protocol avec 6 tools
|
|
23
|
+
et 4 resources pour les IDE compatibles MCP
|
|
24
|
+
- **Outils portés** (`grimoire.tools`) — `harmony-check`, `preflight-check`, `memory-lint`
|
|
25
|
+
réécrits en modules Python avec API programmatique (`run()` / `RunResult`)
|
|
26
|
+
- **Système de registre** (`grimoire.registry`) — Résolution d'agents, workflows, tasks
|
|
27
|
+
depuis les manifests CSV avec support multi-modules
|
|
28
|
+
- **Système de mémoire** (`grimoire.memory`) — Architecture à backends : fichier JSON,
|
|
29
|
+
Ollama (embeddings), Qdrant (vector store) avec interface `MemoryBackend` abstraite
|
|
30
|
+
- **Archétypes** — 8 templates de projet : `web-app`, `creative-studio`, `fix-loop`,
|
|
31
|
+
`infra-ops`, `meta`, `minimal`, `stack`, `features`
|
|
32
|
+
- **Merge engine** (`grimoire merge`) — Fusion intelligente de fichiers YAML/Markdown
|
|
33
|
+
avec détection de conflits et dry-run
|
|
34
|
+
- **Upgrade engine** (`grimoire upgrade`) — Migration entre versions avec diff et backup
|
|
35
|
+
- **Documentation** — `getting-started.md`, `concepts.md`, `onboarding.md`,
|
|
36
|
+
`memory-system.md`, `workflow-design-patterns.md`, `workflow-taxonomy.md`,
|
|
37
|
+
`creating-agents.md`, `archetype-guide.md`, `vscode-setup.md`, `troubleshooting.md`
|
|
38
|
+
- **CI / Qualité** — 694 tests unitaires, 96% couverture, ruff lint, mypy strict,
|
|
39
|
+
`py.typed` marker
|
|
40
|
+
|
|
41
|
+
#### Modifié
|
|
42
|
+
|
|
43
|
+
- **Rebranding complet** — Toutes les références `bmad` renommées en `grimoire` dans le code source,
|
|
44
|
+
tests, documentation, CI, shell scripts, et noms de répertoires (`_bmad/` → `_grimoire/`)
|
|
45
|
+
- **Entry points** — `grimoire` (CLI) et `grimoire-mcp` (serveur MCP) enregistrés
|
|
46
|
+
dans `pyproject.toml`
|
|
47
|
+
- **Build** — Migration vers `hatchling` comme build backend
|
|
48
|
+
- **URLs** — Repo renommé en `Grimoire-kit`
|
|
49
|
+
- **MemoryManager** — Paramètre `project_root` explicite (déterministe, plus de `os.getcwd()`)
|
|
50
|
+
- **Atomic writes** — `LocalMemoryBackend._save()` utilise `tempfile` + `os.replace`
|
|
51
|
+
|
|
52
|
+
#### Supprimé
|
|
53
|
+
|
|
54
|
+
- Scripts shell standalone (remplacés par le SDK Python)
|
|
55
|
+
- Dépendance à `bash` pour l'exécution des outils
|
|
56
|
+
- Toute dépendance au package npm `bmad-method`
|
|
57
|
+
|
|
58
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
59
|
+
|
|
60
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [2.4.1] — 2026-03-03
|
|
61
|
+
|
|
62
|
+
### Corrigé — Bug hunt (3 fichiers, 10 corrections)
|
|
63
|
+
|
|
64
|
+
- **cognitive-flywheel.py** — `cmd_analyze()` n'écrivait pas dans l'historique →
|
|
65
|
+
la tendance (trend) restait toujours "stable" car `compute_score` n'avait
|
|
66
|
+
jamais de cycle précédent. Ajout d'un `append_history()` à chaque analyse.
|
|
67
|
+
- **cognitive-flywheel.py** — Variable morte `high` dans `apply_gates()` :
|
|
68
|
+
construite mais jamais utilisée dans le return (dead code supprimé).
|
|
69
|
+
- **tests/test_maintenance_advanced.py** — 6 appels `open()` sans
|
|
70
|
+
`encoding="utf-8"` : crash potentiel sur Windows/locales non-UTF8.
|
|
71
|
+
|
|
72
|
+
### Vérifié — Aucun problème trouvé
|
|
73
|
+
|
|
74
|
+
- Division par zéro : 12 sites vérifiés, tous protégés (max, or, if guards)
|
|
75
|
+
- Pyflakes (F) : 0 erreur sur 48 outils + 53 tests
|
|
76
|
+
- Bare except : 0 (tous les except ont un type)
|
|
77
|
+
- eval/exec : 0 appel dangereux
|
|
78
|
+
- assert en production : 0
|
|
79
|
+
- Fonctions dupliquées : 0
|
|
80
|
+
- Mutable default args : 0
|
|
81
|
+
- Shadowing builtins : 0
|
|
82
|
+
- 82 swallowed-exception (`except ... pass`) : tous intentionnels (graceful degradation)
|
|
83
|
+
|
|
84
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
85
|
+
|
|
86
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [2.4.0] — 2026-03-02
|
|
87
|
+
|
|
88
|
+
### Ajouté — Cross-pollination depuis zav-sandbox (GSANE)
|
|
89
|
+
|
|
90
|
+
- **cognitive-flywheel.py** (outil #47) — Boucle d'auto-amélioration continue :
|
|
91
|
+
analyse Grimoire_TRACE.md pour détecter les patterns récurrents (failures,
|
|
92
|
+
AC-FAIL), calcule un score de santé (A+ à D), génère des corrections
|
|
93
|
+
automatiques avec système de gates (max 5 corrections, collision → escalade).
|
|
94
|
+
6 commandes CLI : `analyze`, `report`, `apply`, `history`, `score`, `dashboard`
|
|
95
|
+
- **failure-museum.py** (outil #48) — Catalogue structuré des échecs :
|
|
96
|
+
enregistre chaque failure avec root-cause, règle ajoutée, sévérité et tags.
|
|
97
|
+
Persistance JSONL + sync markdown automatique.
|
|
98
|
+
7 commandes CLI : `add`, `list`, `search`, `stats`, `export`, `lessons`, `check`
|
|
99
|
+
- **cleanup-branches.yml** — Workflow CI GitHub Actions pour supprimer
|
|
100
|
+
automatiquement les branches mergées (protège main/develop/release/*)
|
|
101
|
+
- **tests/test_cognitive_flywheel.py** — 45 tests couvrant dataclasses,
|
|
102
|
+
parsing trace, extraction de patterns, scoring, corrections, gates,
|
|
103
|
+
persistence report/history, scoreboard, commandes, CLI, constantes
|
|
104
|
+
- **tests/test_failure_museum.py** — 43 tests couvrant dataclasses,
|
|
105
|
+
persistence JSONL, markdown sync, commandes, CLI, intégration, constantes
|
|
106
|
+
- Total : **1 875 tests**, 0 échecs
|
|
107
|
+
|
|
108
|
+
### Inspiré par
|
|
109
|
+
|
|
110
|
+
- [zav-sandbox](https://github.com/zavrocKk/zav-sandbox) (framework GSANE) :
|
|
111
|
+
Cognitive Flywheel, Failure Museum, branch cleanup CI
|
|
112
|
+
|
|
113
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
114
|
+
|
|
115
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [2.3.0] — 2026-03-02
|
|
116
|
+
|
|
117
|
+
### Ajouté — Couverture de tests complète (31 fichiers, +787 tests)
|
|
118
|
+
|
|
119
|
+
- **31 fichiers de tests** générés pour couvrir les 46 outils du framework :
|
|
120
|
+
`bias-toolkit`, `context-guard`, `context-router`, `crescendo`, `crispr`,
|
|
121
|
+
`dark-matter`, `dashboard`, `decision-log`, `desire-paths`, `digital-twin`,
|
|
122
|
+
`distill`, `early-warning`, `harmony-check`, `immune-system`, `incubator`,
|
|
123
|
+
`mirror-agent`, `mycelium`, `new-game-plus`, `nudge-engine`, `oracle`,
|
|
124
|
+
`preflight-check`, `project-graph`, `quantum-branch`, `r-and-d`, `rosetta`,
|
|
125
|
+
`self-healing`, `semantic-chain`, `sensory-buffer`, `swarm-consensus`,
|
|
126
|
+
`time-travel`, `workflow-adapt`
|
|
127
|
+
- Chaque fichier teste : dataclasses, fonctions pures, fonctions projet,
|
|
128
|
+
formats de sortie, constantes, parser CLI, intégration CLI
|
|
129
|
+
- **_gen_tests.py** — générateur automatique de tests par analyse AST
|
|
130
|
+
- Total : **1 787 tests**, 0 échecs, ~130 s d'exécution
|
|
131
|
+
|
|
132
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
133
|
+
|
|
134
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [2.2.1] — 2026-03-02
|
|
135
|
+
|
|
136
|
+
### Corrigé — Audit multi-cycles (15 cycles, 3 fichiers)
|
|
137
|
+
|
|
138
|
+
- **nso.py:323** — condition morte `status = "ok" if ... else "ok"` corrigée
|
|
139
|
+
en `"warn"` — le NSO signale désormais correctement les erreurs memory-lint
|
|
140
|
+
- **gen-tests.py** — ajout `encoding="utf-8"` sur 2 appels `open()` (L167, L260)
|
|
141
|
+
— évite les erreurs d'encodage sur Windows avec des fichiers contenant des
|
|
142
|
+
accents/emojis
|
|
143
|
+
- **r-and-d.py:849** — ajout `encoding="utf-8"` sur `tool_file.open()` dans
|
|
144
|
+
l'analyse de gap (même correctif portabilité Windows)
|
|
145
|
+
|
|
146
|
+
### Vérifié — Aucun problème trouvé
|
|
147
|
+
|
|
148
|
+
- Division par zéro : 15+ sites vérifiés, tous protégés par des gardes
|
|
149
|
+
- Regex : toutes les regex compilées valides
|
|
150
|
+
- Références croisées `_load_tool()` : 8 appels, tous vers des fichiers existants
|
|
151
|
+
- Aucun `open()` sans `with`, aucun chemin absolu hardcodé
|
|
152
|
+
- Aucune variable non-initialisée dans `finally`, aucun dict muté pendant itération
|
|
153
|
+
- Aucun import inutilisé, aucune variable morte (ruff F401/F841 clean)
|
|
154
|
+
- Chemins mémoire/output cohérents entre tous les outils
|
|
155
|
+
|
|
156
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
157
|
+
|
|
158
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [2.2.0] — 2026-03-02
|
|
159
|
+
|
|
160
|
+
### Corrigé — Fuites mémoire Python
|
|
161
|
+
|
|
162
|
+
- **r-and-d.py** — 5 correctifs mémoire :
|
|
163
|
+
- `save_memory()` : ajout cap `MAX_MEMORY_SIZE = 500` — tronque aux N entrées
|
|
164
|
+
les plus récentes au lieu de grossir indéfiniment
|
|
165
|
+
- `_load_tool()` : cache via `sys.modules` — évite de recréer le module à chaque
|
|
166
|
+
appel (14 exec_module/cycle → 1 par outil)
|
|
167
|
+
- `load_cycle_reports()` : paramètre `last_n` — ne charge que les N derniers
|
|
168
|
+
rapports au lieu de tout l'historique
|
|
169
|
+
- `next_cycle_id()` : extraction directe depuis le nom du dernier fichier
|
|
170
|
+
au lieu de charger et parser tous les rapports JSON
|
|
171
|
+
- `tool_file.open()` L817 : ajout `with` context manager (file descriptor leak)
|
|
172
|
+
- **nso.py** — `_load_tool()` : même cache `sys.modules`
|
|
173
|
+
- **dream.py** — `emit_to_stigmergy()` : cache `sys.modules` pour stigmergy
|
|
174
|
+
- **memory-lint.py** — `emit_to_stigmergy()` : cache `sys.modules` pour stigmergy
|
|
175
|
+
|
|
176
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
177
|
+
|
|
178
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [2.1.1] — 2026-03-01
|
|
179
|
+
|
|
180
|
+
### Supprimé
|
|
181
|
+
|
|
182
|
+
- **workflow-snippets.py** (389 lignes) — aucune intégration CLI, aucun test, aucune
|
|
183
|
+
cross-référence. Overlap avec `workflow-design-patterns.md`
|
|
184
|
+
- **quorum.py** (400 lignes) — aucune intégration CLI, aucun test. Overlap fonctionnel
|
|
185
|
+
avec `antifragile-score.py` (signaux SIL) et `stigmergy.py` (seuils phéromoniques)
|
|
186
|
+
- **confidence-scores.py** (572 lignes) — aucune intégration CLI, aucun test. Heuristiques
|
|
187
|
+
simplistes, overlap avec `reasoning-stream.py` (niveaux de confiance)
|
|
188
|
+
|
|
189
|
+
### Corrigé
|
|
190
|
+
|
|
191
|
+
- Nettoyage des références aux 3 outils supprimés dans `docs/concepts.md`
|
|
192
|
+
- Total : **−1361 lignes** de dead code, 49 → 46 outils
|
|
193
|
+
|
|
194
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
195
|
+
|
|
196
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [2.1.0] — 2026-03-01
|
|
197
|
+
|
|
198
|
+
### Ajouté
|
|
199
|
+
|
|
200
|
+
- **CHANGELOG.md** — suivi formel des changements (issue R&D oracle-swot)
|
|
201
|
+
- **Multi-projet** pour `antifragile-score.py` — comparer la santé entre projets
|
|
202
|
+
via `--multi-project dir1 dir2 ...`
|
|
203
|
+
- **Multi-projet** pour `dream.py` — croiser les insights entre projets
|
|
204
|
+
via `--multi-project dir1 dir2 ...`
|
|
205
|
+
- **Moteur R&D v2.1** — filtre anti-chaîne de mutations + pénalité actionnabilité
|
|
206
|
+
|
|
207
|
+
### Corrigé
|
|
208
|
+
|
|
209
|
+
- Nettoyage du TODO orphelin dans le template prototype de `r-and-d.py`
|
|
210
|
+
- Moteur R&D : les mutations de mutations (profondeur > 1) sont progressivement
|
|
211
|
+
pénalisées dans le challenge, réduisant le bruit combinatoire
|
|
212
|
+
|
|
213
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
214
|
+
|
|
215
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [2.0.0] — 2026-02-28
|
|
216
|
+
|
|
217
|
+
### Ajouté
|
|
218
|
+
|
|
219
|
+
- **r-and-d.py v2.0** — Moteur d'Innovation R&D avec apprentissage par renforcement
|
|
220
|
+
- Closed-loop reward via health snapshots du projet réel
|
|
221
|
+
- Challenge durci : GO threshold 0.60, CONDITIONAL 0.40, quota 20% rejet
|
|
222
|
+
- Générateur de mutations des gagnants passés (transposition, escalade,
|
|
223
|
+
inverse, fusion)
|
|
224
|
+
- Générateur gap-driven (gaps réels : tests manquants, docs absentes,
|
|
225
|
+
domaines sous-représentés, dépendances fragiles)
|
|
226
|
+
- Commande `seed` pour initialiser la mémoire
|
|
227
|
+
- Commande `health` — snapshot de santé du projet
|
|
228
|
+
- Commande `prototype` — génération de squelettes Python
|
|
229
|
+
- 13 sources de récolte (dream, oracle-swot, oracle-attract, early-warning,
|
|
230
|
+
dna-drift, workflow-adapt, antifragile, harmony, stigmergy, incubator,
|
|
231
|
+
synthetic, mutation, gap-analysis)
|
|
232
|
+
|
|
233
|
+
### Corrigé
|
|
234
|
+
|
|
235
|
+
- Déduplication inter-cycles dans le moteur R&D (idées recyclées filtrées)
|
|
236
|
+
- Générateur synthétique enrichi (21 templates de concept blending)
|
|
237
|
+
|
|
238
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
239
|
+
|
|
240
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [1.6.0] — 2026-02-27
|
|
241
|
+
|
|
242
|
+
### Ajouté
|
|
243
|
+
|
|
244
|
+
- **Vague 6** — 7 outils d'exploration avancée :
|
|
245
|
+
- `digital-twin.py` — simulation de l'écosystème projet
|
|
246
|
+
- `quantum-branch.py` — exploration parallèle de décisions
|
|
247
|
+
- `time-travel.py` — machine à remonter le temps projet
|
|
248
|
+
- `crispr-rules.py` — mutation ciblée de règles agents
|
|
249
|
+
- `decision-log.py` — journal structuré des décisions
|
|
250
|
+
- `mirror-agent.py` — audit croisé inter-agents
|
|
251
|
+
- `sensory-buffer.py` — tampon sensoriel entre sessions
|
|
252
|
+
|
|
253
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
254
|
+
|
|
255
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [1.5.0] — 2026-02-26
|
|
256
|
+
|
|
257
|
+
### Ajouté
|
|
258
|
+
|
|
259
|
+
- **Vague 5** — Dream Nervous System :
|
|
260
|
+
- `dream.py` v2 — mémoire cross-session, décroissance temporelle, bigram keywords
|
|
261
|
+
- Boucle fermée nervous system avec feedback loop et trigger intelligent
|
|
262
|
+
- `memory-lint.py` — vérificateur d'hygiène mémoire
|
|
263
|
+
- `nso.py` — orchestrateur du système nerveux
|
|
264
|
+
|
|
265
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
266
|
+
|
|
267
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [1.4.0] — 2026-02-25
|
|
268
|
+
|
|
269
|
+
### Ajouté
|
|
270
|
+
|
|
271
|
+
- **Vague 4** — Stigmergy :
|
|
272
|
+
- `stigmergy.py` — coordination indirecte par phéromones numériques
|
|
273
|
+
|
|
274
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
275
|
+
|
|
276
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [1.3.0] — 2026-02-24
|
|
277
|
+
|
|
278
|
+
### Ajouté
|
|
279
|
+
|
|
280
|
+
- **Vague 3** — Cross-Project Migration + Agent Darwinism :
|
|
281
|
+
- `cross-migrate.py` — migration d'artefacts entre projets
|
|
282
|
+
- `agent-darwinism.py` — sélection naturelle des agents
|
|
283
|
+
|
|
284
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
285
|
+
|
|
286
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [1.2.0] — 2026-02-23
|
|
287
|
+
|
|
288
|
+
### Ajouté
|
|
289
|
+
|
|
290
|
+
- **Vague 2** — Anti-Fragile Score + Reasoning Stream :
|
|
291
|
+
- `antifragile-score.py` — scoring de résilience adaptative
|
|
292
|
+
- `reasoning-stream.py` — flux de raisonnement structuré
|
|
293
|
+
|
|
294
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
295
|
+
|
|
296
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [1.1.0] — 2026-02-22
|
|
297
|
+
|
|
298
|
+
### Ajouté
|
|
299
|
+
|
|
300
|
+
- **Vague 1** — Dream Mode + Adversarial Consensus :
|
|
301
|
+
- `dream.py` — consolidation hors-session et insights émergents
|
|
302
|
+
- `adversarial-consensus.py` — protocole de consensus adversarial
|
|
303
|
+
|
|
304
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
305
|
+
|
|
306
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [1.0.0] — 2026-02-20
|
|
307
|
+
|
|
308
|
+
### Ajouté
|
|
309
|
+
|
|
310
|
+
- Vagues précédentes : 25 outils de base, protocole cognitif Completion Contract,
|
|
311
|
+
Modal Team Engine, Self-Improvement Loop, Vector DB, web-app archetype
|
|
312
|
+
- Architecture framework : agent-base, agent-rules, hooks, mémoire, sessions,
|
|
313
|
+
outils, registre, équipes, workflows
|
|
314
|
+
- Archetypes : web-app, infra-ops, minimal, stack, meta, features, fix-loop
|
|
315
|
+
- Documentation : getting-started, archetype-guide, memory-system, troubleshooting,
|
|
316
|
+
workflow-design-patterns, creating-agents
|
|
317
|
+
- Tests : smoke-test.sh + suite de tests Python (122 tests)
|
|
318
|
+
|
|
319
|
+
<img src="docs/assets/divider.svg" width="100%" alt="">
|
|
320
|
+
|
|
321
|
+
## <img src="docs/assets/icons/branch.svg" width="28" height="28" alt=""> [0.1.0] — 2026-02-15
|
|
322
|
+
|
|
323
|
+
### Ajouté
|
|
324
|
+
|
|
325
|
+
- Initial commit — Grimoire Custom Kit structure de base
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Guilhem Bonnet
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|