grimoire-kit 3.82.0__tar.gz → 3.83.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/CHANGELOG.md +15 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/PKG-INFO +1 -1
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/registry/kit-file-hashes.json +1 -1
- grimoire_kit-3.83.0/src/grimoire/__version__.py +1 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/app.py +2 -1
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_cockpit.py +148 -159
- grimoire_kit-3.83.0/src/grimoire/cli/cmd_digest.py +69 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_waiting.py +19 -7
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cockpit_http.py +48 -4
- grimoire_kit-3.83.0/src/grimoire/cli/cockpit_memory.py +54 -0
- grimoire_kit-3.83.0/src/grimoire/cli/cockpit_write_target.py +134 -0
- grimoire_kit-3.83.0/src/grimoire/core/ansi.py +29 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/attestation.py +19 -2
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/collect.py +17 -10
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/human_turns.py +48 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/surface.py +79 -10
- grimoire_kit-3.83.0/src/grimoire/missions/digest.py +303 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/dispatch.py +5 -4
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/human_acceptance.py +24 -2
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/merger.py +6 -6
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/proposals.py +1 -1
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_api.py +42 -7
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_pulse.py +37 -1
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_read_cache.py +27 -4
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_routes.py +83 -77
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_work.py +50 -21
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_write_guard.py +9 -2
- grimoire_kit-3.83.0/src/grimoire/traces/task_index.py +169 -0
- grimoire_kit-3.83.0/version.txt +1 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/README.md +29 -13
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/api.js +95 -5
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/shell.css +42 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/shell.js +12 -17
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/a-traiter.js +1 -1
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/executer.js +13 -4
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/memoire.js +46 -21
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/task-create.js +8 -6
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/task-intake.js +8 -2
- grimoire_kit-3.82.0/src/grimoire/__version__.py +0 -1
- grimoire_kit-3.82.0/version.txt +0 -1
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/.gitignore +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/LICENSE +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/_grimoire/_config/custom/prompt-templates/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/agentic-standard/archetype.dna.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/agentic-standard/shared-context.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/creative-studio/agents/blender-expert.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/creative-studio/agents/brand-designer.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/creative-studio/agents/illustration-expert.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/creative-studio/archetype.dna.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/creative-studio/shared-context.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/creative-studio/skills/creative-content-copywriting.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/features/vector-memory/vectus.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/fix-loop/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/fix-loop/agents/fix-loop-orchestrator.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/fix-loop/archetype.dna.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/fix-loop/workflows/workflow-closed-loop-fix.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/infra-ops/agents/monitoring-specialist.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/infra-ops/agents/ops-engineer.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/infra-ops/agents/systems-debugger.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/infra-ops/archetype.dna.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/infra-ops/shared-context.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/infra-ops/skills/infra-backup-dr.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/infra-ops/skills/infra-k8s-gitops.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/infra-ops/skills/infra-pipeline-cicd.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/infra-ops/skills/infra-security-hardening.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/meta/agents/agent-optimizer.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/meta/agents/concierge.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/meta/agents/security-auditor.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/meta/archetype.dna.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/meta/skills/meta-art-direction.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/meta/skills/meta-memory-quality.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/meta/skills/meta-project-navigation.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/meta/skills/meta-toolsmithing.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/meta/skills/upgrade-review.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/minimal/agents/custom-agent.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/minimal/archetype.dna.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/platform-engineering/agents/backend-engineer.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/platform-engineering/agents/platform-architect.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/platform-engineering/archetype.dna.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/platform-engineering/shared-context.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/platform-engineering/skills/platform-deploy-release.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/platform-engineering/skills/platform-reliability-sre.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/platform-engineering/templates/architecture.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/stack/agents/stack-engineer.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/stack/archetype.dna.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/stack/skills/stack-ansible.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/stack/skills/stack-docker.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/stack/skills/stack-go.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/stack/skills/stack-k8s.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/stack/skills/stack-python.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/stack/skills/stack-terraform.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/stack/skills/stack-typescript.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/web-app/agents/fullstack-dev.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/web-app/archetype.dna.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/web-app/shared-context.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/archetypes/web-app/skills/web-frontend-ux.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/changelog.d/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/docs/assets/captures/i1/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/docs/assets/captures/p47/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/docs/captures/p42-correction/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/activated/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/index.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/package-lock.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/package.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/App.tsx +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/components/AddTaskForm.tsx +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/components/TaskItem.tsx +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/components/TaskList.tsx +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/main.tsx +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/styles.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/test/AddTaskForm.test.tsx +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/test/TaskList.test.tsx +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/test/setup.ts +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/src/types.ts +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/tsconfig.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/app/web/vite.config.ts +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/evals/witnesses/web-app-todo/enforced/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/examples/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/examples/blueprint-minimal/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/examples/blueprint-web-pipeline/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/examples/terraform-houseserver/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/examples/web-app-todo/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/autogen/artifacts/agents/autogen-conversation-runner.agent.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/autogen/artifacts/skills/autogen-conversation-design/SKILL.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/autogen/extension.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/autogen/scripts/verify-install.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/browser-use/artifacts/agents/browser-use-runner.agent.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/browser-use/artifacts/instructions/browser-evidence.instructions.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/browser-use/extension.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/browser-use/scripts/verify-install.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/crewai/artifacts/agents/crewai-crew-runner.agent.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/crewai/artifacts/hooks/crewai-telemetry-bridge.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/crewai/artifacts/hooks/crewai-telemetry-bridge.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/crewai/artifacts/prompts/crewai-import-crew.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/crewai/artifacts/skills/crewai-crew-design/SKILL.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/crewai/extension.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/crewai/scripts/register-hooks.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/crewai/scripts/unregister-hooks.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/crewai/scripts/verify-install.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/extension.schema.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/fennara-godot/artifacts/skills/godot-evidence-loop/SKILL.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/fennara-godot/extension.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/fennara-godot/scripts/setup-mcp.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/fennara-godot/scripts/teardown-mcp.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/fennara-godot/scripts/verify-install.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/grimoire-mcp/artifacts/instructions/mcp-trust-gate.instructions.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/grimoire-mcp/artifacts/skills/grimoire-mcp-setup/SKILL.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/grimoire-mcp/extension.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/grimoire-mcp/scripts/verify-install.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/haystack/artifacts/instructions/haystack-rag-governance.instructions.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/haystack/artifacts/skills/haystack-pipeline-design/SKILL.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/haystack/extension.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/haystack/scripts/verify-install.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langfuse/artifacts/hooks/langfuse-trace-export.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langfuse/artifacts/hooks/langfuse-trace-export.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langfuse/artifacts/instructions/langfuse-observability.instructions.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langfuse/artifacts/skills/langfuse-tracing-setup/SKILL.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langfuse/extension.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langfuse/scripts/register-hooks.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langfuse/scripts/unregister-hooks.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langfuse/scripts/verify-install.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langgraph/artifacts/agents/langgraph-graph-runner.agent.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langgraph/artifacts/prompts/langgraph-import-graph.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langgraph/artifacts/skills/langgraph-graph-design/SKILL.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langgraph/extension.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/extensions/langgraph/scripts/verify-install.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/FREEZE.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agent-base-compact.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agent-base.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agent-mesh-network.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agent-relationship-graph.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agent-rules.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agent2agent.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-industry-reference.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/capability-map.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/needs-catalog.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/profile-map.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/target-schema.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/acceptance-record.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/accepted-risks.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/blast-radius-policy.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/browser-tool-contract.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/capability-registry.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/claim-ledger.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/cluster-action-policy.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/compliance-declaration.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/compliance-score.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/compression-gate.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/context-contract.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/cost-registry.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/decision-council.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/decision-graph.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/doc-graph-pipeline.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/environment-policy.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/evidence-gates.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/evidence-pack.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/flow-dsl-manifest.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/guardrail-contract.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/hook-registry.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/incident-registry.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/k8s-agent-manifest.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/knowledge-source-registry.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/llm-provider-registry.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/memory-integrity.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/memory-policy.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/merge-lane.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/mission-brief.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/observability-policy.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/orchestration-policy.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/pattern-catalog.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/privilege-boundary.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/prompt-firewall.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/prompt-version-log.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/remediation-plan.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/remote-hygiene.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/retention-registry.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/risk-control-matrix.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/rule-packs.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/runtime-provider-contract.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/runtime-surface-registry.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/task-board.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/task-envelope.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/tool-registry.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/visual-evidence.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/waivers.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/workflow-state-manifest.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/templates/workspace-isolation.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/agentic-standard/traceability.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/archetype-dna.schema.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/cc-reference.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/cc-verify.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/context-router.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot/instructions/grimoire-project.instructions.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot/prompts/grimoire-changelog.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot/prompts/grimoire-dream.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot/prompts/grimoire-health-check.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot/prompts/grimoire-pre-push.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot/prompts/grimoire-self-heal.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot/prompts/grimoire-session-bootstrap.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot/prompts/grimoire-status.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot/prompts/grimoire-upgrade-review.prompt.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/copilot-extension/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/cross-validation-trust.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/delivery-contract.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/event-log-shared-state.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-architecture-haut-niveau.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-aws.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-azure.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-c.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-cloudflare.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-cpp.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-csharp.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-design-patterns.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-elixir.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-gcp.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-hetzner.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-java.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-kotlin.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-kubernetes-managed.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-ovh.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-performance.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-php.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-ruby.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-rust.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-scala.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-scaleway.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-securite-applicative.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-swift.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-systemes-bas-niveau.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/expertises/skills/expertise-testing-avancee.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/glossary.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/grimoire-trace.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/honest-uncertainty-protocol.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hooks/.pre-commit-config.tpl.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hooks/commit-msg.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hooks/mnemo-consolidate.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hooks/post-checkout.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hooks/post-commit.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hooks/pre-commit-cc.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hooks/pre-push.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hooks/prepare-commit-msg.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hosts/commands/grimoire-doctor.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hosts/commands/grimoire-gate.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hosts/commands/grimoire-proof.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hosts/commands/grimoire-recall.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hosts/commands/grimoire-verify.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hosts/skills/grimoire-agent-dispatch.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hosts/skills/grimoire-evidence.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hosts/skills/grimoire-memory.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hosts/skills/grimoire-steward.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/hybrid-parallelism-engine.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/mcp/grimoire-mcp-server.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/.gitignore +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/backends/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/backends/backend_lexical.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/backends/backend_local.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/backends/backend_ollama.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/backends/backend_qdrant_local.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/backends/backend_qdrant_server.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/contradiction-log.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/dependency-graph.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/docker-compose.memory-target.tpl.yml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/docker-compose.memory.tpl.yml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/failure-museum.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/handoff-log.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/k8s-qdrant.tpl.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/maintenance.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/mem0-bridge.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/memory_seed.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/network-topology.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/oss-references.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/requirements/requirements-minimal.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/requirements/requirements-ollama.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/requirements/requirements-qdrant.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/requirements.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/memory/session-save.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/orchestrator-gateway.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/productive-conflict-engine.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/audit-report.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/capacity-planning.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/compliance-check.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/dependency-updates.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/design-tokens.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/network-troubleshoot.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/operational-mode.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/periodic-report.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/secret-rotation.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/strategic-plan.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/prompt-templates/troubleshoot.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/question-escalation-chain.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/registry/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/selective-huddle-protocol.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/sessions/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/sil-collect.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/adversarial-consensus.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/agent-bench.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/agent-caller.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/agent-darwinism.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/agent-debugger.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/agent-forge.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/agent-integrity.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/agent-test.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/agent-watch.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/agent-worker.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/antifragile-score.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/auto-doc.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/context-guard.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/context-summarizer.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/cross-migrate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/dep-check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/distill.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/dna-evolve.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/dream.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/expert-tool-chain.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/failure-museum.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/gen-tests.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/grimoire-completion.zsh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/grimoire-mcp-tools.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/grimoire-setup.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/image-prompt.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/incubator.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/llm-router.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/memory-lint.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/memory-sync.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/message-bus.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/nso.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/observatory.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/preflight-check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/quick-check.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/rag-indexer.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/rag-retriever.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/reasoning-stream.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/schema-validator.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/session-lifecycle.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/stigmergy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/stigmergy_hooks/scripts/stigmergy-emit-post-edit.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/stigmergy_hooks/scripts/stigmergy-emit-stop.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/stigmergy_hooks/scripts/stigmergy-sense.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/stigmergy_hooks/scripts/stigmergy_hook.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/stigmergy_hooks/stigmergy-emit.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/stigmergy_hooks/stigmergy-sense.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/swarm-consensus.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/synapse-trace.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/token-budget.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/tool-registry.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/tool-resolver.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/vision-judge.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/tools/web-browser.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/workflows/boomerang-orchestration.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/workflows/github-cc-check.yml.tpl +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/workflows/incident-response.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/workflows/party-mode.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/workflows/repo-map-generator.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/workflows/state-checkpoint.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/workflows/subagent-orchestration.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/workflows/workflow-graph.tpl.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/framework/workflows/workflow-status.tpl.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/planning/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/pyproject.toml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/registry/blueprints/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/registry/blueprints/project-upgrade.blueprint.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/registry/expertises.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/rust/grimoire-acp-core/pyproject.toml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/rust/grimoire-dispatch-core/pyproject.toml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/rust/grimoire-flows-core/pyproject.toml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/rust/grimoire-hosts-core/pyproject.toml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/rust/grimoire-policies-core/pyproject.toml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/rust/grimoire-schema-core/pyproject.toml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/rust/grimoire-traces-core/pyproject.toml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/scripts/gen-site-data.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/__main__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/acp/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/acp/client.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/acp/machine.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/archetypes/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/bridges/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/bridges/a2a_adapter.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/bridges/host.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/bridges/schemas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/_condensed_help.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/_lazy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/_lazy_extra.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/_registry_dispatches_report.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/_shared.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_agent.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_autonomy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_blueprint.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_blueprint_import.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_cadrage.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_ceremony.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_chat.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_context_pack.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_debugger.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_dispatch.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_evidence.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_expertise.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_ext.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_features.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_flow.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_gates.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_hooks.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_host.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_idea.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_init.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_mcp.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory_bundle.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory_gestures.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory_knowledge.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory_lexical.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory_ops.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory_packs.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory_projections.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory_rules.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_memory_shared.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_merge.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_migrate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_mission.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_needs.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_onboard.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_orchestrate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_phase.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_plans.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_policies.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_proposals.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_providers.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_queue.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_route.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_self_bundle.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_self_update.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_serve.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_setup.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_standard.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_standard_claims.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_steward.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_stigmergy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_a2a.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_add.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_approve.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_import.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_portfolio.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_questions.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_review.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_usage.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_wave.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_task_worktree.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_team.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_up.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_up_prove.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_up_task_unification.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_upgrade.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_upgrade_flow.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_verify_install.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_web.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/cmd_workflows.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/doctor_acp.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/doctor_brake.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/doctor_hooks.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/doctor_instructions.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/doctor_mcp.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/doctor_memory.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/doctor_notify.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/doctor_skills.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/env_checks.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/init_memory.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/init_questions.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/cli/updater.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/codegraph/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/codegraph/backends/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/codegraph/backends/neo4j.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/codegraph/freshness.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/codegraph/graph.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/codegraph/parser.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/codegraph/schemas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/agent_freshness.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/agentic_standard.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/archetype_resolver.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/cadrage.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/cadrage_requirements.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/claude_activation.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/command_line.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/config.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/console_encoding.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/context_bundle_memory.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/deprecation.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/error_codes.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/exceptions.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/execution_needs.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/expertises.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/fsio.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/grounding.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/integrity.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/kit_hashes.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/layered_rules.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/layout.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/learned_rules.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/log.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/merge.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/needs_suggest.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/onboarding_panel.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/override_drift.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/policy_budget_guard_check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/profile_floor_doctor.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/project.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/project_capabilities.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/project_kind.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/project_types.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/request_memo.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/resolver.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/rule_resolution.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/safe_git.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/scaffold.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/scanner.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/schema.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/stack_pack_verifiers.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/stack_packs.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/stack_skills.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/acceptance_test_run.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/base.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/cadrage_ledger_check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/claim_ledger_verify.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/claim_proof_resolve.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/controls.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/criterion_coverage.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/dispatch_cost_slo.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/evidence_chain.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/evidence_journal.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/evidence_resolve.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/gate_codegraph.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/gate_remedy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/gate_review_checks.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/gate_test_run.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/hot_memory_check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/no_tests_collected.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/observability_check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/pattern_codes.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/plan_then_execute_check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/registry.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/rules_check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/runtime_journal_check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/skills_check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/tree_fingerprint.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_checks/verifiers.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_effective_profile.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_generation.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_profile_manifest.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_state.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_task_scaffold.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_traceability.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/standard_upstream.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/task_board_ledger.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/task_unification_doctor.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/core/validator.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/costs.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/data/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/data/bench/longmemeval-sample.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/data/stack-packs/python.yaml +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/evidence/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/evidence/schemas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/evidence/service.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/autonomy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/blueprint_loader.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/directive.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/dispatch_executor.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/doctor.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/engine.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/executor.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/extract.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/fingerprint.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/genres.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/live_runs.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/pilot.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/registry.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/schemas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/flows/transfer.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/acp_hosts.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/capabilities.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/contract_probe.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/_shared.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/activation.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/authority_guard.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/calibration.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/chain_ack.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/context_capsule.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/done_gate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/enrolment.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/event_trace.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/evidence_gate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/evidence_trace.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/gate_override.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/gate_summary.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/instruction_scan.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/lease_brake.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/pause_brake.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/profile_floor.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/record.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/repetition_guard.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/self_view.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/session_memory.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/steering.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/subagent_gate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/task_context.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/tool_facts.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/decisions/tool_policy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/detection.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/emitters/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/emitters/base.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/emitters/claude_code.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/emitters/copilot.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/emitters/generic.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/emitters/opencode.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/emitters/rules.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/events.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/hook_launcher.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/host_version.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/matrix.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/probe.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/runtime.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/secrets.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/skill_spec.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/hosts/sync.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/mcp/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/mcp/idea_tools.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/mcp/memory_gestures.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/mcp/project.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/mcp/server.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/architecture.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/_qdrant_mixin.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/base.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/lexical.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/local.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/mempalace.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/ollama.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/qdrant.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/tantivy_local.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/backends/weaviate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/bundle.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/chromadb_native_probe.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/correction.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/embedding.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/gestures.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/health_cache.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/hot.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/journal.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/knowledge.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/longmemeval.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/manager.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/migration.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/neo4j_backfill.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/neo4j_graph.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/profiles.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/projections.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/reads_log.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/retrieval.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/shared.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/sidecar.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/split.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/store_probe.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/supersession.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/taxonomy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/memory/validation.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/admission.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/autopilot.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/board.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/breaker.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/cadrage_plan.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ceremony.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ceremony_budget.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/check_gate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ci_slots.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/decisions.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/declarative_evidence.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/diff_fingerprint.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/dispatch_advice.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/dispatch_history.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/dispatch_worktree.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/effects.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/empty_green.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ended.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/external_merge.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/finition.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/gates.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ideas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/intake.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/intake_tasks.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/janitor.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/launcher.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/lease.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ledger.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ledger_append.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ledger_files.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ledger_links.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ledger_rules.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ledger_snapshot.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/ledger_views.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/liveness.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/mandate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/manual_review.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/orchestrate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/orchestrator_policy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/orchestrator_session.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/pause.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/plan_import.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/plans_registry.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/prepush_fence.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/provider_failure.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/question_gestures.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/question_rounds.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/question_v2.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/questions.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/recall.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/reclaim.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/report.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/reservation.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/review_receipt.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/review_seal.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/review_verdict.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/reviewer.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/route_dispatch.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/route_report.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/router.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/routing_policy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/schemas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/service.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/session_link.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/task_flow_adapter.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/task_unification.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/task_worktree.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/team_units.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/timer.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/trace.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/usage_fold.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/verifiability.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/verify.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/waiting.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/wave_checkpoint.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/waves.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/missions/worker_provider.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/onboarding/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/onboarding/brownfield.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/onboarding/facts.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/onboarding/scan_js.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/onboarding/scan_manifests.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/onboarding/scan_python.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/policies/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/policies/engine.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/policies/rules_config.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/policies/schemas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/policies/security.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/policies/session_state.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/policies/temporal.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/providers/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/providers/audit.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/providers/data_policy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/providers/quota.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/providers/registry.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/providers/routing.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/providers/secrets.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/providers/state.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/py.typed +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/registry/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/registry/agents.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/registry/discovery.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/registry/local.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/repo_gates/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/runtime/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/runtime/adapter_base.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/runtime/crewai_adapter.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/runtime/gascity_converter.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/runtime/kernel.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/runtime/langgraph_adapter.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/runtime/recipes.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/runtime/schemas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/steward/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/steward/project_map.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/steward/report.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/steward/sources.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/steward/verdicts.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/_common.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/agent_creation.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_checkpoint.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_context.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_diff.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_eval_runner.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_evals.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_gate.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_primitives.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_resilience.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_scatter.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_security.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/blueprint_telemetry.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/cockpit_registry_routes.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/context_pack.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/cost_model.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/ext_manager.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/features.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/flow_runs.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/forge_http.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/forge_routes.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/forge_server.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/handoff.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/harmony_check.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/install_receipt.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/install_trust.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/mcp_processes.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/memory_link.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/memory_lint.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/memory_setup.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/memory_vectors.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/model_windows.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/project_health.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/project_registry.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/project_setup.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/project_update.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/project_upgrade.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/request_guard.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/serve_data.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/source_assist.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/stigmergy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/stigmergy_hooks.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/untrusted.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/update_bundle.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/update_bundle_build.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/update_channels.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/upgrade_changes.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/upgrade_preview.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/view_cache.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_actions.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_attention.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_capacity.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_chat.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_chat_kanban.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_chat_pilot.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_config.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_exec.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_first_launch.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_graph.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_hygiene.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_ideas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_knowledge.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_language.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_launch_apply.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_launch_preflight.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_legacy.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_machine.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_memory.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_memory_gestures.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_notify.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_portfolio.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_providers_write.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_recall.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_reviews.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_session_feed.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_sessions.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_setup_guide.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_since.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_slots.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/tools/workspace_task_gates.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/traces/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/traces/intervals.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/traces/ledger.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/traces/observatory_feed.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/traces/otel_conventions.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/traces/otlp.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/traces/runtime_spans.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/traces/schemas.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/traces/transcript_usage.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/workflows/__init__.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/src/grimoire/workflows/registry.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/DESIGN-BRIEF-memory.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/DESIGN-BRIEF-observability.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/DESIGN-REVIEW-2026-09.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/DESIGN-SPEC-workspace-2026-09.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/anatomy.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/atelier-nav.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/atelier.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/atelier.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/blueprint-onboarding.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/blueprints.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-assist.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-composer.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-core.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-cost.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-diff.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-docs.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-evals.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-lexicon.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-library.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-manual.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-sections.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-team.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-team.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2-tour.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/bp2.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/activity.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/architecture.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/catalogue-export.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/extensions.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/insights.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/kit-coverage.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/memory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/meta.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/observatory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/atlas-ops/activity.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/atlas-ops/insights.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/atlas-ops/memory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/atlas-ops/meta.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/atlas-ops/observatory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/atlas-ops/taskboard.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/grimoire-kit/activity.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/grimoire-kit/insights.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/grimoire-kit/memory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/grimoire-kit/meta.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/grimoire-kit/observatory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/grimoire-kit/taskboard.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/ledger-data/activity.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/ledger-data/insights.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/ledger-data/memory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/ledger-data/meta.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/ledger-data/observatory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/ledger-data/taskboard.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/sentinel-sec/activity.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/sentinel-sec/insights.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/sentinel-sec/memory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/sentinel-sec/meta.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/sentinel-sec/observatory.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects/sentinel-sec/taskboard.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/projects.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/cloture-refusee-puis-acceptee.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/cloture-refusee-puis-acceptee.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/decision-humaine-attestee.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/decision-humaine-attestee.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/index.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/rappel-au-claim.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/rappel-au-claim.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/supersession.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/supersession.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/tri-v0-v1-v2.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/reels/tri-v0-v1-v2.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/data/taskboard.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/demo.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/Concevoir.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/ConcevoirClair.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/Couleurs.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/DAArdoise.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/DAPapier.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/DAStudio.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/DirectionB.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/DirectionC.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/DirectionD.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/Encre.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/EncreClair.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/Main.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/Mecaniques.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/Source.dc.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/canvas.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/concevoir-dark.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/concevoir-light.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/executer-dark.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/executer-light.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/memoire-dark.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/memoire-light.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/observer-dark.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/observer-light.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/piloter-dark.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/piloter-light.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/source-dark.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/captures/source-light.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/gen-couleurs.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/gen-skins.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design/workspace-2026-09/shell.tpl.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/01-cockpit-portefeuille-desktop.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/02-cockpit-portefeuille-full.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/03-cockpit-portefeuille-mobile.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/04-kanban-desktop.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/05-kanban-mobile.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/06-observatoire-desktop.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/07-observatoire-full.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/08-atelier-desktop.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/09-atelier-mobile.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/10-memoire-desktop.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/11-blueprints-desktop.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/12-extensions-desktop.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/13-patterns-desktop.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/14-cockpit-index-desktop.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/15-workspace-lot1-sombre-decouverte.png +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/16-workspace-lot1-clair-decouverte.png +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/17-workspace-lot1-sombre-concentration.png +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/design-review-2026-09/18-workspace-lot1-clair-concentration.png +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/documentation.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/extensions.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/Geist-Variable-latin.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/GeistMono-Variable-latin.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/JetBrainsMono-Regular.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/OFL-instrument.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/OFL-jetbrains.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/OFL.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/fonts.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/instrument-sans-400.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/instrument-sans-500.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/fonts/instrument-sans-600.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/forge-base.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/forge-charts.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/forge-landing.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/forge-motion.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/forge-motion.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/forge-nav.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/forge-observatory.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/forge-tokens.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/game-ui.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/grimoire-mode.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/index.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/kanban.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/labs.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/media/capture-reelle.png +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/media/teaser-720.mp4 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/media/teaser-poster.jpg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/memory.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/observability.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/patterns.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/portfolio.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/project-picker.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/.gitignore +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/README.md +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/audio4.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/build4.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/clips.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/cues.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/cues.mjs +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/detect_green.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/fonts/JetBrainsMono-Regular.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/fonts/OFL-InstrumentSans.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/fonts/OFL-JetBrainsMono.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/fonts/instrument-sans-400.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/fonts/instrument-sans-500.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/fonts/instrument-sans-600.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/footage-sources.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/icons/board.svg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/icons/fleet.svg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/icons/inbox.svg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/icons/pr.svg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/icons/sliders.svg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/icons/tag.svg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/master.sh +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/prep_footage.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/render.mjs +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/scene4.tpl.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/screens.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/shots.mjs +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/storyboard.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/teaser/terminal.json +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/tools/check-links.py +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/activity.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/chat.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/fonts/GeistMono-Medium.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/fonts/GeistMono-Regular.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/fonts/InstrumentSans-Variable.woff2 +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/fonts/OFL-InstrumentSans.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/fonts/OFL.txt +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/glossary.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/icons/NOTICE +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/icons.svg +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/index.html +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/live.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/markdown.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/notify.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/score.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/setup-state.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/a-traiter-group.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/a-traiter-since.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/board-split.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/capacite.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/carte-worker.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/carte.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/code-projection.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/concevoir.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/configurer.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/decision-card.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/demarrer.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/donnees.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/memoire-gestes.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/observer.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/piloter.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/rappel.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/recall-receipt.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/registre.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/revue.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/sante.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/sessions.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/source-editor.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/source.css +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/spaces/source.js +0 -0
- {grimoire_kit-3.82.0 → grimoire_kit-3.83.0}/web/workspace/tokens.css +0 -0
|
@@ -7,6 +7,21 @@ et ce projet adhère au [Semantic Versioning](https://semver.org/lang/fr/).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.83.0] - 2026-11-08
|
|
11
|
+
|
|
12
|
+
- perf(cockpit): la lecture du journal de session qui nourrit le payload `work` est bornée à 1 Mio par passe (1,9 s → 188 ms sur cinq journaux de 20 Mo), et la palette de la coque demande `annotations=0` pour que le montage de la Flotte ne paie plus jamais cette lecture (#1010) (#1171)
|
|
13
|
+
- fix(missions): `task accept` lit le pack de preuve dans le worktree de la tâche, sans `--evidence-root`, et la question du merger donne la commande complète (#1169) (#1181)
|
|
14
|
+
- fix(hosts): deux personas au même faisceau (outils, contexte, skills) restent distinctes quand leur corps (fiche) diffère — le refus « même faisceau et même fiche » ne frappe plus que des définitions réellement identiques (corps normalisé, ou description à défaut de corps) (#1180) (#1182)
|
|
15
|
+
- fix(flows): un réveil programmé, une notification de tâche de fond ou un `claude -p` n'attestent plus un geste humain ; l'origine du tour est lue dans le journal de session de l'hôte par `prompt_id` (#992) (#1172)
|
|
16
|
+
- feat(cockpit): écrire sur n'importe quel projet enrôlé depuis un seul cockpit (lot 1) (#1178)
|
|
17
|
+
- feat(cockpit): gestes sensibles sur un autre projet avec confirmation nommée (lot 2) (#1184)
|
|
18
|
+
- feat(cli): `grimoire digest` résume un fichier ou stdin par le fournisseur `chat`/`cheap` le moins cher (local préféré), découpe les textes longs et cite les lignes d'erreur mot pour mot ; les séquences ANSI (CSI/OSC) sont retirées de toute sortie de fournisseur, y compris pour `task dispatch`. (#1174)
|
|
19
|
+
- perf(cockpit): les digests des fichiers de l'espace Source sont mémoïsés par `(mtime_ns, taille)` — seule une modification recalcule son empreinte (#1175)
|
|
20
|
+
- perf(cockpit): le cache de lecture sert aussi l'ouverture de page — `tasks`, `attention`, `sessions` et `sheet` sont servis depuis le cache sans `pulse_reload`, l'empreinte du pouls couvre désormais `traces.jsonl` et les journaux écrits hors cockpit (tick, flows, preuves, reçus de revue), et ces routes JSON répondent `304` sur `If-None-Match` (#1176)
|
|
21
|
+
- fix(cockpit): le refus d'une porte reste affiché — le pouls ne reconstruit plus l'inspecteur pendant une écriture en vol, sinon le refus partait dans un bloc déjà détaché et la page ne montrait rien (#1176)
|
|
22
|
+
- fix(cockpit): une ouverture de page ne se dessine qu'une fois — la réponse de la boîte à idées ne relance plus un dessin complet quand la liste n'a pas changé (le tableau était reconstruit ~0,5 s après l'ouverture, faisait relire `tasks`/`sessions` et détachait le DOM sous les yeux de l'e2e mobile) (#1176)
|
|
23
|
+
- perf(cockpit): `/api/workspace/tasks` et `/api/workspace/attention` ne reparcourent plus les 11 Mo de `traces.jsonl` à chaque requête — un index incrémental par `task_id` garde le regroupement en mémoire, indexé par `(mtime_ns, size)`, ne consomme que les lignes complètes ajoutées, et reconstruit sur troncature ou changement d'inode. Mesuré le 2026-11-07 (`curl -w %{time_total}`, journal de 10,5 Mo / 11 658 lignes) : `tasks` de 0,54–0,85 s à 0,24–0,27 s, `attention` de 0,81–1,25 s à 0,26–0,59 s à chaud ; la chaîne de regroupement des traces passe de 0,240 s à 0,0002 s après un unique parse complet (GAO-perf-cockpit-001) (#1177)
|
|
24
|
+
|
|
10
25
|
## [3.82.0] - 2026-11-07
|
|
11
26
|
|
|
12
27
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: grimoire-kit
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.83.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 @@
|
|
|
1
|
+
__version__ = "3.83.0"
|
|
@@ -1311,6 +1311,7 @@ LazyTyperGroup.configure(
|
|
|
1311
1311
|
"up": LazyCommandSpec("grimoire.cli.cmd_up", "up", rich_help_panel="Project"),
|
|
1312
1312
|
"chat": LazyCommandSpec("grimoire.cli.cmd_chat", "chat_command", rich_help_panel="Project"),
|
|
1313
1313
|
"context-pack": LazyCommandSpec("grimoire.cli.cmd_context_pack", "context_pack_command", rich_help_panel="Data"),
|
|
1314
|
+
"digest": LazyCommandSpec("grimoire.cli.cmd_digest", "digest_command", rich_help_panel="Data"),
|
|
1314
1315
|
"migrate": LazyCommandSpec("grimoire.cli.cmd_migrate", "migrate_command", rich_help_panel="Project"),
|
|
1315
1316
|
"upgrade": LazyCommandSpec("grimoire.cli.cmd_upgrade", "upgrade_command", rich_help_panel="Utilities"),
|
|
1316
1317
|
"verify-install": LazyCommandSpec("grimoire.cli.cmd_verify_install", "verify_install_command", rich_help_panel="Utilities"),
|
|
@@ -1322,7 +1323,7 @@ LazyTyperGroup.configure(
|
|
|
1322
1323
|
# `LazyTyperGroup.configure`'s docstring for why this is needed.
|
|
1323
1324
|
order=[
|
|
1324
1325
|
"version", "init", "doctor", "status", "add", "remove", "agent-miss",
|
|
1325
|
-
"validate", "lint", "update", "up", "context-pack", "migrate", "upgrade", "verify-install",
|
|
1326
|
+
"validate", "lint", "update", "up", "context-pack", "digest", "migrate", "upgrade", "verify-install",
|
|
1326
1327
|
"serve", "diff", "schema", "check", "merge", "setup", "env", "history",
|
|
1327
1328
|
"repair",
|
|
1328
1329
|
"memory", "hooks", "cadrage", "phase", "debugger", "dbg", "registry", "workflows",
|
|
@@ -35,7 +35,29 @@ 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
|
|
38
|
+
from grimoire.cli.cockpit_http import (
|
|
39
|
+
DRAIN_LIMIT,
|
|
40
|
+
CountingReader,
|
|
41
|
+
gzip_body,
|
|
42
|
+
send_json,
|
|
43
|
+
serve_asset,
|
|
44
|
+
warm_sheet,
|
|
45
|
+
)
|
|
46
|
+
from grimoire.cli.cockpit_memory import (
|
|
47
|
+
ALLOWED_ACTIONS,
|
|
48
|
+
MEMORY_TIMEOUT_S,
|
|
49
|
+
MUTATION_ACTIONS,
|
|
50
|
+
is_plain_argument,
|
|
51
|
+
)
|
|
52
|
+
from grimoire.cli.cockpit_write_target import (
|
|
53
|
+
body_confirms_slug,
|
|
54
|
+
enrolled_write_root,
|
|
55
|
+
explicit_query_slug,
|
|
56
|
+
journal_confirmation,
|
|
57
|
+
query_slug,
|
|
58
|
+
sensitive_write_refusal,
|
|
59
|
+
unresolvable_status,
|
|
60
|
+
)
|
|
39
61
|
from grimoire.data import site_script, web_path
|
|
40
62
|
from grimoire.tools.cockpit_registry_routes import REGISTRY_ROUTES, registry_post
|
|
41
63
|
from grimoire.tools.project_registry import (
|
|
@@ -48,11 +70,11 @@ from grimoire.tools.project_registry import (
|
|
|
48
70
|
projects_payload,
|
|
49
71
|
read_state,
|
|
50
72
|
register_project,
|
|
73
|
+
registered_root,
|
|
51
74
|
registry_file,
|
|
52
75
|
registry_home,
|
|
53
76
|
resolve_within_allowed,
|
|
54
77
|
save_registry,
|
|
55
|
-
selected_slug,
|
|
56
78
|
set_selected_slug,
|
|
57
79
|
slug_for_path,
|
|
58
80
|
state_file,
|
|
@@ -67,6 +89,7 @@ from grimoire.tools.request_guard import (
|
|
|
67
89
|
new_session_token,
|
|
68
90
|
)
|
|
69
91
|
from grimoire.tools.workspace_legacy import legacy_redirect_target
|
|
92
|
+
from grimoire.tools.workspace_read_cache import cacheable_read
|
|
70
93
|
from grimoire.tools.workspace_write_guard import cockpit_journal_path, guard_write
|
|
71
94
|
|
|
72
95
|
cockpit_app = typer.Typer(
|
|
@@ -143,12 +166,11 @@ def _resolve_project_path(slug: str | None) -> Path | None:
|
|
|
143
166
|
return Path(projects[0]["path"]) if projects else None
|
|
144
167
|
|
|
145
168
|
|
|
146
|
-
# Slug du projet
|
|
147
|
-
#
|
|
148
|
-
#
|
|
149
|
-
#
|
|
150
|
-
#
|
|
151
|
-
# une navigation Flotte, et fermée sur tout autre projet du registre.
|
|
169
|
+
# Slug du projet ouvert par défaut par CE process (#351/#356), figé au
|
|
170
|
+
# démarrage. Depuis le lot 1 (2026-11-07), il ne restreint plus les écritures
|
|
171
|
+
# (voir `cockpit_write_target`) ; il sert au repli de lecture (`home` de
|
|
172
|
+
# `/api/status`) et, depuis le lot 2, à distinguer le projet d'ouverture (geste
|
|
173
|
+
# historique) d'un autre projet enrôlé (confirmation nommée).
|
|
152
174
|
_HOME_SLUG: str | None = None
|
|
153
175
|
|
|
154
176
|
# Chemin du projet servi, figé au démarrage : la garde P02 compare des chemins,
|
|
@@ -187,13 +209,10 @@ def _project_api(proot: Path) -> Any:
|
|
|
187
209
|
# Governance API (127.0.0.1 only): allowlisted ``grimoire memory`` reads, confirmed
|
|
188
210
|
# mutations and correction gestures (P34), the last two on the served project only.
|
|
189
211
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
"list": [],
|
|
195
|
-
"taxonomy": [],
|
|
196
|
-
}
|
|
212
|
+
_LOCAL_HOSTS = frozenset({"127.0.0.1", "::1", "localhost"})
|
|
213
|
+
|
|
214
|
+
# Les actions mémoire (listes blanches, mutations, arguments sûrs) vivent dans
|
|
215
|
+
# ``grimoire.cli.cockpit_memory`` pour tenir le cliquet de taille de ce module.
|
|
197
216
|
|
|
198
217
|
|
|
199
218
|
def _forget_live_reads() -> None:
|
|
@@ -203,40 +222,6 @@ def _forget_live_reads() -> None:
|
|
|
203
222
|
workspace_read_cache.clear()
|
|
204
223
|
|
|
205
224
|
|
|
206
|
-
@dataclass(frozen=True)
|
|
207
|
-
class _Mutation:
|
|
208
|
-
"""A governed write action — runs only with explicit confirmation."""
|
|
209
|
-
|
|
210
|
-
args: tuple[str, ...] = ()
|
|
211
|
-
needs_id: bool = False
|
|
212
|
-
subcommand: str | None = None # defaults to the action name
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
# Each mutation maps to a real ``grimoire memory`` command and needs ``confirm: true``.
|
|
216
|
-
_MUTATION_ACTIONS: dict[str, _Mutation] = {
|
|
217
|
-
"gc": _Mutation(), # consolidate / compact the store
|
|
218
|
-
"delete": _Mutation(args=("--yes",), needs_id=True), # remove one entry by id
|
|
219
|
-
# resync the Weaviate / Neo4j projections from the source store (reindex, no loss)
|
|
220
|
-
"sync": _Mutation(subcommand="gate", args=("--sync", "--soft")),
|
|
221
|
-
}
|
|
222
|
-
_LOCAL_HOSTS = frozenset({"127.0.0.1", "::1", "localhost"})
|
|
223
|
-
|
|
224
|
-
# Longueur d'argument bornée : une requête n'a pas à pousser un roman dans argv.
|
|
225
|
-
_MAX_ARGUMENT_LEN = 512
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
def _is_plain_argument(value: str) -> bool:
|
|
229
|
-
"""Vrai si la valeur peut être passée à la CLI comme simple positionnel.
|
|
230
|
-
|
|
231
|
-
Le dispatch n'utilise pas de shell, donc il n'y a pas d'injection de shell
|
|
232
|
-
possible — mais une valeur commençant par ``-`` serait lue comme une option
|
|
233
|
-
par la sous-commande. On refuse ce cas, les octets nuls et les longueurs
|
|
234
|
-
déraisonnables, et on passe malgré tout les valeurs après ``--``.
|
|
235
|
-
"""
|
|
236
|
-
return bool(value) and not value.startswith("-") and "\x00" not in value and len(value) <= _MAX_ARGUMENT_LEN
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
_MEMORY_TIMEOUT_S = 30
|
|
240
225
|
# CliRunner remplace ``sys.stdout``/``sys.stderr`` pour tout le processus : deux
|
|
241
226
|
# invocations simultanées s'écraseraient la sortie. Ce verrou ne protège que cela
|
|
242
227
|
# (pas le répertoire courant, jamais modifié).
|
|
@@ -273,7 +258,7 @@ def _run_memory_in_process(proot: Path, argv: list[str]) -> _CliResult:
|
|
|
273
258
|
|
|
274
259
|
pool = ThreadPoolExecutor(max_workers=1)
|
|
275
260
|
try:
|
|
276
|
-
return pool.submit(_invoke_memory_cli, proot, argv).result(timeout=
|
|
261
|
+
return pool.submit(_invoke_memory_cli, proot, argv).result(timeout=MEMORY_TIMEOUT_S)
|
|
277
262
|
except FutureTimeout:
|
|
278
263
|
raise TimeoutError from None
|
|
279
264
|
finally:
|
|
@@ -362,6 +347,7 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
362
347
|
journal=cockpit_journal_path(),
|
|
363
348
|
with_body=has_body(self.headers),
|
|
364
349
|
peer=self.client_address[0],
|
|
350
|
+
project=self._explicit_query_slug() or None,
|
|
365
351
|
)
|
|
366
352
|
if refused:
|
|
367
353
|
self._send_json(refused[0], {"ok": False, "error": refused[1]})
|
|
@@ -369,22 +355,16 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
369
355
|
return False
|
|
370
356
|
return True
|
|
371
357
|
|
|
372
|
-
def
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
self.send_header("Content-Length", str(len(body)))
|
|
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")
|
|
385
|
-
self.end_headers()
|
|
386
|
-
self.wfile.write(body)
|
|
387
|
-
self.wfile.flush()
|
|
358
|
+
def _journal_confirmation(self, route: str, project: str, confirm_project: str) -> bool:
|
|
359
|
+
"""Lot 2 : le journal de la garde note le slug ET la confirmation nommée."""
|
|
360
|
+
error = journal_confirmation(self.command, route, project, confirm_project)
|
|
361
|
+
if error:
|
|
362
|
+
self._send_json(503, {"ok": False, "error": error})
|
|
363
|
+
return False
|
|
364
|
+
return True
|
|
365
|
+
|
|
366
|
+
def _send_json(self, code: int, payload: dict[str, object], *, etag: bool = False) -> None:
|
|
367
|
+
send_json(self, code, payload, etag=etag)
|
|
388
368
|
|
|
389
369
|
def send_error(self, code: int, message: str | None = None, explain: str | None = None) -> None:
|
|
390
370
|
# Même contrat pour les refus de ``http.server`` lui-même (501, 404
|
|
@@ -396,20 +376,24 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
396
376
|
# ── Lectures : registre + API projet, repli statique ──────────────────
|
|
397
377
|
|
|
398
378
|
def _query_slug(self) -> str:
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
379
|
+
return query_slug(self.path)
|
|
380
|
+
|
|
381
|
+
def _explicit_query_slug(self) -> str:
|
|
382
|
+
return explicit_query_slug(self.path)
|
|
383
|
+
|
|
384
|
+
def _enrolled_write_root(self) -> Path | None:
|
|
385
|
+
return enrolled_write_root(self.path)
|
|
386
|
+
|
|
387
|
+
def _is_enrolled_write_target(self) -> bool:
|
|
388
|
+
"""Vrai si l'écriture vise un projet enrôlé au dossier présent.
|
|
389
|
+
|
|
390
|
+
Remplace ``_is_home_request()`` : un slug absent de l'URL ou du
|
|
391
|
+
registre, ou un dossier disparu, ferme la porte (échec fermé).
|
|
411
392
|
"""
|
|
412
|
-
return
|
|
393
|
+
return self._enrolled_write_root() is not None
|
|
394
|
+
|
|
395
|
+
def _body_confirms_slug(self, body: Any) -> bool:
|
|
396
|
+
return body_confirms_slug(body, self.path)
|
|
413
397
|
|
|
414
398
|
def _serve_static(self) -> None:
|
|
415
399
|
"""Fichier statique ; une page HTML reçoit le jeton de session."""
|
|
@@ -462,12 +446,18 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
462
446
|
except PermissionError as exc:
|
|
463
447
|
self._send_json(403, {"ok": False, "error": str(exc)})
|
|
464
448
|
return
|
|
449
|
+
if path == "/api/status":
|
|
450
|
+
readonly = unresolvable_status(self.path, _HOME_SLUG)
|
|
451
|
+
if readonly is not None:
|
|
452
|
+
self._send_json(200, readonly)
|
|
453
|
+
return
|
|
465
454
|
proot = _resolve_project_path(self._query_slug() or None)
|
|
466
455
|
if proot is None or not proot.is_dir():
|
|
467
456
|
self._send_json(404, {"ok": False, "error": "projet inconnu"})
|
|
468
457
|
return
|
|
469
458
|
from grimoire.tools.workspace_routes import (
|
|
470
459
|
CHAT_STREAM_PATH,
|
|
460
|
+
LIVE_ROUTES,
|
|
471
461
|
STREAM_HEADERS,
|
|
472
462
|
STREAM_PATH,
|
|
473
463
|
chat_stream,
|
|
@@ -493,10 +483,11 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
493
483
|
except ConnectionError:
|
|
494
484
|
pass # la page est partie : fin du flux, pas une panne
|
|
495
485
|
return
|
|
486
|
+
query = parse_qs(urlparse(self.path).query)
|
|
496
487
|
try:
|
|
497
488
|
from grimoire.tools.forge_routes import API_GET_UNHANDLED, api_get
|
|
498
489
|
|
|
499
|
-
payload = api_get(_project_api(proot), path,
|
|
490
|
+
payload = api_get(_project_api(proot), path, query)
|
|
500
491
|
except FileNotFoundError as exc:
|
|
501
492
|
# Même traduction que l'atelier (``forge_http.py::do_GET``) et que
|
|
502
493
|
# ``do_POST`` ci-dessous : un refus métier (tâche inconnue, chemin hors
|
|
@@ -544,21 +535,21 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
544
535
|
# Même forme de réponse que l'atelier : la charge utile brute, pour que
|
|
545
536
|
# le même code de page fonctionne contre les deux serveurs. Seul
|
|
546
537
|
# ``/api/status`` est enrichi, pour que l'UI sache si l'hôte accepte
|
|
547
|
-
# des mutations. Depuis
|
|
548
|
-
#
|
|
549
|
-
#
|
|
550
|
-
#
|
|
551
|
-
# ``home`` nomme
|
|
552
|
-
# en tire le geste « Revenir à … », ``None`` si le cockpit n'en a pas.
|
|
538
|
+
# des mutations. Depuis le lot 1 de l'écriture multi-projets, TOUT
|
|
539
|
+
# projet enrôlé en accepte : ``readOnly`` ne veut plus dire « pas le
|
|
540
|
+
# projet d'ouverture » mais « projet absent du registre, ou dossier
|
|
541
|
+
# disparu » — la seule cible qu'une écriture ne peut pas résoudre.
|
|
542
|
+
# ``home`` nomme le projet ouvert par défaut (P31).
|
|
553
543
|
if path == "/api/status" and isinstance(payload, dict):
|
|
544
|
+
slug = self._query_slug()
|
|
554
545
|
payload = {
|
|
555
546
|
**payload,
|
|
556
547
|
"host": "cockpit",
|
|
557
|
-
"readOnly": not
|
|
558
|
-
"project":
|
|
548
|
+
"readOnly": not slug or registered_root(slug=slug) is None,
|
|
549
|
+
"project": slug,
|
|
559
550
|
"home": _HOME_SLUG or None,
|
|
560
551
|
}
|
|
561
|
-
self._send_json(200, payload)
|
|
552
|
+
self._send_json(200, payload, etag=cacheable_read(path, query, live_routes=LIVE_ROUTES))
|
|
562
553
|
|
|
563
554
|
def do_POST(self) -> None: # http.server contract
|
|
564
555
|
# P79 : toute écriture passée par le cockpit (tâche, agent, réglage…) peut changer ce que les lectures du direct
|
|
@@ -630,23 +621,22 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
630
621
|
# Le wizard exécute (issue #171) : `grimoire serve` n'est plus
|
|
631
622
|
# qu'un alias déprécié de cette commande (#351), donc c'est ICI —
|
|
632
623
|
# pas dans `forge_http.py` — que passe toute requête réelle du
|
|
633
|
-
# navigateur.
|
|
634
|
-
#
|
|
635
|
-
#
|
|
636
|
-
|
|
637
|
-
if
|
|
624
|
+
# navigateur. Depuis le lot 1 de l'écriture multi-projets, le
|
|
625
|
+
# projet visé doit être ENRÔLÉ (résolu par le registre seul), pas
|
|
626
|
+
# forcément celui que ce process a ouvert.
|
|
627
|
+
proot = self._enrolled_write_root()
|
|
628
|
+
if proot is None:
|
|
638
629
|
self._send_json(403, {"ok": False, "error": "hôte en lecture seule"})
|
|
639
630
|
return
|
|
640
|
-
proot = _resolve_project_path(self._query_slug() or None)
|
|
641
|
-
if proot is None or not proot.is_dir():
|
|
642
|
-
self._send_json(404, {"ok": False, "error": "projet inconnu"})
|
|
643
|
-
return
|
|
644
631
|
try:
|
|
645
632
|
length = int(self.headers.get("Content-Length", 0))
|
|
646
633
|
body = json.loads(self.rfile.read(length) or b"{}") if length else {}
|
|
647
634
|
except (ValueError, json.JSONDecodeError):
|
|
648
635
|
self._send_json(400, {"ok": False, "error": "bad json"})
|
|
649
636
|
return
|
|
637
|
+
if not self._body_confirms_slug(body):
|
|
638
|
+
self._send_json(403, {"ok": False, "error": "le projet du corps ne correspond pas à l'URL"})
|
|
639
|
+
return
|
|
650
640
|
try:
|
|
651
641
|
result = _project_api(proot).setup_plan(body)
|
|
652
642
|
except ValueError as exc:
|
|
@@ -694,46 +684,42 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
694
684
|
return
|
|
695
685
|
if path.startswith(WORKSPACE_PREFIX):
|
|
696
686
|
# Écritures de la vue de travail (réclamer/réaliser une tâche,
|
|
697
|
-
#
|
|
698
|
-
# l'
|
|
699
|
-
#
|
|
700
|
-
#
|
|
701
|
-
#
|
|
702
|
-
#
|
|
703
|
-
#
|
|
704
|
-
#
|
|
705
|
-
# migrer les tâches d'un board vers le Mission Ledger
|
|
706
|
-
# (`is_registry_scoped_write`, #559 suite/#560) : ces deux
|
|
707
|
-
# écritures-là ouvrent la même porte que
|
|
708
|
-
# `POST /api/projects/update` juste au-dessus, parce que valider
|
|
709
|
-
# ou refuser un artefact déjà proposé, ou migrer les tâches d'un
|
|
710
|
-
# projet qu'on pilote depuis la flotte, sont les gestes explicites
|
|
711
|
-
# et ponctuels que le cockpit existe pour rendre possible sur
|
|
712
|
-
# toute la flotte, pas seulement sur le projet de lancement.
|
|
713
|
-
# Chaque dérogation est nommée : le reste de `WORKSPACE_PREFIX`
|
|
714
|
-
# (écrire un fichier, réclamer une tâche…) reste `_HOME_SLUG`
|
|
715
|
-
# seulement.
|
|
687
|
+
# décider une proposition, migrer un board, écrire un fichier…).
|
|
688
|
+
# Lot 1 de l'écriture multi-projets : la cible est le projet
|
|
689
|
+
# ENRÔLÉ nommé par `?project=`, résolu par le registre seul — le
|
|
690
|
+
# cockpit peut donc écrire sur n'importe quel projet qu'il pilote,
|
|
691
|
+
# pas seulement sur celui qu'il a ouvert. Lot 2 : `file/write`,
|
|
692
|
+
# `file/override` et `command` suivent la même résolution, mais
|
|
693
|
+
# exigent `confirm_project` égal au slug visé dès que la cible
|
|
694
|
+
# n'est pas le projet d'ouverture (voir `is_sensitive_write`).
|
|
716
695
|
from grimoire.tools.workspace_routes import (
|
|
717
696
|
WORKSPACE_UNHANDLED,
|
|
718
|
-
|
|
719
|
-
is_registry_scoped_write,
|
|
697
|
+
is_sensitive_write,
|
|
720
698
|
workspace_post,
|
|
721
699
|
)
|
|
722
700
|
|
|
723
|
-
|
|
724
|
-
if
|
|
701
|
+
proot = self._enrolled_write_root()
|
|
702
|
+
if proot is None:
|
|
725
703
|
self._send_json(403, {"ok": False, "error": "hôte en lecture seule"})
|
|
726
704
|
return
|
|
727
|
-
proot = _resolve_project_path(self._query_slug() or None)
|
|
728
|
-
if proot is None or not proot.is_dir():
|
|
729
|
-
self._send_json(404, {"ok": False, "error": "projet inconnu"})
|
|
730
|
-
return
|
|
731
705
|
try:
|
|
732
706
|
length = int(self.headers.get("Content-Length", 0))
|
|
733
707
|
body = json.loads(self.rfile.read(length) or b"{}") if length else {}
|
|
734
708
|
except (ValueError, json.JSONDecodeError):
|
|
735
709
|
self._send_json(400, {"ok": False, "error": "bad json"})
|
|
736
710
|
return
|
|
711
|
+
if not self._body_confirms_slug(body):
|
|
712
|
+
self._send_json(403, {"ok": False, "error": "le projet du corps ne correspond pas à l'URL"})
|
|
713
|
+
return
|
|
714
|
+
slug = self._explicit_query_slug()
|
|
715
|
+
if is_sensitive_write(path):
|
|
716
|
+
refusal = sensitive_write_refusal(body, self.path, _HOME_SLUG)
|
|
717
|
+
if refusal:
|
|
718
|
+
self._send_json(403, {"ok": False, "error": refusal})
|
|
719
|
+
return
|
|
720
|
+
confirmed = str(body.get("confirm_project") or "").strip() if isinstance(body, dict) else ""
|
|
721
|
+
if not self._journal_confirmation(path, slug, confirmed):
|
|
722
|
+
return
|
|
737
723
|
|
|
738
724
|
# Même traduction que l'atelier (``forge_http.py::do_POST``) : sans
|
|
739
725
|
# elle, un refus métier (skill inconnu, agent introuvable, chemin
|
|
@@ -765,15 +751,12 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
765
751
|
# persiste la section `compiled` dans le blueprint d'origine
|
|
766
752
|
# (voir sa docstring) : ce n'est pas un calcul comme
|
|
767
753
|
# `/validate`/`/simulate` juste en dessous. Même garde que
|
|
768
|
-
# `/api/setup` et `PUT` :
|
|
769
|
-
#
|
|
770
|
-
|
|
754
|
+
# `/api/setup` et `PUT` : le projet visé doit être enrôlé (lot 1
|
|
755
|
+
# de l'écriture multi-projets).
|
|
756
|
+
proot = self._enrolled_write_root()
|
|
757
|
+
if proot is None:
|
|
771
758
|
self._send_json(403, {"ok": False, "error": "hôte en lecture seule"})
|
|
772
759
|
return
|
|
773
|
-
proot = _resolve_project_path(self._query_slug() or None)
|
|
774
|
-
if proot is None or not proot.is_dir():
|
|
775
|
-
self._send_json(404, {"ok": False, "error": "projet inconnu"})
|
|
776
|
-
return
|
|
777
760
|
try:
|
|
778
761
|
length = int(self.headers.get("Content-Length", 0))
|
|
779
762
|
body = json.loads(self.rfile.read(length) or b"{}") if length else {}
|
|
@@ -796,12 +779,11 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
796
779
|
# Calcul, pas écriture : `blueprint_lint`/`blueprint_simulate` ne
|
|
797
780
|
# touchent jamais le disque (voir leurs docstrings — la simulation
|
|
798
781
|
# « ne produit aucun effet »). Contrairement à `/compile` et `PUT`
|
|
799
|
-
# ci-dessus, aucune
|
|
800
|
-
#
|
|
801
|
-
#
|
|
802
|
-
#
|
|
803
|
-
#
|
|
804
|
-
# pas seulement supposé sur la base de ce commentaire.
|
|
782
|
+
# ci-dessus, aucune résolution enrôlée obligatoire ici — la
|
|
783
|
+
# lecture reste ouverte à tout projet du registre, comme sur
|
|
784
|
+
# l'atelier (#356). Vérifié par un test sur un vrai handler
|
|
785
|
+
# (`test_cmd_cockpit_blueprint_writes.py`, #546), pas seulement
|
|
786
|
+
# supposé sur la base de ce commentaire.
|
|
805
787
|
proot = _resolve_project_path(self._query_slug() or None)
|
|
806
788
|
if proot is None or not proot.is_dir():
|
|
807
789
|
self._send_json(404, {"ok": False, "error": "projet inconnu"})
|
|
@@ -840,8 +822,8 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
840
822
|
self._send_json(400, {"ok": False, "error": "bad json"})
|
|
841
823
|
return
|
|
842
824
|
action = str(data.get("action", ""))
|
|
843
|
-
is_read = action in
|
|
844
|
-
is_mutation = action in
|
|
825
|
+
is_read = action in ALLOWED_ACTIONS
|
|
826
|
+
is_mutation = action in MUTATION_ACTIONS
|
|
845
827
|
gesture = action == "gesture" # P34 : aperçu puis application (workspace_memory_gestures)
|
|
846
828
|
if not (is_read or is_mutation or gesture):
|
|
847
829
|
self._send_json(400, {"ok": False, "error": f"action non autorisée: {action}"})
|
|
@@ -849,14 +831,22 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
849
831
|
if is_mutation and data.get("confirm") is not True:
|
|
850
832
|
self._send_json(403, {"ok": False, "error": "confirmation explicite requise"})
|
|
851
833
|
return
|
|
852
|
-
|
|
834
|
+
project_slug = str(data.get("project", "")).strip()
|
|
835
|
+
proot = _resolve_project_path(project_slug or None)
|
|
853
836
|
if proot is None or not proot.is_dir():
|
|
854
837
|
self._send_json(400, {"ok": False, "error": "projet inconnu"})
|
|
855
838
|
return
|
|
856
839
|
if (is_mutation or gesture) and not _is_served_project(proot):
|
|
857
|
-
# P02 :
|
|
858
|
-
|
|
859
|
-
|
|
840
|
+
# P02 : un geste de correction (aperçu/apply) reste réservé au
|
|
841
|
+
# projet servi. Lot 2 : une MUTATION mémoire (delete/gc/sync)
|
|
842
|
+
# accepte n'importe quel projet ENRÔLÉ, à condition que la
|
|
843
|
+
# personne l'ait nommé (`confirm_project` égal au slug visé).
|
|
844
|
+
confirmed = str(data.get("confirm_project") or "").strip()
|
|
845
|
+
if not is_mutation or not project_slug or confirmed != project_slug:
|
|
846
|
+
self._send_json(403, {"ok": False, "error": "hôte en lecture seule"})
|
|
847
|
+
return
|
|
848
|
+
if not self._journal_confirmation("/api/memory", project_slug, confirmed):
|
|
849
|
+
return
|
|
860
850
|
if gesture:
|
|
861
851
|
from grimoire.tools.workspace_memory_gestures import handle as memory_gesture
|
|
862
852
|
|
|
@@ -865,7 +855,7 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
865
855
|
subcmd = action
|
|
866
856
|
values: list[str] = []
|
|
867
857
|
if is_read:
|
|
868
|
-
flags = list(
|
|
858
|
+
flags = list(ALLOWED_ACTIONS[action])
|
|
869
859
|
if action == "search":
|
|
870
860
|
query = str(data.get("query", "")).strip()
|
|
871
861
|
if not query:
|
|
@@ -873,7 +863,7 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
873
863
|
return
|
|
874
864
|
values = [query]
|
|
875
865
|
else:
|
|
876
|
-
spec =
|
|
866
|
+
spec = MUTATION_ACTIONS[action]
|
|
877
867
|
subcmd = spec.subcommand or action
|
|
878
868
|
flags = list(spec.args)
|
|
879
869
|
if spec.needs_id:
|
|
@@ -882,7 +872,7 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
882
872
|
self._send_json(400, {"ok": False, "error": "id d'entrée requis"})
|
|
883
873
|
return
|
|
884
874
|
values = [entry_id]
|
|
885
|
-
if not all(
|
|
875
|
+
if not all(is_plain_argument(v) for v in values):
|
|
886
876
|
self._send_json(400, {"ok": False, "error": "valeur d'argument refusée"})
|
|
887
877
|
return
|
|
888
878
|
# La commande est rejouée dans le processus, via l'application Typer :
|
|
@@ -912,9 +902,9 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
912
902
|
def do_PUT(self) -> None: # http.server contract
|
|
913
903
|
"""``PUT /api/blueprints/<id>`` — enregistrer un blueprint (issue #535).
|
|
914
904
|
|
|
915
|
-
Même garde que ``/api/setup`` :
|
|
916
|
-
|
|
917
|
-
|
|
905
|
+
Même garde que ``/api/setup`` : le projet visé doit être enrôlé (lot 1
|
|
906
|
+
de l'écriture multi-projets) ; sans ``do_PUT``, ``http.server``
|
|
907
|
+
répondait 501 avant toute garde.
|
|
918
908
|
"""
|
|
919
909
|
if not self._guard_mutation():
|
|
920
910
|
return
|
|
@@ -929,13 +919,10 @@ class _CockpitHandler(SimpleHTTPRequestHandler):
|
|
|
929
919
|
if not path.startswith("/api/blueprints/"):
|
|
930
920
|
self._send_json(404, {"ok": False, "error": "route inconnue"})
|
|
931
921
|
return
|
|
932
|
-
|
|
922
|
+
proot = self._enrolled_write_root()
|
|
923
|
+
if proot is None:
|
|
933
924
|
self._send_json(403, {"ok": False, "error": "hôte en lecture seule"})
|
|
934
925
|
return
|
|
935
|
-
proot = _resolve_project_path(self._query_slug() or None)
|
|
936
|
-
if proot is None or not proot.is_dir():
|
|
937
|
-
self._send_json(404, {"ok": False, "error": "projet inconnu"})
|
|
938
|
-
return
|
|
939
926
|
try:
|
|
940
927
|
length = int(self.headers.get("Content-Length", 0))
|
|
941
928
|
body = json.loads(self.rfile.read(length) or b"{}") if length else {}
|
|
@@ -1091,10 +1078,12 @@ def _select_cwd_project(root: Path | None = None) -> str | None:
|
|
|
1091
1078
|
Renvoie un message à afficher quand le projet vient d'être enregistré, ou
|
|
1092
1079
|
``None`` si rien n'a changé.
|
|
1093
1080
|
|
|
1094
|
-
Retient aussi ce slug dans ``_HOME_SLUG``
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1081
|
+
Retient aussi ce slug dans ``_HOME_SLUG`` : c'est le projet que le
|
|
1082
|
+
cockpit ouvre par défaut (``home`` de ``/api/status``) et celui qui garde
|
|
1083
|
+
le geste historique pour les écritures sensibles du lot 2 (``file/write``,
|
|
1084
|
+
``command``, ``file/override``, mutations mémoire) ; un AUTRE projet
|
|
1085
|
+
enrôlé exige ``confirm_project``. Son chemin résolu va dans
|
|
1086
|
+
``_HOME_PATH`` (garde P02 des gestes mémoire).
|
|
1098
1087
|
"""
|
|
1099
1088
|
global _HOME_PATH, _HOME_SLUG
|
|
1100
1089
|
if os.environ.get("GRIMOIRE_NO_COCKPIT"):
|