grimoire-kit 3.75.0__tar.gz → 3.77.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.
Files changed (1138) hide show
  1. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/CHANGELOG.md +35 -0
  2. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/PKG-INFO +1 -1
  3. grimoire_kit-3.77.0/docs/assets/captures/i1/README.md +11 -0
  4. grimoire_kit-3.77.0/docs/captures/p42-correction/README.md +12 -0
  5. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/registry/kit-file-hashes.json +1 -1
  6. grimoire_kit-3.77.0/src/grimoire/__version__.py +1 -0
  7. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/_lazy_extra.py +1 -0
  8. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/app.py +1 -1
  9. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_chat.py +1 -15
  10. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_cockpit.py +82 -83
  11. grimoire_kit-3.77.0/src/grimoire/cli/cmd_idea.py +118 -0
  12. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory.py +30 -0
  13. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_add.py +53 -0
  14. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_usage.py +35 -1
  15. grimoire_kit-3.77.0/src/grimoire/cli/cockpit_http.py +153 -0
  16. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/doctor_brake.py +13 -1
  17. grimoire_kit-3.77.0/src/grimoire/cli/doctor_notify.py +32 -0
  18. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/agentic_standard.py +9 -9
  19. grimoire_kit-3.77.0/src/grimoire/core/command_line.py +21 -0
  20. grimoire_kit-3.77.0/src/grimoire/core/request_memo.py +40 -0
  21. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/verifiers.py +9 -0
  22. grimoire_kit-3.77.0/src/grimoire/mcp/idea_tools.py +60 -0
  23. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/mcp/memory_gestures.py +4 -0
  24. grimoire_kit-3.77.0/src/grimoire/memory/correction.py +317 -0
  25. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/decisions.py +2 -2
  26. grimoire_kit-3.77.0/src/grimoire/missions/ideas.py +190 -0
  27. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/intake.py +4 -4
  28. grimoire_kit-3.77.0/src/grimoire/missions/intake_tasks.py +114 -0
  29. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ledger.py +11 -4
  30. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/merger.py +8 -0
  31. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/orchestrate.py +25 -1
  32. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/reviewer.py +11 -6
  33. grimoire_kit-3.77.0/src/grimoire/missions/usage_fold.py +245 -0
  34. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/proposals.py +12 -0
  35. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/project_health.py +48 -2
  36. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_api.py +113 -34
  37. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_attention.py +10 -4
  38. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_chat.py +81 -3
  39. grimoire_kit-3.77.0/src/grimoire/tools/workspace_chat_pilot.py +154 -0
  40. grimoire_kit-3.77.0/src/grimoire/tools/workspace_first_launch.py +553 -0
  41. grimoire_kit-3.77.0/src/grimoire/tools/workspace_ideas.py +93 -0
  42. grimoire_kit-3.77.0/src/grimoire/tools/workspace_notify.py +116 -0
  43. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_portfolio.py +14 -0
  44. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_pulse.py +29 -12
  45. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_routes.py +25 -20
  46. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_work.py +5 -0
  47. grimoire_kit-3.77.0/version.txt +1 -0
  48. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/README.md +1 -1
  49. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/api.js +26 -2
  50. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/chat.js +119 -0
  51. grimoire_kit-3.77.0/web/workspace/icons/NOTICE +47 -0
  52. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/icons.svg +20 -0
  53. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/index.html +6 -1
  54. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/live.js +98 -21
  55. grimoire_kit-3.77.0/web/workspace/notify.js +203 -0
  56. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/shell.css +110 -1
  57. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/shell.js +56 -15
  58. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/a-traiter.js +19 -3
  59. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/configurer.js +57 -1
  60. grimoire_kit-3.77.0/web/workspace/spaces/decision-card.js +587 -0
  61. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/demarrer.js +159 -7
  62. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/executer.js +37 -6
  63. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/memoire.js +43 -2
  64. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/piloter.js +1 -1
  65. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/revue.js +1 -1
  66. grimoire_kit-3.77.0/web/workspace/spaces/task-intake.js +386 -0
  67. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/tokens.css +5 -0
  68. grimoire_kit-3.75.0/src/grimoire/__version__.py +0 -1
  69. grimoire_kit-3.75.0/version.txt +0 -1
  70. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/.gitignore +0 -0
  71. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/LICENSE +0 -0
  72. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/README.md +0 -0
  73. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/_grimoire/_config/custom/prompt-templates/README.md +0 -0
  74. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/agentic-standard/archetype.dna.yaml +0 -0
  75. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/agentic-standard/shared-context.tpl.md +0 -0
  76. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/creative-studio/agents/blender-expert.md +0 -0
  77. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/creative-studio/agents/brand-designer.md +0 -0
  78. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/creative-studio/agents/illustration-expert.md +0 -0
  79. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/creative-studio/archetype.dna.yaml +0 -0
  80. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/creative-studio/shared-context.tpl.md +0 -0
  81. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/creative-studio/skills/creative-content-copywriting.md +0 -0
  82. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/features/vector-memory/vectus.md +0 -0
  83. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/fix-loop/README.md +0 -0
  84. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/fix-loop/agents/fix-loop-orchestrator.tpl.md +0 -0
  85. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/fix-loop/archetype.dna.yaml +0 -0
  86. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/fix-loop/workflows/workflow-closed-loop-fix.tpl.md +0 -0
  87. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/infra-ops/agents/monitoring-specialist.md +0 -0
  88. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/infra-ops/agents/ops-engineer.md +0 -0
  89. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/infra-ops/agents/systems-debugger.md +0 -0
  90. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/infra-ops/archetype.dna.yaml +0 -0
  91. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/infra-ops/shared-context.tpl.md +0 -0
  92. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/infra-ops/skills/infra-backup-dr.md +0 -0
  93. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/infra-ops/skills/infra-k8s-gitops.md +0 -0
  94. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/infra-ops/skills/infra-pipeline-cicd.md +0 -0
  95. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/infra-ops/skills/infra-security-hardening.md +0 -0
  96. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/meta/agents/agent-optimizer.md +0 -0
  97. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/meta/agents/concierge.md +0 -0
  98. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/meta/agents/security-auditor.md +0 -0
  99. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/meta/archetype.dna.yaml +0 -0
  100. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/meta/skills/meta-art-direction.md +0 -0
  101. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/meta/skills/meta-memory-quality.md +0 -0
  102. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/meta/skills/meta-project-navigation.md +0 -0
  103. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/meta/skills/meta-toolsmithing.md +0 -0
  104. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/meta/skills/upgrade-review.md +0 -0
  105. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/minimal/agents/custom-agent.tpl.md +0 -0
  106. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/minimal/archetype.dna.yaml +0 -0
  107. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/platform-engineering/agents/backend-engineer.md +0 -0
  108. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/platform-engineering/agents/platform-architect.md +0 -0
  109. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/platform-engineering/archetype.dna.yaml +0 -0
  110. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/platform-engineering/shared-context.tpl.md +0 -0
  111. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/platform-engineering/skills/platform-deploy-release.md +0 -0
  112. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/platform-engineering/skills/platform-reliability-sre.md +0 -0
  113. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/platform-engineering/templates/architecture.tpl.md +0 -0
  114. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/stack/agents/stack-engineer.md +0 -0
  115. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/stack/archetype.dna.yaml +0 -0
  116. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/stack/skills/stack-ansible.md +0 -0
  117. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/stack/skills/stack-docker.md +0 -0
  118. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/stack/skills/stack-go.md +0 -0
  119. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/stack/skills/stack-k8s.md +0 -0
  120. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/stack/skills/stack-python.md +0 -0
  121. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/stack/skills/stack-terraform.md +0 -0
  122. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/stack/skills/stack-typescript.md +0 -0
  123. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/web-app/agents/fullstack-dev.md +0 -0
  124. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/web-app/archetype.dna.yaml +0 -0
  125. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/web-app/shared-context.tpl.md +0 -0
  126. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/archetypes/web-app/skills/web-frontend-ux.md +0 -0
  127. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/changelog.d/README.md +0 -0
  128. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/docs/assets/captures/p47/README.md +0 -0
  129. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/README.md +0 -0
  130. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/README.md +0 -0
  131. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/activated/README.md +0 -0
  132. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/README.md +0 -0
  133. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/index.html +0 -0
  134. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/package-lock.json +0 -0
  135. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/package.json +0 -0
  136. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/App.tsx +0 -0
  137. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/components/AddTaskForm.tsx +0 -0
  138. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/components/TaskItem.tsx +0 -0
  139. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/components/TaskList.tsx +0 -0
  140. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/main.tsx +0 -0
  141. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/styles.css +0 -0
  142. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/test/AddTaskForm.test.tsx +0 -0
  143. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/test/TaskList.test.tsx +0 -0
  144. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/test/setup.ts +0 -0
  145. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/src/types.ts +0 -0
  146. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/tsconfig.json +0 -0
  147. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/app/web/vite.config.ts +0 -0
  148. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/evals/witnesses/web-app-todo/enforced/README.md +0 -0
  149. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/examples/README.md +0 -0
  150. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/examples/blueprint-minimal/README.md +0 -0
  151. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/examples/blueprint-web-pipeline/README.md +0 -0
  152. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/examples/terraform-houseserver/README.md +0 -0
  153. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/examples/web-app-todo/README.md +0 -0
  154. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/README.md +0 -0
  155. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/autogen/artifacts/agents/autogen-conversation-runner.agent.md +0 -0
  156. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/autogen/artifacts/skills/autogen-conversation-design/SKILL.md +0 -0
  157. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/autogen/extension.json +0 -0
  158. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/autogen/scripts/verify-install.sh +0 -0
  159. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/browser-use/artifacts/agents/browser-use-runner.agent.md +0 -0
  160. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/browser-use/artifacts/instructions/browser-evidence.instructions.md +0 -0
  161. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/browser-use/extension.json +0 -0
  162. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/browser-use/scripts/verify-install.sh +0 -0
  163. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/crewai/artifacts/agents/crewai-crew-runner.agent.md +0 -0
  164. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/crewai/artifacts/hooks/crewai-telemetry-bridge.json +0 -0
  165. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/crewai/artifacts/hooks/crewai-telemetry-bridge.sh +0 -0
  166. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/crewai/artifacts/prompts/crewai-import-crew.prompt.md +0 -0
  167. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/crewai/artifacts/skills/crewai-crew-design/SKILL.md +0 -0
  168. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/crewai/extension.json +0 -0
  169. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/crewai/scripts/register-hooks.sh +0 -0
  170. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/crewai/scripts/unregister-hooks.sh +0 -0
  171. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/crewai/scripts/verify-install.sh +0 -0
  172. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/extension.schema.json +0 -0
  173. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/fennara-godot/artifacts/skills/godot-evidence-loop/SKILL.md +0 -0
  174. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/fennara-godot/extension.json +0 -0
  175. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/fennara-godot/scripts/setup-mcp.sh +0 -0
  176. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/fennara-godot/scripts/teardown-mcp.sh +0 -0
  177. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/fennara-godot/scripts/verify-install.sh +0 -0
  178. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/grimoire-mcp/artifacts/instructions/mcp-trust-gate.instructions.md +0 -0
  179. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/grimoire-mcp/artifacts/skills/grimoire-mcp-setup/SKILL.md +0 -0
  180. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/grimoire-mcp/extension.json +0 -0
  181. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/grimoire-mcp/scripts/verify-install.sh +0 -0
  182. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/haystack/artifacts/instructions/haystack-rag-governance.instructions.md +0 -0
  183. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/haystack/artifacts/skills/haystack-pipeline-design/SKILL.md +0 -0
  184. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/haystack/extension.json +0 -0
  185. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/haystack/scripts/verify-install.sh +0 -0
  186. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langfuse/artifacts/hooks/langfuse-trace-export.json +0 -0
  187. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langfuse/artifacts/hooks/langfuse-trace-export.sh +0 -0
  188. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langfuse/artifacts/instructions/langfuse-observability.instructions.md +0 -0
  189. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langfuse/artifacts/skills/langfuse-tracing-setup/SKILL.md +0 -0
  190. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langfuse/extension.json +0 -0
  191. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langfuse/scripts/register-hooks.sh +0 -0
  192. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langfuse/scripts/unregister-hooks.sh +0 -0
  193. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langfuse/scripts/verify-install.sh +0 -0
  194. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langgraph/artifacts/agents/langgraph-graph-runner.agent.md +0 -0
  195. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langgraph/artifacts/prompts/langgraph-import-graph.prompt.md +0 -0
  196. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langgraph/artifacts/skills/langgraph-graph-design/SKILL.md +0 -0
  197. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langgraph/extension.json +0 -0
  198. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/extensions/langgraph/scripts/verify-install.sh +0 -0
  199. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/FREEZE.md +0 -0
  200. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agent-base-compact.md +0 -0
  201. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agent-base.md +0 -0
  202. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agent-mesh-network.md +0 -0
  203. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agent-relationship-graph.md +0 -0
  204. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agent-rules.md +0 -0
  205. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agent2agent.md +0 -0
  206. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-industry-reference.md +0 -0
  207. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/README.md +0 -0
  208. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/capability-map.yaml +0 -0
  209. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/needs-catalog.yaml +0 -0
  210. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/profile-map.yaml +0 -0
  211. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/target-schema.yaml +0 -0
  212. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/acceptance-record.md +0 -0
  213. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/accepted-risks.yaml +0 -0
  214. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/blast-radius-policy.yaml +0 -0
  215. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/browser-tool-contract.yaml +0 -0
  216. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/capability-registry.yaml +0 -0
  217. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/claim-ledger.md +0 -0
  218. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/cluster-action-policy.yaml +0 -0
  219. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/compliance-declaration.md +0 -0
  220. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/compliance-score.yaml +0 -0
  221. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/compression-gate.yaml +0 -0
  222. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/context-contract.yaml +0 -0
  223. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/cost-registry.yaml +0 -0
  224. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/decision-council.yaml +0 -0
  225. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/decision-graph.yaml +0 -0
  226. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/doc-graph-pipeline.yaml +0 -0
  227. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/environment-policy.yaml +0 -0
  228. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/evidence-gates.yaml +0 -0
  229. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/evidence-pack.md +0 -0
  230. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/flow-dsl-manifest.yaml +0 -0
  231. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/guardrail-contract.yaml +0 -0
  232. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/hook-registry.yaml +0 -0
  233. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/incident-registry.yaml +0 -0
  234. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/k8s-agent-manifest.yaml +0 -0
  235. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/knowledge-source-registry.yaml +0 -0
  236. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/llm-provider-registry.yaml +0 -0
  237. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/memory-integrity.yaml +0 -0
  238. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/memory-policy.yaml +0 -0
  239. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/merge-lane.yaml +0 -0
  240. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/mission-brief.md +0 -0
  241. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/observability-policy.yaml +0 -0
  242. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/orchestration-policy.yaml +0 -0
  243. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/pattern-catalog.yaml +0 -0
  244. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/privilege-boundary.yaml +0 -0
  245. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/prompt-firewall.yaml +0 -0
  246. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/prompt-version-log.yaml +0 -0
  247. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/remediation-plan.yaml +0 -0
  248. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/remote-hygiene.yaml +0 -0
  249. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/retention-registry.yaml +0 -0
  250. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/risk-control-matrix.yaml +0 -0
  251. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/rule-packs.yaml +0 -0
  252. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/runtime-provider-contract.yaml +0 -0
  253. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/runtime-surface-registry.yaml +0 -0
  254. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/task-board.yaml +0 -0
  255. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/task-envelope.md +0 -0
  256. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/tool-registry.yaml +0 -0
  257. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/visual-evidence.yaml +0 -0
  258. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/waivers.yaml +0 -0
  259. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/workflow-state-manifest.yaml +0 -0
  260. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/templates/workspace-isolation.yaml +0 -0
  261. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/agentic-standard/traceability.yaml +0 -0
  262. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/archetype-dna.schema.yaml +0 -0
  263. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/cc-reference.md +0 -0
  264. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/cc-verify.sh +0 -0
  265. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/context-router.md +0 -0
  266. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot/instructions/grimoire-project.instructions.md +0 -0
  267. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot/prompts/grimoire-changelog.prompt.md +0 -0
  268. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot/prompts/grimoire-dream.prompt.md +0 -0
  269. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot/prompts/grimoire-health-check.prompt.md +0 -0
  270. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot/prompts/grimoire-pre-push.prompt.md +0 -0
  271. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot/prompts/grimoire-self-heal.prompt.md +0 -0
  272. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot/prompts/grimoire-session-bootstrap.prompt.md +0 -0
  273. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot/prompts/grimoire-status.prompt.md +0 -0
  274. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot/prompts/grimoire-upgrade-review.prompt.md +0 -0
  275. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/copilot-extension/README.md +0 -0
  276. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/cross-validation-trust.md +0 -0
  277. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/delivery-contract.tpl.md +0 -0
  278. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/event-log-shared-state.md +0 -0
  279. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-architecture-haut-niveau.md +0 -0
  280. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-aws.md +0 -0
  281. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-azure.md +0 -0
  282. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-c.md +0 -0
  283. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-cloudflare.md +0 -0
  284. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-cpp.md +0 -0
  285. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-csharp.md +0 -0
  286. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-design-patterns.md +0 -0
  287. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-elixir.md +0 -0
  288. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-gcp.md +0 -0
  289. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-hetzner.md +0 -0
  290. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-java.md +0 -0
  291. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-kotlin.md +0 -0
  292. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-kubernetes-managed.md +0 -0
  293. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-ovh.md +0 -0
  294. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-performance.md +0 -0
  295. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-php.md +0 -0
  296. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-ruby.md +0 -0
  297. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-rust.md +0 -0
  298. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-scala.md +0 -0
  299. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-scaleway.md +0 -0
  300. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-securite-applicative.md +0 -0
  301. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-swift.md +0 -0
  302. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-systemes-bas-niveau.md +0 -0
  303. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/expertises/skills/expertise-testing-avancee.md +0 -0
  304. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/glossary.yaml +0 -0
  305. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/grimoire-trace.md +0 -0
  306. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/honest-uncertainty-protocol.md +0 -0
  307. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hooks/.pre-commit-config.tpl.yaml +0 -0
  308. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hooks/commit-msg.sh +0 -0
  309. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hooks/mnemo-consolidate.sh +0 -0
  310. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hooks/post-checkout.sh +0 -0
  311. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hooks/post-commit.sh +0 -0
  312. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hooks/pre-commit-cc.sh +0 -0
  313. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hooks/pre-push.sh +0 -0
  314. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hooks/prepare-commit-msg.sh +0 -0
  315. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hosts/commands/grimoire-doctor.md +0 -0
  316. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hosts/commands/grimoire-gate.md +0 -0
  317. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hosts/commands/grimoire-proof.md +0 -0
  318. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hosts/commands/grimoire-recall.md +0 -0
  319. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hosts/commands/grimoire-verify.md +0 -0
  320. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hosts/skills/grimoire-agent-dispatch.md +0 -0
  321. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hosts/skills/grimoire-evidence.md +0 -0
  322. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hosts/skills/grimoire-memory.md +0 -0
  323. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hosts/skills/grimoire-steward.md +0 -0
  324. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/hybrid-parallelism-engine.md +0 -0
  325. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/mcp/grimoire-mcp-server.md +0 -0
  326. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/.gitignore +0 -0
  327. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/backends/__init__.py +0 -0
  328. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/backends/backend_lexical.py +0 -0
  329. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/backends/backend_local.py +0 -0
  330. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/backends/backend_ollama.py +0 -0
  331. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/backends/backend_qdrant_local.py +0 -0
  332. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/backends/backend_qdrant_server.py +0 -0
  333. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/contradiction-log.tpl.md +0 -0
  334. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/dependency-graph.tpl.md +0 -0
  335. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/docker-compose.memory-target.tpl.yml +0 -0
  336. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/docker-compose.memory.tpl.yml +0 -0
  337. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/failure-museum.tpl.md +0 -0
  338. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/handoff-log.tpl.md +0 -0
  339. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/k8s-qdrant.tpl.yaml +0 -0
  340. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/maintenance.py +0 -0
  341. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/mem0-bridge.py +0 -0
  342. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/memory_seed.py +0 -0
  343. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/network-topology.tpl.md +0 -0
  344. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/oss-references.tpl.md +0 -0
  345. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/requirements/requirements-minimal.txt +0 -0
  346. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/requirements/requirements-ollama.txt +0 -0
  347. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/requirements/requirements-qdrant.txt +0 -0
  348. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/requirements.txt +0 -0
  349. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/memory/session-save.py +0 -0
  350. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/orchestrator-gateway.md +0 -0
  351. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/productive-conflict-engine.md +0 -0
  352. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/README.md +0 -0
  353. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/audit-report.md +0 -0
  354. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/capacity-planning.md +0 -0
  355. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/compliance-check.md +0 -0
  356. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/dependency-updates.md +0 -0
  357. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/design-tokens.md +0 -0
  358. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/network-troubleshoot.md +0 -0
  359. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/operational-mode.md +0 -0
  360. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/periodic-report.md +0 -0
  361. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/secret-rotation.md +0 -0
  362. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/strategic-plan.md +0 -0
  363. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/prompt-templates/troubleshoot.md +0 -0
  364. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/question-escalation-chain.md +0 -0
  365. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/registry/README.md +0 -0
  366. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/selective-huddle-protocol.md +0 -0
  367. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/sessions/README.md +0 -0
  368. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/sil-collect.sh +0 -0
  369. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/README.md +0 -0
  370. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/adversarial-consensus.py +0 -0
  371. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/agent-bench.py +0 -0
  372. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/agent-caller.py +0 -0
  373. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/agent-darwinism.py +0 -0
  374. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/agent-debugger.py +0 -0
  375. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/agent-forge.py +0 -0
  376. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/agent-integrity.py +0 -0
  377. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/agent-test.py +0 -0
  378. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/agent-watch.py +0 -0
  379. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/agent-worker.py +0 -0
  380. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/antifragile-score.py +0 -0
  381. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/auto-doc.py +0 -0
  382. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/context-guard.py +0 -0
  383. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/context-summarizer.py +0 -0
  384. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/cross-migrate.py +0 -0
  385. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/dep-check.py +0 -0
  386. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/distill.py +0 -0
  387. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/dna-evolve.py +0 -0
  388. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/dream.py +0 -0
  389. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/expert-tool-chain.py +0 -0
  390. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/failure-museum.py +0 -0
  391. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/gen-tests.py +0 -0
  392. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/grimoire-completion.zsh +0 -0
  393. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/grimoire-mcp-tools.py +0 -0
  394. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/grimoire-setup.py +0 -0
  395. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/image-prompt.py +0 -0
  396. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/incubator.py +0 -0
  397. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/llm-router.py +0 -0
  398. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/memory-lint.py +0 -0
  399. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/memory-sync.py +0 -0
  400. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/message-bus.py +0 -0
  401. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/nso.py +0 -0
  402. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/observatory.py +0 -0
  403. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/preflight-check.py +0 -0
  404. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/quick-check.sh +0 -0
  405. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/rag-indexer.py +0 -0
  406. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/rag-retriever.py +0 -0
  407. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/reasoning-stream.py +0 -0
  408. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/schema-validator.py +0 -0
  409. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/session-lifecycle.py +0 -0
  410. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/stigmergy.py +0 -0
  411. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/stigmergy_hooks/scripts/stigmergy-emit-post-edit.sh +0 -0
  412. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/stigmergy_hooks/scripts/stigmergy-emit-stop.sh +0 -0
  413. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/stigmergy_hooks/scripts/stigmergy-sense.sh +0 -0
  414. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/stigmergy_hooks/scripts/stigmergy_hook.py +0 -0
  415. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/stigmergy_hooks/stigmergy-emit.json +0 -0
  416. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/stigmergy_hooks/stigmergy-sense.json +0 -0
  417. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/swarm-consensus.py +0 -0
  418. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/synapse-trace.py +0 -0
  419. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/token-budget.py +0 -0
  420. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/tool-registry.py +0 -0
  421. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/tool-resolver.py +0 -0
  422. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/vision-judge.py +0 -0
  423. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/tools/web-browser.py +0 -0
  424. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/workflows/boomerang-orchestration.md +0 -0
  425. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/workflows/github-cc-check.yml.tpl +0 -0
  426. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/workflows/incident-response.md +0 -0
  427. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/workflows/party-mode.md +0 -0
  428. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/workflows/repo-map-generator.md +0 -0
  429. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/workflows/state-checkpoint.md +0 -0
  430. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/workflows/subagent-orchestration.md +0 -0
  431. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/workflows/workflow-graph.tpl.yaml +0 -0
  432. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/framework/workflows/workflow-status.tpl.md +0 -0
  433. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/planning/README.md +0 -0
  434. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/pyproject.toml +0 -0
  435. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/registry/blueprints/README.md +0 -0
  436. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/registry/blueprints/project-upgrade.blueprint.json +0 -0
  437. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/registry/expertises.yaml +0 -0
  438. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/rust/grimoire-acp-core/pyproject.toml +0 -0
  439. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/rust/grimoire-dispatch-core/pyproject.toml +0 -0
  440. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/rust/grimoire-flows-core/pyproject.toml +0 -0
  441. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/rust/grimoire-hosts-core/pyproject.toml +0 -0
  442. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/rust/grimoire-policies-core/pyproject.toml +0 -0
  443. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/rust/grimoire-schema-core/pyproject.toml +0 -0
  444. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/rust/grimoire-traces-core/pyproject.toml +0 -0
  445. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/scripts/gen-site-data.py +0 -0
  446. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/__init__.py +0 -0
  447. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/__main__.py +0 -0
  448. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/acp/__init__.py +0 -0
  449. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/acp/client.py +0 -0
  450. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/acp/machine.py +0 -0
  451. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/archetypes/__init__.py +0 -0
  452. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/bridges/__init__.py +0 -0
  453. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/bridges/a2a_adapter.py +0 -0
  454. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/bridges/host.py +0 -0
  455. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/bridges/schemas.py +0 -0
  456. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/__init__.py +0 -0
  457. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/_condensed_help.py +0 -0
  458. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/_lazy.py +0 -0
  459. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/_registry_dispatches_report.py +0 -0
  460. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/_shared.py +0 -0
  461. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_agent.py +0 -0
  462. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_autonomy.py +0 -0
  463. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_blueprint.py +0 -0
  464. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_blueprint_import.py +0 -0
  465. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_cadrage.py +0 -0
  466. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_ceremony.py +0 -0
  467. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_context_pack.py +0 -0
  468. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_debugger.py +0 -0
  469. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_dispatch.py +0 -0
  470. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_evidence.py +0 -0
  471. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_expertise.py +0 -0
  472. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_ext.py +0 -0
  473. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_features.py +0 -0
  474. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_flow.py +0 -0
  475. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_gates.py +0 -0
  476. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_hooks.py +0 -0
  477. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_host.py +0 -0
  478. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_init.py +0 -0
  479. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_mcp.py +0 -0
  480. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory_bundle.py +0 -0
  481. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory_gestures.py +0 -0
  482. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory_knowledge.py +0 -0
  483. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory_lexical.py +0 -0
  484. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory_ops.py +0 -0
  485. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory_packs.py +0 -0
  486. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory_projections.py +0 -0
  487. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory_rules.py +0 -0
  488. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_memory_shared.py +0 -0
  489. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_merge.py +0 -0
  490. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_migrate.py +0 -0
  491. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_mission.py +0 -0
  492. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_needs.py +0 -0
  493. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_onboard.py +0 -0
  494. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_orchestrate.py +0 -0
  495. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_phase.py +0 -0
  496. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_plans.py +0 -0
  497. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_policies.py +0 -0
  498. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_proposals.py +0 -0
  499. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_providers.py +0 -0
  500. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_queue.py +0 -0
  501. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_route.py +0 -0
  502. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_self_bundle.py +0 -0
  503. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_self_update.py +0 -0
  504. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_serve.py +0 -0
  505. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_setup.py +0 -0
  506. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_standard.py +0 -0
  507. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_standard_claims.py +0 -0
  508. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_steward.py +0 -0
  509. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_stigmergy.py +0 -0
  510. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task.py +0 -0
  511. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_a2a.py +0 -0
  512. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_approve.py +0 -0
  513. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_import.py +0 -0
  514. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_portfolio.py +0 -0
  515. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_questions.py +0 -0
  516. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_review.py +0 -0
  517. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_waiting.py +0 -0
  518. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_wave.py +0 -0
  519. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_task_worktree.py +0 -0
  520. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_team.py +0 -0
  521. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_up.py +0 -0
  522. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_up_prove.py +0 -0
  523. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_up_task_unification.py +0 -0
  524. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_upgrade.py +0 -0
  525. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_upgrade_flow.py +0 -0
  526. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_verify_install.py +0 -0
  527. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_web.py +0 -0
  528. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/cmd_workflows.py +0 -0
  529. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/doctor_acp.py +0 -0
  530. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/doctor_hooks.py +0 -0
  531. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/doctor_instructions.py +0 -0
  532. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/doctor_mcp.py +0 -0
  533. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/doctor_skills.py +0 -0
  534. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/env_checks.py +0 -0
  535. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/init_memory.py +0 -0
  536. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/init_questions.py +0 -0
  537. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/cli/updater.py +0 -0
  538. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/codegraph/__init__.py +0 -0
  539. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/codegraph/backends/__init__.py +0 -0
  540. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/codegraph/backends/neo4j.py +0 -0
  541. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/codegraph/freshness.py +0 -0
  542. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/codegraph/graph.py +0 -0
  543. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/codegraph/parser.py +0 -0
  544. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/codegraph/schemas.py +0 -0
  545. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/__init__.py +0 -0
  546. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/agent_freshness.py +0 -0
  547. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/archetype_resolver.py +0 -0
  548. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/cadrage.py +0 -0
  549. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/cadrage_requirements.py +0 -0
  550. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/claude_activation.py +0 -0
  551. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/config.py +0 -0
  552. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/console_encoding.py +0 -0
  553. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/deprecation.py +0 -0
  554. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/error_codes.py +0 -0
  555. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/exceptions.py +0 -0
  556. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/execution_needs.py +0 -0
  557. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/expertises.py +0 -0
  558. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/fsio.py +0 -0
  559. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/grounding.py +0 -0
  560. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/integrity.py +0 -0
  561. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/kit_hashes.py +0 -0
  562. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/layered_rules.py +0 -0
  563. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/layout.py +0 -0
  564. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/learned_rules.py +0 -0
  565. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/log.py +0 -0
  566. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/merge.py +0 -0
  567. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/needs_suggest.py +0 -0
  568. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/onboarding_panel.py +0 -0
  569. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/override_drift.py +0 -0
  570. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/policy_budget_guard_check.py +0 -0
  571. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/profile_floor_doctor.py +0 -0
  572. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/project.py +0 -0
  573. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/project_capabilities.py +0 -0
  574. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/project_kind.py +0 -0
  575. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/project_types.py +0 -0
  576. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/resolver.py +0 -0
  577. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/rule_resolution.py +0 -0
  578. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/safe_git.py +0 -0
  579. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/scaffold.py +0 -0
  580. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/scanner.py +0 -0
  581. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/schema.py +0 -0
  582. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/stack_pack_verifiers.py +0 -0
  583. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/stack_packs.py +0 -0
  584. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/stack_skills.py +0 -0
  585. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/__init__.py +0 -0
  586. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/acceptance_test_run.py +0 -0
  587. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/base.py +0 -0
  588. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/cadrage_ledger_check.py +0 -0
  589. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/claim_ledger_verify.py +0 -0
  590. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/claim_proof_resolve.py +0 -0
  591. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/controls.py +0 -0
  592. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/criterion_coverage.py +0 -0
  593. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/dispatch_cost_slo.py +0 -0
  594. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/evidence_chain.py +0 -0
  595. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/evidence_journal.py +0 -0
  596. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/evidence_resolve.py +0 -0
  597. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/gate_codegraph.py +0 -0
  598. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/gate_remedy.py +0 -0
  599. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/gate_review_checks.py +0 -0
  600. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/gate_test_run.py +0 -0
  601. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/hot_memory_check.py +0 -0
  602. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/no_tests_collected.py +0 -0
  603. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/observability_check.py +0 -0
  604. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/pattern_codes.py +0 -0
  605. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/plan_then_execute_check.py +0 -0
  606. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/registry.py +0 -0
  607. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/rules_check.py +0 -0
  608. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/runtime_journal_check.py +0 -0
  609. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/skills_check.py +0 -0
  610. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_checks/tree_fingerprint.py +0 -0
  611. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_effective_profile.py +0 -0
  612. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_generation.py +0 -0
  613. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_profile_manifest.py +0 -0
  614. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_state.py +0 -0
  615. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_task_scaffold.py +0 -0
  616. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_traceability.py +0 -0
  617. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/standard_upstream.py +0 -0
  618. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/task_board_ledger.py +0 -0
  619. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/task_unification_doctor.py +0 -0
  620. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/core/validator.py +0 -0
  621. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/costs.py +0 -0
  622. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/data/__init__.py +0 -0
  623. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/data/bench/longmemeval-sample.json +0 -0
  624. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/data/stack-packs/python.yaml +0 -0
  625. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/evidence/__init__.py +0 -0
  626. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/evidence/schemas.py +0 -0
  627. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/evidence/service.py +0 -0
  628. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/__init__.py +0 -0
  629. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/attestation.py +0 -0
  630. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/autonomy.py +0 -0
  631. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/blueprint_loader.py +0 -0
  632. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/directive.py +0 -0
  633. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/dispatch_executor.py +0 -0
  634. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/doctor.py +0 -0
  635. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/engine.py +0 -0
  636. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/executor.py +0 -0
  637. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/extract.py +0 -0
  638. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/fingerprint.py +0 -0
  639. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/genres.py +0 -0
  640. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/live_runs.py +0 -0
  641. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/pilot.py +0 -0
  642. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/registry.py +0 -0
  643. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/schemas.py +0 -0
  644. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/flows/transfer.py +0 -0
  645. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/__init__.py +0 -0
  646. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/acp_hosts.py +0 -0
  647. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/capabilities.py +0 -0
  648. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/collect.py +0 -0
  649. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/contract_probe.py +0 -0
  650. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/__init__.py +0 -0
  651. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/_shared.py +0 -0
  652. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/activation.py +0 -0
  653. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/authority_guard.py +0 -0
  654. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/calibration.py +0 -0
  655. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/chain_ack.py +0 -0
  656. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/context_capsule.py +0 -0
  657. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/done_gate.py +0 -0
  658. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/enrolment.py +0 -0
  659. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/event_trace.py +0 -0
  660. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/evidence_gate.py +0 -0
  661. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/evidence_trace.py +0 -0
  662. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/gate_override.py +0 -0
  663. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/gate_summary.py +0 -0
  664. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/human_turns.py +0 -0
  665. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/instruction_scan.py +0 -0
  666. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/lease_brake.py +0 -0
  667. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/pause_brake.py +0 -0
  668. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/profile_floor.py +0 -0
  669. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/record.py +0 -0
  670. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/repetition_guard.py +0 -0
  671. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/self_view.py +0 -0
  672. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/session_memory.py +0 -0
  673. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/steering.py +0 -0
  674. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/subagent_gate.py +0 -0
  675. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/task_context.py +0 -0
  676. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/tool_facts.py +0 -0
  677. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/decisions/tool_policy.py +0 -0
  678. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/detection.py +0 -0
  679. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/emitters/__init__.py +0 -0
  680. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/emitters/base.py +0 -0
  681. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/emitters/claude_code.py +0 -0
  682. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/emitters/copilot.py +0 -0
  683. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/emitters/generic.py +0 -0
  684. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/emitters/opencode.py +0 -0
  685. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/emitters/rules.py +0 -0
  686. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/events.py +0 -0
  687. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/hook_launcher.py +0 -0
  688. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/host_version.py +0 -0
  689. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/matrix.py +0 -0
  690. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/probe.py +0 -0
  691. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/runtime.py +0 -0
  692. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/secrets.py +0 -0
  693. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/skill_spec.py +0 -0
  694. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/surface.py +0 -0
  695. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/hosts/sync.py +0 -0
  696. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/mcp/__init__.py +0 -0
  697. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/mcp/project.py +0 -0
  698. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/mcp/server.py +0 -0
  699. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/__init__.py +0 -0
  700. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/architecture.py +0 -0
  701. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/__init__.py +0 -0
  702. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/_qdrant_mixin.py +0 -0
  703. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/base.py +0 -0
  704. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/lexical.py +0 -0
  705. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/local.py +0 -0
  706. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/mempalace.py +0 -0
  707. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/ollama.py +0 -0
  708. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/qdrant.py +0 -0
  709. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/tantivy_local.py +0 -0
  710. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/backends/weaviate.py +0 -0
  711. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/bundle.py +0 -0
  712. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/embedding.py +0 -0
  713. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/gestures.py +0 -0
  714. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/health_cache.py +0 -0
  715. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/hot.py +0 -0
  716. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/journal.py +0 -0
  717. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/knowledge.py +0 -0
  718. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/longmemeval.py +0 -0
  719. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/manager.py +0 -0
  720. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/migration.py +0 -0
  721. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/neo4j_backfill.py +0 -0
  722. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/neo4j_graph.py +0 -0
  723. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/profiles.py +0 -0
  724. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/projections.py +0 -0
  725. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/reads_log.py +0 -0
  726. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/retrieval.py +0 -0
  727. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/shared.py +0 -0
  728. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/sidecar.py +0 -0
  729. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/split.py +0 -0
  730. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/store_probe.py +0 -0
  731. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/supersession.py +0 -0
  732. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/taxonomy.py +0 -0
  733. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/memory/validation.py +0 -0
  734. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/__init__.py +0 -0
  735. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/admission.py +0 -0
  736. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/autopilot.py +0 -0
  737. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/board.py +0 -0
  738. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/breaker.py +0 -0
  739. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/cadrage_plan.py +0 -0
  740. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ceremony.py +0 -0
  741. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ceremony_budget.py +0 -0
  742. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/check_gate.py +0 -0
  743. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ci_slots.py +0 -0
  744. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/declarative_evidence.py +0 -0
  745. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/diff_fingerprint.py +0 -0
  746. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/dispatch.py +0 -0
  747. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/dispatch_advice.py +0 -0
  748. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/dispatch_history.py +0 -0
  749. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/effects.py +0 -0
  750. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/empty_green.py +0 -0
  751. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ended.py +0 -0
  752. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/finition.py +0 -0
  753. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/gates.py +0 -0
  754. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/human_acceptance.py +0 -0
  755. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/janitor.py +0 -0
  756. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/launcher.py +0 -0
  757. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/lease.py +0 -0
  758. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ledger_append.py +0 -0
  759. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ledger_links.py +0 -0
  760. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ledger_rules.py +0 -0
  761. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ledger_snapshot.py +0 -0
  762. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/ledger_views.py +0 -0
  763. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/liveness.py +0 -0
  764. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/mandate.py +0 -0
  765. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/manual_review.py +0 -0
  766. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/orchestrator_policy.py +0 -0
  767. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/orchestrator_session.py +0 -0
  768. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/pause.py +0 -0
  769. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/plan_import.py +0 -0
  770. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/plans_registry.py +0 -0
  771. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/prepush_fence.py +0 -0
  772. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/question_gestures.py +0 -0
  773. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/question_rounds.py +0 -0
  774. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/question_v2.py +0 -0
  775. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/questions.py +0 -0
  776. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/recall.py +0 -0
  777. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/reclaim.py +0 -0
  778. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/report.py +0 -0
  779. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/reservation.py +0 -0
  780. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/review_receipt.py +0 -0
  781. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/review_seal.py +0 -0
  782. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/review_verdict.py +0 -0
  783. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/route_dispatch.py +0 -0
  784. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/route_report.py +0 -0
  785. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/router.py +0 -0
  786. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/routing_policy.py +0 -0
  787. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/schemas.py +0 -0
  788. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/service.py +0 -0
  789. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/session_link.py +0 -0
  790. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/task_flow_adapter.py +0 -0
  791. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/task_unification.py +0 -0
  792. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/task_worktree.py +0 -0
  793. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/team_units.py +0 -0
  794. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/timer.py +0 -0
  795. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/trace.py +0 -0
  796. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/verifiability.py +0 -0
  797. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/verify.py +0 -0
  798. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/waiting.py +0 -0
  799. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/wave_checkpoint.py +0 -0
  800. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/missions/waves.py +0 -0
  801. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/onboarding/__init__.py +0 -0
  802. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/onboarding/brownfield.py +0 -0
  803. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/onboarding/facts.py +0 -0
  804. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/onboarding/scan_js.py +0 -0
  805. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/onboarding/scan_manifests.py +0 -0
  806. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/onboarding/scan_python.py +0 -0
  807. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/policies/__init__.py +0 -0
  808. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/policies/engine.py +0 -0
  809. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/policies/rules_config.py +0 -0
  810. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/policies/schemas.py +0 -0
  811. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/policies/security.py +0 -0
  812. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/policies/session_state.py +0 -0
  813. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/policies/temporal.py +0 -0
  814. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/providers/__init__.py +0 -0
  815. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/providers/audit.py +0 -0
  816. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/providers/quota.py +0 -0
  817. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/providers/registry.py +0 -0
  818. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/providers/routing.py +0 -0
  819. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/providers/state.py +0 -0
  820. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/py.typed +0 -0
  821. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/registry/__init__.py +0 -0
  822. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/registry/agents.py +0 -0
  823. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/registry/discovery.py +0 -0
  824. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/registry/local.py +0 -0
  825. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/repo_gates/__init__.py +0 -0
  826. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/runtime/__init__.py +0 -0
  827. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/runtime/adapter_base.py +0 -0
  828. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/runtime/crewai_adapter.py +0 -0
  829. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/runtime/gascity_converter.py +0 -0
  830. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/runtime/kernel.py +0 -0
  831. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/runtime/langgraph_adapter.py +0 -0
  832. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/runtime/recipes.py +0 -0
  833. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/runtime/schemas.py +0 -0
  834. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/steward/__init__.py +0 -0
  835. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/steward/project_map.py +0 -0
  836. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/steward/report.py +0 -0
  837. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/steward/sources.py +0 -0
  838. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/steward/verdicts.py +0 -0
  839. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/__init__.py +0 -0
  840. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/_common.py +0 -0
  841. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/agent_creation.py +0 -0
  842. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_checkpoint.py +0 -0
  843. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_context.py +0 -0
  844. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_diff.py +0 -0
  845. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_eval_runner.py +0 -0
  846. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_evals.py +0 -0
  847. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_gate.py +0 -0
  848. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_primitives.py +0 -0
  849. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_resilience.py +0 -0
  850. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_scatter.py +0 -0
  851. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_security.py +0 -0
  852. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/blueprint_telemetry.py +0 -0
  853. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/cockpit_registry_routes.py +0 -0
  854. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/context_pack.py +0 -0
  855. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/cost_model.py +0 -0
  856. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/ext_manager.py +0 -0
  857. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/features.py +0 -0
  858. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/flow_runs.py +0 -0
  859. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/forge_http.py +0 -0
  860. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/forge_routes.py +0 -0
  861. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/forge_server.py +0 -0
  862. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/handoff.py +0 -0
  863. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/harmony_check.py +0 -0
  864. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/install_receipt.py +0 -0
  865. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/install_trust.py +0 -0
  866. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/mcp_processes.py +0 -0
  867. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/memory_link.py +0 -0
  868. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/memory_lint.py +0 -0
  869. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/memory_setup.py +0 -0
  870. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/memory_vectors.py +0 -0
  871. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/model_windows.py +0 -0
  872. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/project_registry.py +0 -0
  873. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/project_setup.py +0 -0
  874. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/project_update.py +0 -0
  875. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/project_upgrade.py +0 -0
  876. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/request_guard.py +0 -0
  877. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/serve_data.py +0 -0
  878. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/source_assist.py +0 -0
  879. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/stigmergy.py +0 -0
  880. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/stigmergy_hooks.py +0 -0
  881. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/untrusted.py +0 -0
  882. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/update_bundle.py +0 -0
  883. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/update_bundle_build.py +0 -0
  884. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/update_channels.py +0 -0
  885. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/upgrade_changes.py +0 -0
  886. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/upgrade_preview.py +0 -0
  887. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/view_cache.py +0 -0
  888. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_actions.py +0 -0
  889. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_capacity.py +0 -0
  890. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_chat_kanban.py +0 -0
  891. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_config.py +0 -0
  892. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_exec.py +0 -0
  893. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_graph.py +0 -0
  894. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_hygiene.py +0 -0
  895. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_knowledge.py +0 -0
  896. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_language.py +0 -0
  897. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_launch_apply.py +0 -0
  898. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_launch_preflight.py +0 -0
  899. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_legacy.py +0 -0
  900. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_machine.py +0 -0
  901. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_memory.py +0 -0
  902. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_memory_gestures.py +0 -0
  903. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_read_cache.py +0 -0
  904. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_recall.py +0 -0
  905. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_reviews.py +0 -0
  906. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_session_feed.py +0 -0
  907. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_sessions.py +0 -0
  908. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_setup_guide.py +0 -0
  909. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_since.py +0 -0
  910. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_slots.py +0 -0
  911. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_task_gates.py +0 -0
  912. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/tools/workspace_write_guard.py +0 -0
  913. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/traces/__init__.py +0 -0
  914. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/traces/intervals.py +0 -0
  915. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/traces/ledger.py +0 -0
  916. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/traces/observatory_feed.py +0 -0
  917. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/traces/otel_conventions.py +0 -0
  918. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/traces/otlp.py +0 -0
  919. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/traces/runtime_spans.py +0 -0
  920. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/traces/schemas.py +0 -0
  921. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/traces/transcript_usage.py +0 -0
  922. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/workflows/__init__.py +0 -0
  923. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/src/grimoire/workflows/registry.py +0 -0
  924. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/DESIGN-BRIEF-memory.md +0 -0
  925. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/DESIGN-BRIEF-observability.md +0 -0
  926. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/DESIGN-REVIEW-2026-09.md +0 -0
  927. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/DESIGN-SPEC-workspace-2026-09.md +0 -0
  928. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/anatomy.html +0 -0
  929. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/atelier-nav.js +0 -0
  930. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/atelier.css +0 -0
  931. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/atelier.html +0 -0
  932. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/blueprint-onboarding.js +0 -0
  933. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/blueprints.html +0 -0
  934. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-assist.js +0 -0
  935. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-composer.js +0 -0
  936. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-core.js +0 -0
  937. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-cost.js +0 -0
  938. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-diff.js +0 -0
  939. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-docs.js +0 -0
  940. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-evals.js +0 -0
  941. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-lexicon.js +0 -0
  942. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-library.js +0 -0
  943. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-manual.js +0 -0
  944. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-sections.js +0 -0
  945. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-team.css +0 -0
  946. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-team.js +0 -0
  947. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2-tour.js +0 -0
  948. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/bp2.css +0 -0
  949. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/activity.json +0 -0
  950. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/architecture.json +0 -0
  951. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/catalogue-export.json +0 -0
  952. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/extensions.json +0 -0
  953. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/insights.json +0 -0
  954. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/kit-coverage.json +0 -0
  955. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/memory.json +0 -0
  956. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/meta.json +0 -0
  957. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/observatory.json +0 -0
  958. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/atlas-ops/activity.json +0 -0
  959. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/atlas-ops/insights.json +0 -0
  960. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/atlas-ops/memory.json +0 -0
  961. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/atlas-ops/meta.json +0 -0
  962. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/atlas-ops/observatory.json +0 -0
  963. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/atlas-ops/taskboard.json +0 -0
  964. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/grimoire-kit/activity.json +0 -0
  965. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/grimoire-kit/insights.json +0 -0
  966. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/grimoire-kit/memory.json +0 -0
  967. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/grimoire-kit/meta.json +0 -0
  968. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/grimoire-kit/observatory.json +0 -0
  969. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/grimoire-kit/taskboard.json +0 -0
  970. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/ledger-data/activity.json +0 -0
  971. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/ledger-data/insights.json +0 -0
  972. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/ledger-data/memory.json +0 -0
  973. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/ledger-data/meta.json +0 -0
  974. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/ledger-data/observatory.json +0 -0
  975. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/ledger-data/taskboard.json +0 -0
  976. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/sentinel-sec/activity.json +0 -0
  977. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/sentinel-sec/insights.json +0 -0
  978. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/sentinel-sec/memory.json +0 -0
  979. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/sentinel-sec/meta.json +0 -0
  980. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/sentinel-sec/observatory.json +0 -0
  981. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects/sentinel-sec/taskboard.json +0 -0
  982. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/projects.json +0 -0
  983. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/cloture-refusee-puis-acceptee.html +0 -0
  984. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/cloture-refusee-puis-acceptee.json +0 -0
  985. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/decision-humaine-attestee.html +0 -0
  986. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/decision-humaine-attestee.json +0 -0
  987. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/index.json +0 -0
  988. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/rappel-au-claim.html +0 -0
  989. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/rappel-au-claim.json +0 -0
  990. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/supersession.html +0 -0
  991. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/supersession.json +0 -0
  992. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/tri-v0-v1-v2.html +0 -0
  993. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/reels/tri-v0-v1-v2.json +0 -0
  994. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/data/taskboard.json +0 -0
  995. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/demo.html +0 -0
  996. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/Concevoir.dc.html +0 -0
  997. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/ConcevoirClair.dc.html +0 -0
  998. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/Couleurs.dc.html +0 -0
  999. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/DAArdoise.dc.html +0 -0
  1000. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/DAPapier.dc.html +0 -0
  1001. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/DAStudio.dc.html +0 -0
  1002. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/DirectionB.dc.html +0 -0
  1003. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/DirectionC.dc.html +0 -0
  1004. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/DirectionD.dc.html +0 -0
  1005. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/Encre.dc.html +0 -0
  1006. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/EncreClair.dc.html +0 -0
  1007. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/Main.dc.html +0 -0
  1008. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/Mecaniques.dc.html +0 -0
  1009. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/Source.dc.html +0 -0
  1010. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/canvas.json +0 -0
  1011. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/concevoir-dark.jpg +0 -0
  1012. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/concevoir-light.jpg +0 -0
  1013. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/executer-dark.jpg +0 -0
  1014. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/executer-light.jpg +0 -0
  1015. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/memoire-dark.jpg +0 -0
  1016. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/memoire-light.jpg +0 -0
  1017. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/observer-dark.jpg +0 -0
  1018. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/observer-light.jpg +0 -0
  1019. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/piloter-dark.jpg +0 -0
  1020. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/piloter-light.jpg +0 -0
  1021. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/source-dark.jpg +0 -0
  1022. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/captures/source-light.jpg +0 -0
  1023. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/gen-couleurs.py +0 -0
  1024. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/gen-skins.py +0 -0
  1025. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design/workspace-2026-09/shell.tpl.html +0 -0
  1026. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/01-cockpit-portefeuille-desktop.jpg +0 -0
  1027. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/02-cockpit-portefeuille-full.jpg +0 -0
  1028. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/03-cockpit-portefeuille-mobile.jpg +0 -0
  1029. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/04-kanban-desktop.jpg +0 -0
  1030. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/05-kanban-mobile.jpg +0 -0
  1031. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/06-observatoire-desktop.jpg +0 -0
  1032. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/07-observatoire-full.jpg +0 -0
  1033. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/08-atelier-desktop.jpg +0 -0
  1034. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/09-atelier-mobile.jpg +0 -0
  1035. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/10-memoire-desktop.jpg +0 -0
  1036. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/11-blueprints-desktop.jpg +0 -0
  1037. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/12-extensions-desktop.jpg +0 -0
  1038. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/13-patterns-desktop.jpg +0 -0
  1039. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/14-cockpit-index-desktop.jpg +0 -0
  1040. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/15-workspace-lot1-sombre-decouverte.png +0 -0
  1041. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/16-workspace-lot1-clair-decouverte.png +0 -0
  1042. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/17-workspace-lot1-sombre-concentration.png +0 -0
  1043. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/design-review-2026-09/18-workspace-lot1-clair-concentration.png +0 -0
  1044. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/documentation.html +0 -0
  1045. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/extensions.html +0 -0
  1046. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/Geist-Variable-latin.woff2 +0 -0
  1047. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/GeistMono-Variable-latin.woff2 +0 -0
  1048. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/JetBrainsMono-Regular.woff2 +0 -0
  1049. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  1050. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/OFL-instrument.txt +0 -0
  1051. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/OFL-jetbrains.txt +0 -0
  1052. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/OFL.txt +0 -0
  1053. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/fonts.css +0 -0
  1054. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/instrument-sans-400.woff2 +0 -0
  1055. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/instrument-sans-500.woff2 +0 -0
  1056. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/fonts/instrument-sans-600.woff2 +0 -0
  1057. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/forge-base.css +0 -0
  1058. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/forge-charts.css +0 -0
  1059. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/forge-landing.css +0 -0
  1060. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/forge-motion.css +0 -0
  1061. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/forge-motion.js +0 -0
  1062. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/forge-nav.js +0 -0
  1063. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/forge-observatory.js +0 -0
  1064. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/forge-tokens.css +0 -0
  1065. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/game-ui.html +0 -0
  1066. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/grimoire-mode.js +0 -0
  1067. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/index.html +0 -0
  1068. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/kanban.html +0 -0
  1069. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/labs.html +0 -0
  1070. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/media/capture-reelle.png +0 -0
  1071. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/media/teaser-720.mp4 +0 -0
  1072. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/media/teaser-poster.jpg +0 -0
  1073. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/memory.html +0 -0
  1074. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/observability.html +0 -0
  1075. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/patterns.html +0 -0
  1076. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/portfolio.html +0 -0
  1077. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/project-picker.js +0 -0
  1078. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/.gitignore +0 -0
  1079. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/README.md +0 -0
  1080. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/audio4.py +0 -0
  1081. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/build4.py +0 -0
  1082. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/clips.json +0 -0
  1083. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/cues.json +0 -0
  1084. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/cues.mjs +0 -0
  1085. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/detect_green.py +0 -0
  1086. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/fonts/JetBrainsMono-Regular.woff2 +0 -0
  1087. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  1088. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/fonts/OFL-InstrumentSans.txt +0 -0
  1089. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/fonts/OFL-JetBrainsMono.txt +0 -0
  1090. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/fonts/instrument-sans-400.woff2 +0 -0
  1091. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/fonts/instrument-sans-500.woff2 +0 -0
  1092. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/fonts/instrument-sans-600.woff2 +0 -0
  1093. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/footage-sources.json +0 -0
  1094. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/icons/board.svg +0 -0
  1095. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/icons/fleet.svg +0 -0
  1096. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/icons/inbox.svg +0 -0
  1097. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/icons/pr.svg +0 -0
  1098. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/icons/sliders.svg +0 -0
  1099. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/icons/tag.svg +0 -0
  1100. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/master.sh +0 -0
  1101. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/prep_footage.py +0 -0
  1102. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/render.mjs +0 -0
  1103. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/scene4.tpl.html +0 -0
  1104. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/screens.json +0 -0
  1105. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/shots.mjs +0 -0
  1106. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/storyboard.py +0 -0
  1107. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/teaser/terminal.json +0 -0
  1108. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/tools/check-links.py +0 -0
  1109. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/activity.js +0 -0
  1110. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/fonts/GeistMono-Medium.woff2 +0 -0
  1111. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/fonts/GeistMono-Regular.woff2 +0 -0
  1112. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/fonts/InstrumentSans-Variable.woff2 +0 -0
  1113. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/fonts/OFL-InstrumentSans.txt +0 -0
  1114. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/fonts/OFL.txt +0 -0
  1115. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/glossary.js +0 -0
  1116. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/markdown.js +0 -0
  1117. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/score.js +0 -0
  1118. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/setup-state.js +0 -0
  1119. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/a-traiter-group.js +0 -0
  1120. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/a-traiter-since.js +0 -0
  1121. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/board-split.js +0 -0
  1122. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/capacite.js +0 -0
  1123. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/carte-worker.js +0 -0
  1124. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/carte.js +0 -0
  1125. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/code-projection.js +0 -0
  1126. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/concevoir.js +0 -0
  1127. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/donnees.js +0 -0
  1128. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/memoire-gestes.js +0 -0
  1129. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/observer.js +0 -0
  1130. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/rappel.js +0 -0
  1131. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/recall-receipt.js +0 -0
  1132. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/registre.js +0 -0
  1133. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/sante.js +0 -0
  1134. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/sessions.js +0 -0
  1135. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/source-editor.js +0 -0
  1136. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/source.css +0 -0
  1137. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/source.js +0 -0
  1138. {grimoire_kit-3.75.0 → grimoire_kit-3.77.0}/web/workspace/spaces/task-create.js +0 -0
@@ -7,6 +7,41 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/lang/fr/).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.77.0] - 2026-10-30
11
+
12
+ - chore(release): correctifs intermédiaires des PR fusionnées par commit de fusion, déjà décrits par le fragment de leur PR : e56b9bde, 643cd839, 45360126, ea109781, efb3ea4e, 00f1a297, 195fcb60
13
+ - fix(missions): le relecteur ne juge plus une tâche sur un run d'E2E périmé — un check relancé (échec ancien, run en cours) est en cours, pas rouge — et chaque `task.review_judged` porte le verdict CI lu (`ci`, `ci_detail`) (GAO-i8-le-relec-001)
14
+ - fix(cockpit): « À traiter » ne compte plus les consignes des tâches finies ; une consigne non lue sur une tâche ouverte est « à entretenir », le badge et le titre d'onglet ne comptent que les gestes, et clôturer une tâche acquitte ses consignes (raison « tâche close »)
15
+ - feat(missions): boîte à idées — `grimoire idea add|list|drop|promote`, outil MCP `idea_add` et « Garder pour plus tard » dans « Une idée ? » du cockpit : une idée se garde sans être triée, et se transforme en tâches plus tard (I13)
16
+ - fix(cockpit): les cibles tactiles font 44 px à 390 px ou au doigt (jeton `--hit`) et les rubriques de Savoir et de Configuration ne s'effondrent plus à 18 px (GAO-i14-rendre-002)
17
+ - perf(cockpit): le pouls porte une empreinte par projet et l'interface ne relit que le projet affiché quand il a bougé ; l'écart entre deux relectures suit leur durée réelle (3 à 15 s) et la barre d'état compte les relectures par minute (GAO-i11-ne-rech-001)
18
+ - perf(cockpit): le panneau Preuves lit le board et les politiques une fois par requête, ne calcule que les tâches actives (les terminales sont comptées, `?all=1` les détaille) et borne son calcul à 5 s (`truncated`) — 283 tâches en moins de 1,5 s au lieu de plus de 30 s (GAO-i9-rendre-l-001)
19
+ - fix(cockpit): `GET /api/workspace/evidence` n'écrit plus de `gate.checked` dans `runtime-journal.jsonl` (`check_evidence_gates(record=False)`), un journal périmé n'est plus rendu « frais » par l'ouverture du panneau (GAO-i9-rendre-l-001)
20
+ - feat(missions): l'usage réel de chaque session est replié dans sa tâche à chaque tick (journal retrouvé dans le worktree ou par identifiant de session, au plus 5 journaux et 50 Mo par tick) ; `grimoire task usage --backfill [--dry-run]` rattrape les tâches closes ; un journal absent est dit « journal de session introuvable »
21
+
22
+ ## [3.76.0] - 2026-10-29
23
+
24
+ - chore(release): correctifs intermédiaires des PR fusionnées par commit de fusion, déjà décrits par le fragment de leur PR : a4b0e8a7, 077bba97, e82f2a3f, 7198f1de, abd4ef41, d17c4672, 27fe2020, 5de84791, 773d7441, bcb735df
25
+ - feat(cockpit): le chat d'orchestrateur branché sur le pilote automatique (ACP4, `GAO-acp4-chat-d-001`). Pilote activé, une question qui reste à l'humain (liste réservée de P82 ou confiance basse) est posée dans le chat en plus de « À traiter » ; la réponse tapée après « Répondre ici » est une réponse humaine par le canal du cockpit. À l'ouverture, le chat résume les décisions du pilote depuis la dernière visite, avec un lien vers le journal. L'orchestrateur peut proposer `[[pilote:on]]` / `[[pilote:off]]` : le chat en fait un bouton que la personne clique avec la clé de contrôle, l'agent n'a aucun chemin pour activer ou couper le pilote.
26
+ - fix(intake): l'intake propose ses titres et justifications en français (« Écrire les tests : … », « Tâche principale détectée dans la demande », etc.), sans changer le découpage ni les types, risques et vérifiabilités proposés (GAO-i7-l-intake-001)
27
+ - feat(cockpit): dix-neuf icônes d'action `i-act-*` dans le sprite (P38, GAO-p38-ic-nes-001) : exception Lucide accordée — pause, skip, save, send, unlock, ban, back, next, approve, reject (déjà présentes), plus copy, close, preview, retry, add, filter, remove, launch, stop, choisies d après la fréquence des verbes du cockpit. Tracés Lucide (ISC) au trait 1,75, `web/workspace/icons/NOTICE` porte la licence, la charte écrit « aucune icône d'identité empruntée ». Aucun appel dans le cockpit encore.
28
+ - feat(memory): correction mémoire déléguée à un agent (P42, GAO-p42-correct-001) : « Demander une correction… » ouvre une tâche au critère généré selon le résultat attendu (`corrects: <id>` pour remplacer ou fusionner) ; l'agent dépose sa correction par `grimoire memory correct propose` comme proposition `memory-correction` (`grimoire.proposals`), sans écrire en mémoire ; accepter applique par `MemoryManager`, le journal P14 porte `proposed_by` et `applied_by` ; une proposition dont une entrée a changé depuis la demande est périmée (refusée, aperçu sur l'état actuel) ; le formulaire prévient que l'annulation de la tâche n'arrête pas la session de l'agent, qui peut encore travailler (tant que GAO-annuler-arr-001 n'est pas livré).
29
+ - feat(cockpit): chat d'orchestrateur, étape 3 (ACP3, GAO-acp3-chat-d-001) : tous les hôtes, choix par projet, doctor ACP, repli kanban
30
+ - **Table de lancement** (`HostProfile.acp_command`) : Gemini CLI `gemini --acp`, Copilot CLI `copilot --acp` (preview, à valider), Codex `npx -y @agentclientprotocol/codex-acp` (exige `npx` et `codex`), Cursor `agent acp`, opencode `opencode acp`. Le profil porte aussi `acp_binary`, `acp_preview` et `acp_note`.
31
+ - **Choix de l'hôte** par projet : sélecteur dans l'onglet Orchestrateur (`GET /api/workspace/chat/hosts`, `POST /api/workspace/chat/host`), mémorisé sous `_grimoire-runtime-output/cockpit/chat-host.json` ; sans réglage, l'hôte détecté. Les hôtes non installés sont grisés avec leur raison. `GRIMOIRE_CHAT_HOST` et `GRIMOIRE_CHAT_AGENT_COMMAND` passent toujours avant.
32
+ - **Doctor** : `grimoire doctor` négocie `initialize` avec le mode ACP de chaque hôte installé (aucun `session/new`, aucun prompt, donc aucun coût) ; un mode muet est un avertissement, le chat se replie sur le kanban.
33
+ - **Repli kanban** (Copilot dans VS Code n'a pas d'interface externe, ni tout hôte sans ACP lançable) : le chat dépose une consigne humaine sur la tâche tenue (ou `task_id`), et le fil affiche les notes, questions et commentaires que les sessions y déposent ; le fil se relit du ledger, il survit au redémarrage. En différé, mais disponible partout.
34
+ - **Pérennité** : Gemini CLI cède la place à Antigravity CLI pour les comptes gratuits (juin 2026) — `gemini --acp` reste valable tant que la CLI est installée, la commande du profil est à mettre à jour à la migration ; le mode ACP de Copilot CLI est en preview, signalé dans le sélecteur et par le doctor.
35
+ - feat(cockpit): « Lancer » dans le guide Démarrer — le plan de P36 s'exécute par les actions typées de P40, étape par étape (P45, `GAO-p45-premier-001`)
36
+ - **Étapes** : démarrer les services du profil (sautable), composer la mémoire (`memory.compose`), vérifier par un aller-retour mémoire réel (écrire, retrouver, retirer un souvenir de test, relu absent), lancer doctor (sautable). Un échec est traduit en phrase avec son remède (motif brut à part) ; **Réessayer**, **Sauter** (étapes non bloquantes seulement) et **Revenir en arrière** (inverse consigné, dernière étape d'abord). Un écart de vérification s'affiche avec sa commande de remède.
37
+ - **Avancement enregistré** (`_grimoire-runtime-output/setup/launch.json`, écrit avant chaque étape) : après rechargement, l'étape interrompue est dite telle et reprise là, sans rejouer ce qui est fait.
38
+ - **Routes** : `GET /api/workspace/setup/launch`, `POST /api/workspace/setup/launch` (`verb` : `start`, `next`, `retry`, `skip`, `rollback`, `reset`). Aucune écriture à l'ouverture du guide ; sans `project-context.yaml` (S0) il n'existe pas d'action typée d'initialisation : l'étape de composition est bloquée et dit `grimoire init` à copier.
39
+ - feat(cockpit): carte de décision v2 dans « À traiter › Décisions » — titre et contexte en deux lignes, puces de pièces dépliables (diff, CI, lien, fichier, capture, commande), recommandation avec sa raison, choix unique ou multiple avec conséquence, « Tout cocher / Tout décocher », consigne facultative, « Plus tard » qui n'envoie rien ; la réponse part en texte lisible et en `answer_data`, « Demandes précédentes » (ce que tu as répondu et la suite, lus au ledger via `waiting.rounds`), badge « 2e demande », raccourcis 1-9, R, E, H et Ctrl+Entrée (aucun envoi en un seul appui), barre « Envoyer » collante et cibles de 48 px à 390 px ; une question v1 garde la carte actuelle (GAO-p93-carte-d-001)
40
+ - perf(cockpit): réponses JSON et fichiers texte en gzip au-delà de 1 Ko, `ETag` + `Last-Modified` + 304 sur les fichiers statiques (`no-cache` conservé), HTTP/1.1 avec keep-alive (flux SSE inchangés), liste `tasks` allégée (consignes, description, garde-fous, dépendances par `tasks/<id>`), lecture du board du standard en libyaml et mise en cache : la fiche Piloter passe de ~0,9 s à ~0,15 s (GAO-p94-cockpit-001)
41
+ - feat(cockpit): « Une idée ? » dans l'espace Travail (raccourci `n`, palette) transforme une phrase en tâches prêtes (I2, `GAO-i2-transfor-001`). `POST /api/workspace/tasks/intake` rend, sans LLM et de façon déterministe, des propositions avec type, risque, vérifiabilité et critère proposé par classe ; une commande de vérification est requise pour passer en prête (V0/V1) ; les propositions critiques ne sont jamais cochées d'office ; « Créer N tâches (prêtes) » passe par `TaskService.add`, un refus du gate laisse la tâche proposée avec sa raison. CLI : `grimoire task add --intake "<texte>" --create [--json]` ; sans `--create`, rien n'est écrit.
42
+ - fix(windows): la commande de notification d'une décision attendue se découpe comme le shell du système (`grimoire.core.command_line.split_command`, partagé avec le chat ACP) : sous Windows, un chemin `C:\…\python.exe` n'est plus réduit par `shlex` en mode POSIX (main rouge sous Windows, 2026-10-29).
43
+ - feat(cockpit): prévenir d'une décision attendue, onglet masqué ou fermé (I1, `GAO-i1-pr-venir-001`). Le titre de l'onglet devient « (N) Grimoire » avec une pastille sur le favicon, rendus à l'identique à zéro. L'interrupteur « Me prévenir dans le navigateur » émet une notification par nouvelle question (dédupliquée par identifiant, même après rechargement) et garde le flux ouvert onglet masqué — seule exception au gel, absente tant qu'il est coupé. Configuration gagne la « Commande de notification » (`options.notify.command`) avec un bouton « Tester » (`POST /api/workspace/notify/test`), `grimoire doctor` signale une commande illisible, et le guide `docs/guides/etre-prevenu-d-une-decision.md` donne des recettes `notify-send` et `ntfy`.
44
+
10
45
  ## [3.75.0] - 2026-10-29
11
46
 
12
47
  - chore(release): correctifs intermédiaires des PR fusionnées par les lots #1079 et précédents (commit de fusion), déjà décrits par le fragment de leur PR : 1ef3a7e4, df5d4745, c9ab5169, 1327282a, 6f8f19ba, 12ede29d, fe3db122, d92ca3d1, adcfed29, 1a2eb076, 2635f82b, 279bd31b
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: grimoire-kit
3
- Version: 3.75.0
3
+ Version: 3.77.0
4
4
  Summary: Dashboard, task board, project memory and evidence check for code you delegate to agents (Claude Code, Copilot).
5
5
  Project-URL: Homepage, https://github.com/Guilhem-Bonnet/Grimoire-kit
6
6
  Project-URL: Repository, https://github.com/Guilhem-Bonnet/Grimoire-kit
@@ -0,0 +1,11 @@
1
+ ---
2
+ audience: contributeur
3
+ ---
4
+
5
+ # Captures I1 — prévenir d'une décision attendue
6
+
7
+ Playwright, projet de test avec deux décisions en attente, le 2026-10-29. Le titre d'onglet relevé par `page.title()` dans les trois cas est « (2) Grimoire — vue de travail ».
8
+
9
+ - `interrupteur-{clair,sombre}.png` : barre d'état à 1440 px, interrupteur « Me prévenir dans le navigateur » actif (`aria-pressed="true"`).
10
+ - `interrupteur-390px.png` : la même barre à 390 px — icône seule, nom accessible conservé, aucun défilement horizontal.
11
+ - `reglage-{clair,sombre,390px}.png` : carte « Commande de notification » de Configuration, avec ses boutons Enregistrer et Tester.
@@ -0,0 +1,12 @@
1
+ ---
2
+ audience: contributeur
3
+ ---
4
+
5
+ # Captures P42 — correction mémoire déléguée à un agent
6
+
7
+ Quatre captures, clair et sombre, de l'inspecteur Savoir (cockpit, kit 3.73.0, projet de démonstration `forge-p34`) :
8
+
9
+ - `p42-demander-une-correction-*.png` : « Demander une correction… » ouvert sur une décision en vigueur ; mode « Remplacer par une entrée corrigée », consigne libre, bouton « Créer la tâche » ;
10
+ - `p42-tache-creee-*.png` : après envoi, le retour nomme la tâche créée (`GAO-corriger-la-002`) et son critère vérifiable (« l'entrée … est remplacée par une entrée qui porte … ») ; l'entrée d'origine reste lisible.
11
+
12
+ Validées par Claude sous délégation explicite de Guilhem (2026-10-28 : « tu as le droit d'approuver tout en mon nom » ; 2026-10-29 : « fais aussi les revues »), le 2026-10-29 : le parcours est complet, lisible dans les deux thèmes, sans action destructive implicite (« Supprimer… » reste distinct et en rouge).
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema": "grimoire-kit-file-hashes/v1",
3
- "generated_for": "3.75.0",
3
+ "generated_for": "3.77.0",
4
4
  "digests": {
5
5
  "002d1e68ce00769ee09d1e94f4af260b952837f7d1557080c2fd505216c23ac0": {
6
6
  "version": "3.11.2",
@@ -0,0 +1 @@
1
+ __version__ = "3.77.0"
@@ -13,4 +13,5 @@ from grimoire.cli._lazy import LazyGroupSpec
13
13
  #: Nom → groupe, dans l'ordre d'affichage de ``grimoire --help --all``.
14
14
  EXTRA_GROUPS: dict[str, LazyGroupSpec] = {
15
15
  "steward": LazyGroupSpec("grimoire.cli.cmd_steward", "steward_app", rich_help_panel="Project"),
16
+ "idea": LazyGroupSpec("grimoire.cli.cmd_idea", "idea_app", rich_help_panel="Project"),
16
17
  }
@@ -606,7 +606,7 @@ def doctor(
606
606
 
607
607
  with _timed_phase("host_brake"): # P86 : le frein de la version d'hôte courante est-il prouvé ?
608
608
  from grimoire.cli.doctor_brake import apply_host_brake_check
609
- apply_host_brake_check(results, fmt=fmt, console=console)
609
+ apply_host_brake_check(results, fmt=fmt, console=console, project_root=target)
610
610
 
611
611
  # 4quinquies. Override drift (issue #427) — un override est une copie ou
612
612
  # une extension du kit, jamais une garantie qu'il en reçoit encore les
@@ -6,8 +6,6 @@ projet ; ses demandes de permission sont posées dans le terminal. Rien n'est ac
6
6
 
7
7
  from __future__ import annotations
8
8
 
9
- import os
10
- import shlex
11
9
  import sys
12
10
  from pathlib import Path
13
11
  from typing import Annotated
@@ -16,6 +14,7 @@ import typer
16
14
  from rich.console import Console
17
15
 
18
16
  from grimoire.acp import AcpClient, AcpError, PermissionRequest
17
+ from grimoire.core.command_line import split_command
19
18
  from grimoire.hosts.capabilities import profile_for, resolve_host
20
19
 
21
20
  console = Console(stderr=True)
@@ -23,19 +22,6 @@ console = Console(stderr=True)
23
22
  _ALLOW = ("allow_once", "allow_always")
24
23
 
25
24
 
26
- def split_command(text: str, *, posix: bool | None = None) -> tuple[str, ...]:
27
- """Découpe une ligne de commande comme le shell du système : sous Windows, l'antislash n'est pas un échappement.
28
-
29
- ``shlex`` en mode POSIX lit ``C:\\tools\\python.exe`` comme ``C:toolspython.exe`` (CI Windows du 2026-10-28) ;
30
- hors POSIX, il garde les antislashs mais laisse les guillemets autour d'un argument, retirés ici.
31
- """
32
- posix = os.name != "nt" if posix is None else posix
33
- parts = shlex.split(text, posix=posix)
34
- if not posix:
35
- parts = [p[1:-1] if len(p) >= 2 and p[0] == p[-1] == '"' else p for p in parts]
36
- return tuple(parts)
37
-
38
-
39
25
  def ask_in_terminal(request: PermissionRequest) -> str | None:
40
26
  """Pose la demande au terminal ; une réponse vide, invalide ou un EOF annule."""
41
27
  console.print(f"\n[bold yellow]Permission demandée[/bold yellow] (outil {request.tool_call_id})")
@@ -35,6 +35,7 @@ import typer
35
35
  from rich.console import Console
36
36
  from rich.table import Table
37
37
 
38
+ from grimoire.cli.cockpit_http import DRAIN_LIMIT, CountingReader, gzip_body, serve_asset, warm_sheet
38
39
  from grimoire.data import site_script, web_path
39
40
  from grimoire.tools.cockpit_registry_routes import REGISTRY_ROUTES, registry_post
40
41
  from grimoire.tools.project_registry import (
@@ -82,12 +83,14 @@ console = Console(stderr=True)
82
83
  # écrivent le même fichier, et deux copies de cette logique finiraient par
83
84
  # diverger. Seul le dossier de service reste propre au cockpit.
84
85
 
86
+
85
87
  def _serve_dir() -> Path:
86
88
  return registry_home() / "serve"
87
89
 
88
90
 
89
91
  # ── Daemon helpers (background start/stop) ────────────────────────────────────
90
92
 
93
+
91
94
  def _read_state() -> dict[str, Any] | None:
92
95
  """État du démon, ``None`` quand il n'y en a pas — les appelants testent la
93
96
  présence d'un cockpit démarré, pas le contenu d'un dictionnaire vide."""
@@ -128,6 +131,7 @@ def _terminate(pid: int) -> bool:
128
131
  # ── Registry I/O ──────────────────────────────────────────────────────────────
129
132
  # Délégué à ``grimoire.tools.project_registry`` (voir les imports en tête).
130
133
 
134
+
131
135
  def _resolve_project_path(slug: str | None) -> Path | None:
132
136
  """Map a registry slug to its absolute project path (first project if slug is empty)."""
133
137
  projects = load_registry()
@@ -276,66 +280,31 @@ def _run_memory_in_process(proot: Path, argv: list[str]) -> _CliResult:
276
280
  pool.shutdown(wait=False)
277
281
 
278
282
 
279
- #: Borne du drainage d'un corps refusé, comme ``request_guard.drain_body``.
280
- _DRAIN_LIMIT = 1 << 20
281
-
282
-
283
- class _CountingReader:
284
- """``rfile`` qui compte les octets lus — pour savoir ce qu'il reste du corps.
285
-
286
- ``http.client`` envoie l'en-tête et le corps en deux ``send`` distincts ;
287
- sous charge, le serveur peut parser l'en-tête, refuser (403/404), répondre
288
- et fermer avant que le corps n'arrive. Le corps atteint alors un socket
289
- fermé : RST, que Windows répercute au client en jetant la réponse déjà
290
- reçue (``WinError 10053``, #857). Compter ce qui a été lu permet à
291
- :meth:`_CockpitHandler._drain_unread_body` de consommer *exactement* le
292
- reste déclaré par ``Content-Length`` avant de répondre, sans jamais
293
- bloquer sur un corps déjà lu.
294
- """
295
-
296
- def __init__(self, raw: Any) -> None:
297
- self._raw = raw
298
- self.consumed = 0
299
-
300
- def read(self, *args: Any) -> bytes:
301
- data: bytes = self._raw.read(*args)
302
- self.consumed += len(data)
303
- return data
304
-
305
- def readline(self, *args: Any) -> bytes:
306
- data: bytes = self._raw.readline(*args)
307
- self.consumed += len(data)
308
- return data
309
-
310
- def __getattr__(self, name: str) -> Any:
311
- return getattr(self._raw, name)
312
-
313
-
314
283
  class _CockpitHandler(SimpleHTTPRequestHandler):
315
284
  """Static file server + a tiny POST ``/api/memory`` governance endpoint."""
316
285
 
317
286
  def log_message(self, *args: object) -> None:
318
287
  return # quiet by default
319
288
 
320
- def send_header(self, keyword: str, value: str) -> None:
321
- super().send_header(keyword, value)
322
- # Seuls les fichiers statiques portent ``Last-Modified``. Sans
323
- # ``Cache-Control``, le navigateur gardait d'anciens modules JS/CSS
324
- # après une mise à jour du kit ; icons.svg et polices prennent une
325
- # minute (``no-cache`` y coûtait une requête par rendu d'icône).
326
- if keyword.lower() == "last-modified":
327
- js_css = Path(urlparse(self.path).path).suffix.lower() in {".js", ".mjs", ".css"}
328
- super().send_header("Cache-Control", "no-cache" if js_css else "max-age=60")
289
+ # P94 : HTTP/1.1 et keep-alive — une connexion TCP sert plusieurs requêtes.
290
+ # Chaque réponse porte un ``Content-Length`` ; seuls les flux SSE
291
+ # (``Connection: close``) n'en ont pas. Un client silencieux libère son
292
+ # fil au bout de ``timeout`` secondes.
293
+ protocol_version = "HTTP/1.1"
294
+ timeout = 60
295
+ # En-tête et corps partent en deux écritures : sans cela, Nagle + ACK différé
296
+ # retardent le corps d'~40 ms par réponse sur une connexion qui reste ouverte.
297
+ disable_nagle_algorithm = True
329
298
 
330
299
  def setup(self) -> None:
331
300
  super().setup()
332
- self.rfile = _CountingReader(self.rfile) # type: ignore[assignment]
301
+ self.rfile = CountingReader(self.rfile) # type: ignore[assignment]
333
302
 
334
303
  def parse_request(self) -> bool:
335
304
  ok = super().parse_request()
336
305
  # Les octets lus jusqu'ici sont la ligne de requête et les en-têtes ;
337
306
  # à partir de maintenant, le compteur ne mesure que le corps.
338
- cast(_CountingReader, self.rfile).consumed = 0
307
+ cast(CountingReader, self.rfile).consumed = 0
339
308
  return ok
340
309
 
341
310
  def _drain_unread_body(self) -> None:
@@ -346,12 +315,12 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
346
315
  réponse (``ConnectionAbortedError``). Le reste est borné par
347
316
  ``Content-Length`` et ignoré, jamais interprété.
348
317
  """
349
- rfile = cast(_CountingReader, self.rfile)
318
+ rfile = cast(CountingReader, self.rfile)
350
319
  try:
351
320
  declared = int(self.headers.get("Content-Length") or 0)
352
321
  except (ValueError, TypeError):
353
322
  return
354
- remaining = min(declared - rfile.consumed, _DRAIN_LIMIT)
323
+ remaining = min(declared - rfile.consumed, DRAIN_LIMIT)
355
324
  if remaining > 0:
356
325
  with contextlib.suppress(OSError, ValueError):
357
326
  rfile.read(remaining)
@@ -406,11 +375,13 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
406
375
  # (``HTTP/1.0``), l'en-tête le dit au client, et le tampon est vidé
407
376
  # avant que ``finish`` ne ferme le socket.
408
377
  self._drain_unread_body()
409
- body = json.dumps(payload).encode("utf-8")
378
+ body = json.dumps(payload, separators=(",", ":")).encode("utf-8")
410
379
  self.send_response(code)
411
380
  self.send_header("Content-Type", "application/json; charset=utf-8")
381
+ body = gzip_body(self, body)
412
382
  self.send_header("Content-Length", str(len(body)))
413
- self.send_header("Connection", "close")
383
+ if self.close_connection: # le client l'a demandé (ou l'erreur de requête l'impose) : on le dit
384
+ self.send_header("Connection", "close")
414
385
  self.end_headers()
415
386
  self.wfile.write(body)
416
387
  self.wfile.flush()
@@ -445,16 +416,20 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
445
416
  target = Path(self.translate_path(self.path))
446
417
  if target.is_dir():
447
418
  target = target / "index.html"
448
- if target.suffix.lower() != ".html" or not target.is_file():
419
+ if not target.is_file():
449
420
  super().do_GET()
450
421
  return
451
- body = inject_session_token(target.read_bytes())
452
- self.send_response(200)
453
- self.send_header("Content-Type", "text/html; charset=utf-8")
454
- self.send_header("Content-Length", str(len(body)))
455
- self.send_header("Cache-Control", "no-store")
456
- self.end_headers()
457
- self.wfile.write(body)
422
+ if target.suffix.lower() == ".html":
423
+ body = inject_session_token(target.read_bytes())
424
+ self.send_response(200)
425
+ self.send_header("Content-Type", "text/html; charset=utf-8")
426
+ self.send_header("Cache-Control", "no-store")
427
+ body = gzip_body(self, body)
428
+ self.send_header("Content-Length", str(len(body)))
429
+ self.end_headers()
430
+ self.wfile.write(body)
431
+ return
432
+ serve_asset(self, target)
458
433
 
459
434
  def do_GET(self) -> None: # http.server contract
460
435
  parsed = urlparse(self.path)
@@ -505,6 +480,8 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
505
480
  self.send_response(200)
506
481
  for name, value in STREAM_HEADERS:
507
482
  self.send_header(name, value)
483
+ # Un flux n'a pas de longueur : sous HTTP/1.1 il se clôt avec la connexion.
484
+ self.send_header("Connection", "close")
508
485
  self.end_headers()
509
486
  self.close_connection = True
510
487
  try:
@@ -882,6 +859,7 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
882
859
  return
883
860
  if gesture:
884
861
  from grimoire.tools.workspace_memory_gestures import handle as memory_gesture
862
+
885
863
  self._send_json(*memory_gesture(proot, data))
886
864
  return
887
865
  subcmd = action
@@ -919,11 +897,17 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
919
897
  except TimeoutError:
920
898
  self._send_json(504, {"ok": False, "error": "timeout"})
921
899
  return
922
- self._send_json(200, {
923
- "ok": res.returncode == 0, "code": res.returncode,
924
- "stdout": res.stdout, "stderr": res.stderr, "action": action,
925
- "mutation": is_mutation,
926
- })
900
+ self._send_json(
901
+ 200,
902
+ {
903
+ "ok": res.returncode == 0,
904
+ "code": res.returncode,
905
+ "stdout": res.stdout,
906
+ "stderr": res.stderr,
907
+ "action": action,
908
+ "mutation": is_mutation,
909
+ },
910
+ )
927
911
 
928
912
  def do_PUT(self) -> None: # http.server contract
929
913
  """``PUT /api/blueprints/<id>`` — enregistrer un blueprint (issue #535).
@@ -969,6 +953,7 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
969
953
 
970
954
  # ── Commands ──────────────────────────────────────────────────────────────────
971
955
 
956
+
972
957
  @cockpit_app.command("add")
973
958
  def add(
974
959
  path: Annotated[Path, typer.Argument(help="Path to a local Grimoire project.")],
@@ -1271,7 +1256,9 @@ def _generate_data(serve_dir: Path, with_tests: bool) -> bool:
1271
1256
 
1272
1257
  @cockpit_app.command("refresh")
1273
1258
  def refresh(
1274
- with_tests: Annotated[bool, typer.Option("--with-tests", help="Run pytest --collect-only per project (slow).")] = False,
1259
+ with_tests: Annotated[
1260
+ bool, typer.Option("--with-tests", help="Run pytest --collect-only per project (slow).")
1261
+ ] = False,
1275
1262
  ) -> None:
1276
1263
  """Regenerate the cockpit data layer without serving."""
1277
1264
  serve_dir = _serve_dir()
@@ -1279,8 +1266,7 @@ def refresh(
1279
1266
  if _generate_data(serve_dir, with_tests):
1280
1267
  console.print(f"[green]✓[/green] Données régénérées → {serve_dir / 'data'}")
1281
1268
  else:
1282
- console.print("[dim]Aucun projet enregistré — rien à générer. "
1283
- "[b]grimoire cockpit scan <dossier>[/b][/dim]")
1269
+ console.print("[dim]Aucun projet enregistré — rien à générer. [b]grimoire cockpit scan <dossier>[/b][/dim]")
1284
1270
 
1285
1271
 
1286
1272
  @cockpit_app.command("serve")
@@ -1288,7 +1274,9 @@ def serve(
1288
1274
  port: Annotated[int, typer.Option("--port", "-p", help="Local port.")] = 8420,
1289
1275
  open_browser: Annotated[bool, typer.Option("--open/--no-open", help="Open the browser.")] = True,
1290
1276
  do_refresh: Annotated[bool, typer.Option("--refresh/--no-refresh", help="Regenerate data before serving.")] = True,
1291
- with_tests: Annotated[bool, typer.Option("--with-tests", help="Run pytest --collect-only per project (slow).")] = False,
1277
+ with_tests: Annotated[
1278
+ bool, typer.Option("--with-tests", help="Run pytest --collect-only per project (slow).")
1279
+ ] = False,
1292
1280
  project_root: Annotated[
1293
1281
  Path | None,
1294
1282
  typer.Option("--project-root", help="Projet à ouvrir (défaut : dossier courant)."),
@@ -1305,8 +1293,10 @@ def serve(
1305
1293
  console.print("[green]✓[/green] Data layer régénéré depuis le registre.")
1306
1294
  else:
1307
1295
  console.print("[dim]Registre vide → cockpit vide (aucune donnée inventée).[/dim]")
1308
- console.print("[dim]Ajoute des projets : [b]grimoire cockpit add <path>[/b] "
1309
- "ou [b]grimoire cockpit scan <dossier>[/b][/dim]")
1296
+ console.print(
1297
+ "[dim]Ajoute des projets : [b]grimoire cockpit add <path>[/b] "
1298
+ "ou [b]grimoire cockpit scan <dossier>[/b][/dim]"
1299
+ )
1310
1300
  if cwd_notice is None:
1311
1301
  notice = _unregistered_cwd_notice(load_registry())
1312
1302
  if notice:
@@ -1330,6 +1320,10 @@ def serve(
1330
1320
  console.print(f"[bold green]Cockpit[/bold green] → [link]{url}[/link] [dim](Ctrl-C pour arrêter)[/dim]")
1331
1321
  if open_browser:
1332
1322
  webbrowser.open(url)
1323
+ if _HOME_PATH is not None:
1324
+ # P94 : la première lecture de la fiche paie imports et caches froids ;
1325
+ # elle se fait ici, avant que la page ne la demande.
1326
+ threading.Thread(target=warm_sheet, args=(_HOME_PATH,), daemon=True).start()
1333
1327
  try:
1334
1328
  httpd.serve_forever()
1335
1329
  except KeyboardInterrupt:
@@ -1342,7 +1336,9 @@ def serve(
1342
1336
  def start(
1343
1337
  port: Annotated[int, typer.Option("--port", "-p", help="Local port.")] = 8420,
1344
1338
  open_browser: Annotated[bool, typer.Option("--open/--no-open", help="Open the browser.")] = True,
1345
- with_tests: Annotated[bool, typer.Option("--with-tests", help="Run pytest --collect-only per project (slow).")] = False,
1339
+ with_tests: Annotated[
1340
+ bool, typer.Option("--with-tests", help="Run pytest --collect-only per project (slow).")
1341
+ ] = False,
1346
1342
  ) -> None:
1347
1343
  """Start the cockpit in the background (non-blocking) and open it."""
1348
1344
  state = _read_state()
@@ -1361,11 +1357,11 @@ def start(
1361
1357
  if _generate_data(serve_dir, with_tests):
1362
1358
  console.print("[green]✓[/green] Data layer régénéré depuis le registre.")
1363
1359
  else:
1364
- console.print("[dim]Registre vide → cockpit vide. "
1365
- "[b]grimoire cockpit add <path>[/b] ou [b]scan <dossier>[/b][/dim]")
1360
+ console.print(
1361
+ "[dim]Registre vide → cockpit vide. [b]grimoire cockpit add <path>[/b] ou [b]scan <dossier>[/b][/dim]"
1362
+ )
1366
1363
 
1367
- cmd = [sys.executable, "-m", "grimoire", "cockpit", "serve",
1368
- "--port", str(port), "--no-open", "--no-refresh"]
1364
+ cmd = [sys.executable, "-m", "grimoire", "cockpit", "serve", "--port", str(port), "--no-open", "--no-refresh"]
1369
1365
  pid = _spawn_detached(cmd)
1370
1366
  url = f"http://127.0.0.1:{port}/workspace/index.html"
1371
1367
  for _ in range(24):
@@ -1423,15 +1419,21 @@ def status() -> None:
1423
1419
  # Le parcours est dans ``project_registry`` : ``grimoire serve`` expose la même
1424
1420
  # découverte depuis l'atelier (POST /api/projects/scan).
1425
1421
 
1422
+
1426
1423
  @cockpit_app.command("scan")
1427
1424
  def scan(
1428
1425
  root: Annotated[Path, typer.Argument(help="Root directory to crawl for local projects.")],
1429
1426
  depth: Annotated[int, typer.Option("--depth", help="Maximum crawl depth.")] = 4,
1430
- yes: Annotated[bool, typer.Option("--yes", "-y", help="Enrol all grimoire-managed projects without prompting.")] = False,
1431
- include_uninitialized: Annotated[bool, typer.Option(
1432
- "--include-uninitialized",
1433
- help="Also enrol bare git repos that are not grimoire-initialized.",
1434
- )] = False,
1427
+ yes: Annotated[
1428
+ bool, typer.Option("--yes", "-y", help="Enrol all grimoire-managed projects without prompting.")
1429
+ ] = False,
1430
+ include_uninitialized: Annotated[
1431
+ bool,
1432
+ typer.Option(
1433
+ "--include-uninitialized",
1434
+ help="Also enrol bare git repos that are not grimoire-initialized.",
1435
+ ),
1436
+ ] = False,
1435
1437
  ) -> None:
1436
1438
  """Discover projects under a root directory and enrol them in the cockpit."""
1437
1439
  base = root.expanduser().resolve()
@@ -1459,10 +1461,7 @@ def scan(
1459
1461
  table.add_row(_rel(cand.path), kind, reg)
1460
1462
  console.print(table)
1461
1463
 
1462
- to_enrol = [
1463
- c for c in candidates
1464
- if (c.managed or include_uninitialized) and str(c.path) not in registered_paths
1465
- ]
1464
+ to_enrol = [c for c in candidates if (c.managed or include_uninitialized) and str(c.path) not in registered_paths]
1466
1465
  uninitialized = [c for c in candidates if not c.managed]
1467
1466
 
1468
1467
  if to_enrol:
@@ -0,0 +1,118 @@
1
+ """CLI ``grimoire idea`` — la boîte à idées : garder maintenant, décider plus tard (I13)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from pathlib import Path
7
+ from typing import TYPE_CHECKING, Annotated
8
+
9
+ import typer
10
+ from rich.console import Console
11
+ from rich.markup import escape
12
+
13
+ if TYPE_CHECKING:
14
+ from grimoire.missions.ideas import Idea, IdeaStore
15
+
16
+ idea_app = typer.Typer(help="Boîte à idées : add, list, drop, promote.", no_args_is_help=True)
17
+ console = Console()
18
+
19
+ _PROJECT_ROOT = typer.Option("--project-root", help="Racine du projet.", show_default=False)
20
+ _LEDGER_ROOT = typer.Option("--ledger-root", help="Racine du Mission Ledger (relative au projet).")
21
+ _DEFAULT_LEDGER = Path("_grimoire-runtime-output/ledger")
22
+
23
+
24
+ def _store(project_root: Path, ledger_root: Path) -> IdeaStore:
25
+ from grimoire.missions.ideas import IdeaStore
26
+
27
+ return IdeaStore(project_root.resolve(), ledger_root)
28
+
29
+
30
+ def _fail(message: str) -> typer.Exit:
31
+ console.print(f"[red]✗[/red] {escape(message)}")
32
+ return typer.Exit(1)
33
+
34
+
35
+ def _line(idea: Idea) -> str:
36
+ tasks = f" → {', '.join(idea.tasks)}" if idea.tasks else ""
37
+ return f"{idea.id} {escape(f'[{idea.state}]')} {escape(idea.text)}{tasks}"
38
+
39
+
40
+ @idea_app.command("add")
41
+ def idea_add(
42
+ text: Annotated[str, typer.Argument(help="L'idée, en une phrase (500 caractères au plus).")],
43
+ project_root: Annotated[Path, _PROJECT_ROOT] = Path(),
44
+ ledger_root: Annotated[Path, _LEDGER_ROOT] = _DEFAULT_LEDGER,
45
+ json_output: Annotated[bool, typer.Option("--json", help="Sortie JSON.")] = False,
46
+ ) -> None:
47
+ """Garde une idée sans la trier."""
48
+ from grimoire.missions.ideas import IdeaError
49
+
50
+ try:
51
+ idea = _store(project_root, ledger_root).add(text, "cli")
52
+ except IdeaError as exc:
53
+ raise _fail(str(exc)) from exc
54
+ if json_output:
55
+ typer.echo(json.dumps(idea.to_dict(), indent=2, ensure_ascii=False))
56
+ return
57
+ console.print(f"[green]✓[/green] {_line(idea)}")
58
+
59
+
60
+ @idea_app.command("list")
61
+ def idea_list(
62
+ project_root: Annotated[Path, _PROJECT_ROOT] = Path(),
63
+ ledger_root: Annotated[Path, _LEDGER_ROOT] = _DEFAULT_LEDGER,
64
+ state: Annotated[str, typer.Option("--state", help="Filtrer : open, promoted ou dropped.")] = "",
65
+ json_output: Annotated[bool, typer.Option("--json", help="Sortie JSON.")] = False,
66
+ ) -> None:
67
+ """Les idées, dans l'ordre où elles ont été gardées."""
68
+ ideas = _store(project_root, ledger_root).list(state)
69
+ if json_output:
70
+ typer.echo(json.dumps([i.to_dict() for i in ideas], indent=2, ensure_ascii=False))
71
+ return
72
+ if not ideas:
73
+ console.print("[dim]Aucune idée.[/dim]")
74
+ for idea in ideas:
75
+ console.print(_line(idea))
76
+
77
+
78
+ @idea_app.command("drop")
79
+ def idea_drop(
80
+ idea_id: Annotated[str, typer.Argument(help="Identifiant de l'idée.")],
81
+ project_root: Annotated[Path, _PROJECT_ROOT] = Path(),
82
+ ledger_root: Annotated[Path, _LEDGER_ROOT] = _DEFAULT_LEDGER,
83
+ ) -> None:
84
+ """Écarte une idée ouverte (le journal garde la trace)."""
85
+ from grimoire.missions.ideas import IdeaError
86
+
87
+ try:
88
+ idea = _store(project_root, ledger_root).drop(idea_id)
89
+ except IdeaError as exc:
90
+ raise _fail(str(exc)) from exc
91
+ console.print(f"[green]✓[/green] {_line(idea)}")
92
+
93
+
94
+ @idea_app.command("promote")
95
+ def idea_promote(
96
+ idea_id: Annotated[str, typer.Argument(help="Identifiant de l'idée.")],
97
+ project_root: Annotated[Path, _PROJECT_ROOT] = Path(),
98
+ ledger_root: Annotated[Path, _LEDGER_ROOT] = _DEFAULT_LEDGER,
99
+ json_output: Annotated[bool, typer.Option("--json", help="Sortie JSON.")] = False,
100
+ ) -> None:
101
+ """Crée les tâches que l'intake propose (comme `task add --intake --create`), puis marque l'idée promue."""
102
+ from grimoire.core.exceptions import GrimoireError
103
+ from grimoire.missions.ideas import IdeaError
104
+ from grimoire.missions.service import TaskService
105
+
106
+ service = TaskService(project_root.resolve(), ledger_root)
107
+ try:
108
+ idea, created = _store(project_root, ledger_root).promote(idea_id, service)
109
+ except (IdeaError, GrimoireError, ValueError) as exc:
110
+ raise _fail(str(exc)) from exc
111
+ if json_output:
112
+ typer.echo(json.dumps({"idea": idea.to_dict(), "created": created}, indent=2, ensure_ascii=False))
113
+ return
114
+ console.print(f"[green]✓[/green] {_line(idea)}")
115
+ for entry in created:
116
+ console.print(f" {entry['id']} ({entry['status']}) {escape(entry['title'])}")
117
+ if entry["reason"]:
118
+ console.print(f" [yellow]{escape(entry['reason'])}[/yellow]")
@@ -900,6 +900,36 @@ def memory_recall(
900
900
  console.print(tbl)
901
901
 
902
902
 
903
+ # ── grimoire memory correct propose (P42) ──────────────────────────────────
904
+
905
+
906
+ correct_app = typer.Typer(help="Correction mémoire déléguée : l'agent propose, l'humain accepte.")
907
+ memory_app.add_typer(correct_app, name="correct")
908
+
909
+
910
+ @correct_app.command("propose")
911
+ def memory_correct_propose(
912
+ task_id: str = typer.Argument(..., help="Tâche de correction ouverte par « Demander une correction »."),
913
+ action: str = typer.Option(..., "--action", help="replace | merge | attach_source | retract."),
914
+ text: str = typer.Option("", "--text", help="Texte corrigé (replace, merge)."),
915
+ source: str = typer.Option("", "--source", help="Source à rattacher (attach_source)."),
916
+ reason: str = typer.Option("", "--reason", help="Raison (retract)."),
917
+ by: str = typer.Option("", "--by", help="Qui propose (agent ou session)."),
918
+ ) -> None:
919
+ """Déposer la correction comme proposition à accepter ou refuser — sans écrire dans la mémoire."""
920
+ from grimoire.memory.correction import propose_correction
921
+
922
+ _, root = _load_config_context()
923
+ try:
924
+ out = propose_correction(
925
+ root, task_id, action=action, text=text, source=source, reason=reason, proposed_by=by
926
+ )
927
+ except (ValueError, GrimoireMemoryError) as exc:
928
+ console.print(f"[red]{exc}[/red]")
929
+ raise typer.Exit(1) from None
930
+ console.print(f"Proposition {out['slug']} déposée (en attente) — à accepter : grimoire proposals accept {out['slug']}")
931
+
932
+
903
933
  # ── grimoire memory list ──────────────────────────────────────────────────────
904
934
 
905
935