grimoire-framework 1.0.0
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.
- package/.claude/CLAUDE.md +318 -0
- package/.claude/hooks/README.md +170 -0
- package/.claude/hooks/enforce-architecture-first.py +198 -0
- package/.claude/hooks/install-hooks.sh +43 -0
- package/.claude/hooks/mind-clone-governance.py +192 -0
- package/.claude/hooks/pre-commit-version-check.sh +157 -0
- package/.claude/hooks/precompact-session-digest.js +47 -0
- package/.claude/hooks/read-protection.py +153 -0
- package/.claude/hooks/slug-validation.py +176 -0
- package/.claude/hooks/sql-governance.py +182 -0
- package/.claude/hooks/synapse-engine.js +77 -0
- package/.claude/hooks/write-path-validation.py +196 -0
- package/.claude/rules/mcp-usage.md +177 -0
- package/.grimoire/cli/commands/config/index.js +609 -0
- package/.grimoire/cli/commands/generate/index.js +222 -0
- package/.grimoire/cli/commands/manifest/index.js +47 -0
- package/.grimoire/cli/commands/manifest/regenerate.js +97 -0
- package/.grimoire/cli/commands/manifest/validate.js +66 -0
- package/.grimoire/cli/commands/mcp/add.js +235 -0
- package/.grimoire/cli/commands/mcp/index.js +77 -0
- package/.grimoire/cli/commands/mcp/link.js +218 -0
- package/.grimoire/cli/commands/mcp/setup.js +165 -0
- package/.grimoire/cli/commands/mcp/status.js +184 -0
- package/.grimoire/cli/commands/metrics/cleanup.js +91 -0
- package/.grimoire/cli/commands/metrics/index.js +66 -0
- package/.grimoire/cli/commands/metrics/record.js +154 -0
- package/.grimoire/cli/commands/metrics/seed.js +127 -0
- package/.grimoire/cli/commands/metrics/show.js +209 -0
- package/.grimoire/cli/commands/migrate/analyze.js +355 -0
- package/.grimoire/cli/commands/migrate/backup.js +354 -0
- package/.grimoire/cli/commands/migrate/execute.js +294 -0
- package/.grimoire/cli/commands/migrate/index.js +443 -0
- package/.grimoire/cli/commands/migrate/rollback.js +325 -0
- package/.grimoire/cli/commands/migrate/update-imports.js +398 -0
- package/.grimoire/cli/commands/migrate/validate.js +454 -0
- package/.grimoire/cli/commands/pro/index.js +705 -0
- package/.grimoire/cli/commands/qa/index.js +57 -0
- package/.grimoire/cli/commands/qa/run.js +163 -0
- package/.grimoire/cli/commands/qa/status.js +195 -0
- package/.grimoire/cli/commands/validate/index.js +431 -0
- package/.grimoire/cli/commands/workers/formatters/info-formatter.js +275 -0
- package/.grimoire/cli/commands/workers/formatters/list-table.js +265 -0
- package/.grimoire/cli/commands/workers/formatters/list-tree.js +160 -0
- package/.grimoire/cli/commands/workers/index.js +57 -0
- package/.grimoire/cli/commands/workers/info.js +195 -0
- package/.grimoire/cli/commands/workers/list.js +215 -0
- package/.grimoire/cli/commands/workers/search-filters.js +185 -0
- package/.grimoire/cli/commands/workers/search-keyword.js +310 -0
- package/.grimoire/cli/commands/workers/search-semantic.js +294 -0
- package/.grimoire/cli/commands/workers/search.js +155 -0
- package/.grimoire/cli/commands/workers/utils/pagination.js +102 -0
- package/.grimoire/cli/index.js +150 -0
- package/.grimoire/cli/utils/output-formatter-cli.js +233 -0
- package/.grimoire/cli/utils/score-calculator.js +221 -0
- package/.grimoire/constitution.md +172 -0
- package/.grimoire/core/README.md +231 -0
- package/.grimoire/core/code-intel/code-intel-client.js +280 -0
- package/.grimoire/core/code-intel/code-intel-enricher.js +160 -0
- package/.grimoire/core/code-intel/index.js +137 -0
- package/.grimoire/core/code-intel/providers/code-graph-provider.js +201 -0
- package/.grimoire/core/code-intel/providers/provider-interface.js +108 -0
- package/.grimoire/core/config/config-cache.js +233 -0
- package/.grimoire/core/config/config-loader.js +281 -0
- package/.grimoire/core/config/config-resolver.js +609 -0
- package/.grimoire/core/config/env-interpolator.js +122 -0
- package/.grimoire/core/config/merge-utils.js +101 -0
- package/.grimoire/core/config/migrate-config.js +293 -0
- package/.grimoire/core/config/schemas/framework-config.schema.json +19 -0
- package/.grimoire/core/config/schemas/local-config.schema.json +20 -0
- package/.grimoire/core/config/schemas/project-config.schema.json +32 -0
- package/.grimoire/core/config/schemas/user-config.schema.json +33 -0
- package/.grimoire/core/config/templates/user-config.yaml +24 -0
- package/.grimoire/core/docs/SHARD-TRANSLATION-GUIDE.md +337 -0
- package/.grimoire/core/docs/component-creation-guide.md +459 -0
- package/.grimoire/core/docs/session-update-pattern.md +316 -0
- package/.grimoire/core/docs/template-syntax.md +267 -0
- package/.grimoire/core/docs/troubleshooting-guide.md +626 -0
- package/.grimoire/core/elicitation/agent-elicitation.js +272 -0
- package/.grimoire/core/elicitation/elicitation-engine.js +486 -0
- package/.grimoire/core/elicitation/session-manager.js +322 -0
- package/.grimoire/core/elicitation/task-elicitation.js +281 -0
- package/.grimoire/core/elicitation/workflow-elicitation.js +349 -0
- package/.grimoire/core/events/dashboard-emitter.js +369 -0
- package/.grimoire/core/events/index.js +17 -0
- package/.grimoire/core/events/types.js +52 -0
- package/.grimoire/core/execution/autonomous-build-loop.js +1068 -0
- package/.grimoire/core/execution/build-orchestrator.js +1055 -0
- package/.grimoire/core/execution/build-state-manager.js +1530 -0
- package/.grimoire/core/execution/context-injector.js +537 -0
- package/.grimoire/core/execution/parallel-executor.js +292 -0
- package/.grimoire/core/execution/parallel-monitor.js +429 -0
- package/.grimoire/core/execution/rate-limit-manager.js +314 -0
- package/.grimoire/core/execution/result-aggregator.js +486 -0
- package/.grimoire/core/execution/semantic-merge-engine.js +1736 -0
- package/.grimoire/core/execution/subagent-dispatcher.js +848 -0
- package/.grimoire/core/execution/wave-executor.js +397 -0
- package/.grimoire/core/health-check/base-check.js +224 -0
- package/.grimoire/core/health-check/check-registry.js +253 -0
- package/.grimoire/core/health-check/checks/deployment/build-config.js +111 -0
- package/.grimoire/core/health-check/checks/deployment/ci-config.js +125 -0
- package/.grimoire/core/health-check/checks/deployment/deployment-readiness.js +152 -0
- package/.grimoire/core/health-check/checks/deployment/docker-config.js +122 -0
- package/.grimoire/core/health-check/checks/deployment/env-file.js +111 -0
- package/.grimoire/core/health-check/checks/deployment/index.js +29 -0
- package/.grimoire/core/health-check/checks/index.js +56 -0
- package/.grimoire/core/health-check/checks/local/disk-space.js +214 -0
- package/.grimoire/core/health-check/checks/local/environment-vars.js +136 -0
- package/.grimoire/core/health-check/checks/local/git-install.js +158 -0
- package/.grimoire/core/health-check/checks/local/ide-detection.js +148 -0
- package/.grimoire/core/health-check/checks/local/index.js +35 -0
- package/.grimoire/core/health-check/checks/local/memory.js +138 -0
- package/.grimoire/core/health-check/checks/local/network.js +170 -0
- package/.grimoire/core/health-check/checks/local/npm-install.js +149 -0
- package/.grimoire/core/health-check/checks/local/shell-environment.js +120 -0
- package/.grimoire/core/health-check/checks/project/agent-config.js +167 -0
- package/.grimoire/core/health-check/checks/project/dependencies.js +150 -0
- package/.grimoire/core/health-check/checks/project/framework-config.js +133 -0
- package/.grimoire/core/health-check/checks/project/grimoire-directory.js +143 -0
- package/.grimoire/core/health-check/checks/project/index.js +35 -0
- package/.grimoire/core/health-check/checks/project/node-version.js +163 -0
- package/.grimoire/core/health-check/checks/project/package-json.js +107 -0
- package/.grimoire/core/health-check/checks/project/task-definitions.js +192 -0
- package/.grimoire/core/health-check/checks/project/workflow-dependencies.js +214 -0
- package/.grimoire/core/health-check/checks/repository/branch-protection.js +107 -0
- package/.grimoire/core/health-check/checks/repository/commit-history.js +144 -0
- package/.grimoire/core/health-check/checks/repository/conflicts.js +152 -0
- package/.grimoire/core/health-check/checks/repository/git-repo.js +159 -0
- package/.grimoire/core/health-check/checks/repository/git-status.js +149 -0
- package/.grimoire/core/health-check/checks/repository/gitignore.js +194 -0
- package/.grimoire/core/health-check/checks/repository/index.js +35 -0
- package/.grimoire/core/health-check/checks/repository/large-files.js +183 -0
- package/.grimoire/core/health-check/checks/repository/lockfile-integrity.js +144 -0
- package/.grimoire/core/health-check/checks/services/api-endpoints.js +168 -0
- package/.grimoire/core/health-check/checks/services/claude-code.js +139 -0
- package/.grimoire/core/health-check/checks/services/gemini-cli.js +241 -0
- package/.grimoire/core/health-check/checks/services/github-cli.js +117 -0
- package/.grimoire/core/health-check/checks/services/index.js +29 -0
- package/.grimoire/core/health-check/checks/services/mcp-integration.js +125 -0
- package/.grimoire/core/health-check/engine.js +407 -0
- package/.grimoire/core/health-check/healers/backup-manager.js +340 -0
- package/.grimoire/core/health-check/healers/index.js +330 -0
- package/.grimoire/core/health-check/index.js +370 -0
- package/.grimoire/core/health-check/reporters/console.js +331 -0
- package/.grimoire/core/health-check/reporters/index.js +117 -0
- package/.grimoire/core/health-check/reporters/json.js +301 -0
- package/.grimoire/core/health-check/reporters/markdown.js +323 -0
- package/.grimoire/core/ideation/ideation-engine.js +834 -0
- package/.grimoire/core/ids/README.md +123 -0
- package/.grimoire/core/ids/circuit-breaker.js +156 -0
- package/.grimoire/core/ids/framework-governor.js +567 -0
- package/.grimoire/core/ids/gates/g1-epic-creation.js +101 -0
- package/.grimoire/core/ids/gates/g2-story-creation.js +133 -0
- package/.grimoire/core/ids/gates/g3-story-validation.js +166 -0
- package/.grimoire/core/ids/gates/g4-dev-context.js +155 -0
- package/.grimoire/core/ids/incremental-decision-engine.js +651 -0
- package/.grimoire/core/ids/index.js +157 -0
- package/.grimoire/core/ids/registry-healer.js +868 -0
- package/.grimoire/core/ids/registry-loader.js +281 -0
- package/.grimoire/core/ids/registry-updater.js +703 -0
- package/.grimoire/core/ids/verification-gate.js +306 -0
- package/.grimoire/core/index.esm.js +44 -0
- package/.grimoire/core/index.js +90 -0
- package/.grimoire/core/manifest/manifest-generator.js +388 -0
- package/.grimoire/core/manifest/manifest-validator.js +431 -0
- package/.grimoire/core/mcp/config-migrator.js +341 -0
- package/.grimoire/core/mcp/global-config-manager.js +370 -0
- package/.grimoire/core/mcp/index.js +34 -0
- package/.grimoire/core/mcp/os-detector.js +189 -0
- package/.grimoire/core/mcp/symlink-manager.js +415 -0
- package/.grimoire/core/memory/__tests__/active-modules.verify.js +254 -0
- package/.grimoire/core/memory/gotchas-memory.js +1154 -0
- package/.grimoire/core/migration/migration-config.yaml +85 -0
- package/.grimoire/core/migration/module-mapping.yaml +91 -0
- package/.grimoire/core/orchestration/agent-invoker.js +612 -0
- package/.grimoire/core/orchestration/bob-orchestrator.js +1032 -0
- package/.grimoire/core/orchestration/bob-status-writer.js +482 -0
- package/.grimoire/core/orchestration/bob-surface-criteria.yaml +272 -0
- package/.grimoire/core/orchestration/brownfield-handler.js +741 -0
- package/.grimoire/core/orchestration/checklist-runner.js +328 -0
- package/.grimoire/core/orchestration/cli-commands.js +581 -0
- package/.grimoire/core/orchestration/condition-evaluator.js +379 -0
- package/.grimoire/core/orchestration/context-manager.js +616 -0
- package/.grimoire/core/orchestration/dashboard-integration.js +520 -0
- package/.grimoire/core/orchestration/data-lifecycle-manager.js +357 -0
- package/.grimoire/core/orchestration/epic-context-accumulator.js +396 -0
- package/.grimoire/core/orchestration/execution-profile-resolver.js +107 -0
- package/.grimoire/core/orchestration/executor-assignment.js +413 -0
- package/.grimoire/core/orchestration/executors/epic-3-executor.js +223 -0
- package/.grimoire/core/orchestration/executors/epic-4-executor.js +269 -0
- package/.grimoire/core/orchestration/executors/epic-5-executor.js +329 -0
- package/.grimoire/core/orchestration/executors/epic-6-executor.js +265 -0
- package/.grimoire/core/orchestration/executors/epic-executor.js +237 -0
- package/.grimoire/core/orchestration/executors/index.js +86 -0
- package/.grimoire/core/orchestration/gate-evaluator.js +495 -0
- package/.grimoire/core/orchestration/gemini-model-selector.js +161 -0
- package/.grimoire/core/orchestration/greenfield-handler.js +890 -0
- package/.grimoire/core/orchestration/index.js +323 -0
- package/.grimoire/core/orchestration/lock-manager.js +327 -0
- package/.grimoire/core/orchestration/master-orchestrator.js +1544 -0
- package/.grimoire/core/orchestration/message-formatter.js +279 -0
- package/.grimoire/core/orchestration/parallel-executor.js +225 -0
- package/.grimoire/core/orchestration/recovery-handler.js +721 -0
- package/.grimoire/core/orchestration/session-state.js +876 -0
- package/.grimoire/core/orchestration/skill-dispatcher.js +364 -0
- package/.grimoire/core/orchestration/subagent-prompt-builder.js +370 -0
- package/.grimoire/core/orchestration/surface-checker.js +403 -0
- package/.grimoire/core/orchestration/task-complexity-classifier.js +123 -0
- package/.grimoire/core/orchestration/tech-stack-detector.js +599 -0
- package/.grimoire/core/orchestration/terminal-spawner.js +1044 -0
- package/.grimoire/core/orchestration/workflow-executor.js +1182 -0
- package/.grimoire/core/orchestration/workflow-orchestrator.js +907 -0
- package/.grimoire/core/permissions/__tests__/permission-mode.test.js +293 -0
- package/.grimoire/core/permissions/index.js +140 -0
- package/.grimoire/core/permissions/operation-guard.js +395 -0
- package/.grimoire/core/permissions/permission-mode.js +271 -0
- package/.grimoire/core/quality-gates/base-layer.js +134 -0
- package/.grimoire/core/quality-gates/checklist-generator.js +329 -0
- package/.grimoire/core/quality-gates/focus-area-recommender.js +361 -0
- package/.grimoire/core/quality-gates/human-review-orchestrator.js +530 -0
- package/.grimoire/core/quality-gates/layer1-precommit.js +336 -0
- package/.grimoire/core/quality-gates/layer2-pr-automation.js +331 -0
- package/.grimoire/core/quality-gates/layer3-human-review.js +350 -0
- package/.grimoire/core/quality-gates/notification-manager.js +551 -0
- package/.grimoire/core/quality-gates/quality-gate-config.yaml +87 -0
- package/.grimoire/core/quality-gates/quality-gate-manager.js +603 -0
- package/.grimoire/core/registry/README.md +181 -0
- package/.grimoire/core/registry/build-registry.js +454 -0
- package/.grimoire/core/registry/registry-loader.js +331 -0
- package/.grimoire/core/registry/registry-schema.json +168 -0
- package/.grimoire/core/registry/service-registry.json +6468 -0
- package/.grimoire/core/registry/validate-registry.js +341 -0
- package/.grimoire/core/session/context-detector.js +233 -0
- package/.grimoire/core/session/context-loader.js +443 -0
- package/.grimoire/core/synapse/context/context-builder.js +34 -0
- package/.grimoire/core/synapse/context/context-tracker.js +190 -0
- package/.grimoire/core/synapse/diagnostics/collectors/consistency-collector.js +168 -0
- package/.grimoire/core/synapse/diagnostics/collectors/hook-collector.js +129 -0
- package/.grimoire/core/synapse/diagnostics/collectors/manifest-collector.js +82 -0
- package/.grimoire/core/synapse/diagnostics/collectors/output-analyzer.js +134 -0
- package/.grimoire/core/synapse/diagnostics/collectors/pipeline-collector.js +75 -0
- package/.grimoire/core/synapse/diagnostics/collectors/quality-collector.js +252 -0
- package/.grimoire/core/synapse/diagnostics/collectors/relevance-matrix.js +174 -0
- package/.grimoire/core/synapse/diagnostics/collectors/safe-read-json.js +31 -0
- package/.grimoire/core/synapse/diagnostics/collectors/session-collector.js +102 -0
- package/.grimoire/core/synapse/diagnostics/collectors/timing-collector.js +126 -0
- package/.grimoire/core/synapse/diagnostics/collectors/uap-collector.js +83 -0
- package/.grimoire/core/synapse/diagnostics/report-formatter.js +485 -0
- package/.grimoire/core/synapse/diagnostics/synapse-diagnostics.js +95 -0
- package/.grimoire/core/synapse/domain/domain-loader.js +322 -0
- package/.grimoire/core/synapse/engine.js +380 -0
- package/.grimoire/core/synapse/layers/l0-constitution.js +80 -0
- package/.grimoire/core/synapse/layers/l1-global.js +102 -0
- package/.grimoire/core/synapse/layers/l2-agent.js +94 -0
- package/.grimoire/core/synapse/layers/l3-workflow.js +94 -0
- package/.grimoire/core/synapse/layers/l4-task.js +83 -0
- package/.grimoire/core/synapse/layers/l5-squad.js +244 -0
- package/.grimoire/core/synapse/layers/l6-keyword.js +154 -0
- package/.grimoire/core/synapse/layers/l7-star-command.js +169 -0
- package/.grimoire/core/synapse/layers/layer-processor.js +82 -0
- package/.grimoire/core/synapse/memory/memory-bridge.js +246 -0
- package/.grimoire/core/synapse/output/formatter.js +561 -0
- package/.grimoire/core/synapse/runtime/hook-runtime.js +61 -0
- package/.grimoire/core/synapse/scripts/generate-constitution.js +205 -0
- package/.grimoire/core/synapse/session/session-manager.js +403 -0
- package/.grimoire/core/synapse/utils/paths.js +57 -0
- package/.grimoire/core/synapse/utils/tokens.js +25 -0
- package/.grimoire/core/ui/index.js +43 -0
- package/.grimoire/core/ui/observability-panel.js +394 -0
- package/.grimoire/core/ui/panel-renderer.js +337 -0
- package/.grimoire/core/utils/output-formatter.js +299 -0
- package/.grimoire/core/utils/security-utils.js +336 -0
- package/.grimoire/core/utils/yaml-validator.js +416 -0
- package/.grimoire/core-config.yaml +357 -0
- package/.grimoire/data/agent-config-requirements.yaml +409 -0
- package/.grimoire/data/entity-registry.yaml +9219 -0
- package/.grimoire/data/grimoire-kb.md +918 -0
- package/.grimoire/data/learned-patterns.yaml +3 -0
- package/.grimoire/data/tech-presets/_template.md +259 -0
- package/.grimoire/data/tech-presets/nextjs-react.md +933 -0
- package/.grimoire/data/technical-preferences.md +85 -0
- package/.grimoire/data/workflow-patterns.yaml +836 -0
- package/.grimoire/data/workflow-state-schema.yaml +203 -0
- package/.grimoire/development/README.md +143 -0
- package/.grimoire/development/agent-teams/team-all.yaml +16 -0
- package/.grimoire/development/agent-teams/team-fullstack.yaml +19 -0
- package/.grimoire/development/agent-teams/team-ide-minimal.yaml +10 -0
- package/.grimoire/development/agent-teams/team-no-ui.yaml +14 -0
- package/.grimoire/development/agent-teams/team-qa-focused.yaml +155 -0
- package/.grimoire/development/agents/analyst.md +261 -0
- package/.grimoire/development/agents/architect.md +461 -0
- package/.grimoire/development/agents/caravaggio.md +31 -0
- package/.grimoire/development/agents/data-engineer.md +482 -0
- package/.grimoire/development/agents/dev.md +548 -0
- package/.grimoire/development/agents/devops.md +500 -0
- package/.grimoire/development/agents/frida.md +31 -0
- package/.grimoire/development/agents/grimoire-master.md +447 -0
- package/.grimoire/development/agents/picasso.md +31 -0
- package/.grimoire/development/agents/pm.md +365 -0
- package/.grimoire/development/agents/po.md +323 -0
- package/.grimoire/development/agents/qa.md +437 -0
- package/.grimoire/development/agents/salvador.md +31 -0
- package/.grimoire/development/agents/sm.md +275 -0
- package/.grimoire/development/agents/squad-creator.md +330 -0
- package/.grimoire/development/agents/tarsila.md +31 -0
- package/.grimoire/development/agents/ux-design-expert.md +482 -0
- package/.grimoire/development/agents/van-gogh.md +31 -0
- package/.grimoire/development/agents/warhol.md +31 -0
- package/.grimoire/development/checklists/agent-quality-gate.md +560 -0
- package/.grimoire/development/checklists/brownfield-compatibility-checklist.md +116 -0
- package/.grimoire/development/checklists/self-critique-checklist.md +274 -0
- package/.grimoire/development/data/decision-heuristics-framework.md +622 -0
- package/.grimoire/development/data/quality-dimensions-framework.md +427 -0
- package/.grimoire/development/data/tier-system-framework.md +476 -0
- package/.grimoire/development/scripts/activation-runtime.js +64 -0
- package/.grimoire/development/scripts/agent-assignment-resolver.js +231 -0
- package/.grimoire/development/scripts/agent-config-loader.js +628 -0
- package/.grimoire/development/scripts/agent-exit-hooks.js +97 -0
- package/.grimoire/development/scripts/apply-inline-greeting-all-agents.js +147 -0
- package/.grimoire/development/scripts/approval-workflow.js +643 -0
- package/.grimoire/development/scripts/audit-agent-config.js +382 -0
- package/.grimoire/development/scripts/backlog-manager.js +409 -0
- package/.grimoire/development/scripts/backup-manager.js +607 -0
- package/.grimoire/development/scripts/batch-update-agents-session-context.js +97 -0
- package/.grimoire/development/scripts/branch-manager.js +390 -0
- package/.grimoire/development/scripts/code-quality-improver.js +1312 -0
- package/.grimoire/development/scripts/commit-message-generator.js +850 -0
- package/.grimoire/development/scripts/conflict-resolver.js +675 -0
- package/.grimoire/development/scripts/decision-context.js +229 -0
- package/.grimoire/development/scripts/decision-log-generator.js +294 -0
- package/.grimoire/development/scripts/decision-log-indexer.js +285 -0
- package/.grimoire/development/scripts/decision-recorder.js +169 -0
- package/.grimoire/development/scripts/dependency-analyzer.js +639 -0
- package/.grimoire/development/scripts/dev-context-loader.js +298 -0
- package/.grimoire/development/scripts/diff-generator.js +352 -0
- package/.grimoire/development/scripts/elicitation-engine.js +385 -0
- package/.grimoire/development/scripts/elicitation-session-manager.js +300 -0
- package/.grimoire/development/scripts/generate-greeting.js +109 -0
- package/.grimoire/development/scripts/git-wrapper.js +462 -0
- package/.grimoire/development/scripts/greeting-builder.js +1406 -0
- package/.grimoire/development/scripts/greeting-config-cli.js +86 -0
- package/.grimoire/development/scripts/greeting-preference-manager.js +170 -0
- package/.grimoire/development/scripts/manifest-preview.js +245 -0
- package/.grimoire/development/scripts/metrics-tracker.js +776 -0
- package/.grimoire/development/scripts/migrate-task-to-v2.js +379 -0
- package/.grimoire/development/scripts/modification-validator.js +555 -0
- package/.grimoire/development/scripts/pattern-learner.js +1225 -0
- package/.grimoire/development/scripts/performance-analyzer.js +758 -0
- package/.grimoire/development/scripts/populate-entity-registry.js +281 -0
- package/.grimoire/development/scripts/refactoring-suggester.js +1139 -0
- package/.grimoire/development/scripts/rollback-handler.js +532 -0
- package/.grimoire/development/scripts/security-checker.js +359 -0
- package/.grimoire/development/scripts/skill-validator.js +343 -0
- package/.grimoire/development/scripts/squad/README.md +114 -0
- package/.grimoire/development/scripts/squad/index.js +124 -0
- package/.grimoire/development/scripts/squad/squad-analyzer.js +638 -0
- package/.grimoire/development/scripts/squad/squad-designer.js +1010 -0
- package/.grimoire/development/scripts/squad/squad-downloader.js +511 -0
- package/.grimoire/development/scripts/squad/squad-extender.js +872 -0
- package/.grimoire/development/scripts/squad/squad-generator.js +1406 -0
- package/.grimoire/development/scripts/squad/squad-loader.js +359 -0
- package/.grimoire/development/scripts/squad/squad-migrator.js +628 -0
- package/.grimoire/development/scripts/squad/squad-publisher.js +630 -0
- package/.grimoire/development/scripts/squad/squad-validator.js +857 -0
- package/.grimoire/development/scripts/story-index-generator.js +339 -0
- package/.grimoire/development/scripts/story-manager.js +375 -0
- package/.grimoire/development/scripts/story-update-hook.js +259 -0
- package/.grimoire/development/scripts/task-identifier-resolver.js +145 -0
- package/.grimoire/development/scripts/template-engine.js +240 -0
- package/.grimoire/development/scripts/template-validator.js +279 -0
- package/.grimoire/development/scripts/test-generator.js +844 -0
- package/.grimoire/development/scripts/test-greeting-system.js +143 -0
- package/.grimoire/development/scripts/transaction-manager.js +591 -0
- package/.grimoire/development/scripts/unified-activation-pipeline.js +796 -0
- package/.grimoire/development/scripts/usage-tracker.js +675 -0
- package/.grimoire/development/scripts/validate-filenames.js +228 -0
- package/.grimoire/development/scripts/validate-task-v2.js +320 -0
- package/.grimoire/development/scripts/verify-workflow-gaps.js +1034 -0
- package/.grimoire/development/scripts/version-tracker.js +527 -0
- package/.grimoire/development/scripts/workflow-navigator.js +328 -0
- package/.grimoire/development/scripts/workflow-state-manager.js +652 -0
- package/.grimoire/development/scripts/workflow-validator.js +697 -0
- package/.grimoire/development/scripts/yaml-validator.js +397 -0
- package/.grimoire/development/tasks/add-mcp.md +437 -0
- package/.grimoire/development/tasks/advanced-elicitation.md +320 -0
- package/.grimoire/development/tasks/analyst-facilitate-brainstorming.md +343 -0
- package/.grimoire/development/tasks/analyze-brownfield.md +458 -0
- package/.grimoire/development/tasks/analyze-cross-artifact.md +358 -0
- package/.grimoire/development/tasks/analyze-framework.md +698 -0
- package/.grimoire/development/tasks/analyze-performance.md +639 -0
- package/.grimoire/development/tasks/analyze-project-structure.md +623 -0
- package/.grimoire/development/tasks/apply-qa-fixes.md +342 -0
- package/.grimoire/development/tasks/architect-analyze-impact.md +828 -0
- package/.grimoire/development/tasks/audit-codebase.md +431 -0
- package/.grimoire/development/tasks/audit-tailwind-config.md +272 -0
- package/.grimoire/development/tasks/audit-utilities.md +360 -0
- package/.grimoire/development/tasks/blocks/README.md +180 -0
- package/.grimoire/development/tasks/blocks/agent-prompt-template.md +117 -0
- package/.grimoire/development/tasks/blocks/context-loading.md +110 -0
- package/.grimoire/development/tasks/blocks/execution-pattern.md +122 -0
- package/.grimoire/development/tasks/blocks/finalization.md +123 -0
- package/.grimoire/development/tasks/bootstrap-shadcn-library.md +288 -0
- package/.grimoire/development/tasks/brownfield-create-epic.md +533 -0
- package/.grimoire/development/tasks/brownfield-create-story.md +358 -0
- package/.grimoire/development/tasks/build-autonomous.md +186 -0
- package/.grimoire/development/tasks/build-component.md +480 -0
- package/.grimoire/development/tasks/build-resume.md +125 -0
- package/.grimoire/development/tasks/build-status.md +155 -0
- package/.grimoire/development/tasks/build.md +142 -0
- package/.grimoire/development/tasks/calculate-roi.md +457 -0
- package/.grimoire/development/tasks/check-docs-links.md +114 -0
- package/.grimoire/development/tasks/ci-cd-configuration.md +766 -0
- package/.grimoire/development/tasks/cleanup-utilities.md +672 -0
- package/.grimoire/development/tasks/cleanup-worktrees.md +39 -0
- package/.grimoire/development/tasks/collaborative-edit.md +1110 -0
- package/.grimoire/development/tasks/compose-molecule.md +286 -0
- package/.grimoire/development/tasks/consolidate-patterns.md +416 -0
- package/.grimoire/development/tasks/correct-course.md +281 -0
- package/.grimoire/development/tasks/create-agent.md +1199 -0
- package/.grimoire/development/tasks/create-brownfield-story.md +728 -0
- package/.grimoire/development/tasks/create-deep-research-prompt.md +500 -0
- package/.grimoire/development/tasks/create-doc.md +318 -0
- package/.grimoire/development/tasks/create-next-story.md +776 -0
- package/.grimoire/development/tasks/create-service.md +393 -0
- package/.grimoire/development/tasks/create-suite.md +285 -0
- package/.grimoire/development/tasks/create-task.md +391 -0
- package/.grimoire/development/tasks/create-workflow.md +429 -0
- package/.grimoire/development/tasks/create-worktree.md +439 -0
- package/.grimoire/development/tasks/db-analyze-hotpaths.md +574 -0
- package/.grimoire/development/tasks/db-apply-migration.md +383 -0
- package/.grimoire/development/tasks/db-bootstrap.md +644 -0
- package/.grimoire/development/tasks/db-domain-modeling.md +695 -0
- package/.grimoire/development/tasks/db-dry-run.md +295 -0
- package/.grimoire/development/tasks/db-env-check.md +262 -0
- package/.grimoire/development/tasks/db-explain.md +633 -0
- package/.grimoire/development/tasks/db-impersonate.md +497 -0
- package/.grimoire/development/tasks/db-load-csv.md +595 -0
- package/.grimoire/development/tasks/db-policy-apply.md +655 -0
- package/.grimoire/development/tasks/db-rls-audit.md +413 -0
- package/.grimoire/development/tasks/db-rollback.md +741 -0
- package/.grimoire/development/tasks/db-run-sql.md +615 -0
- package/.grimoire/development/tasks/db-schema-audit.md +1013 -0
- package/.grimoire/development/tasks/db-seed.md +392 -0
- package/.grimoire/development/tasks/db-smoke-test.md +353 -0
- package/.grimoire/development/tasks/db-snapshot.md +571 -0
- package/.grimoire/development/tasks/db-squad-integration.md +665 -0
- package/.grimoire/development/tasks/db-supabase-setup.md +714 -0
- package/.grimoire/development/tasks/db-verify-order.md +517 -0
- package/.grimoire/development/tasks/deprecate-component.md +958 -0
- package/.grimoire/development/tasks/dev-apply-qa-fixes.md +320 -0
- package/.grimoire/development/tasks/dev-backlog-debt.md +471 -0
- package/.grimoire/development/tasks/dev-develop-story.md +912 -0
- package/.grimoire/development/tasks/dev-improve-code-quality.md +874 -0
- package/.grimoire/development/tasks/dev-optimize-performance.md +1035 -0
- package/.grimoire/development/tasks/dev-suggest-refactoring.md +872 -0
- package/.grimoire/development/tasks/dev-validate-next-story.md +350 -0
- package/.grimoire/development/tasks/document-gotchas.md +479 -0
- package/.grimoire/development/tasks/document-project.md +554 -0
- package/.grimoire/development/tasks/environment-bootstrap.md +1391 -0
- package/.grimoire/development/tasks/execute-checklist.md +303 -0
- package/.grimoire/development/tasks/execute-epic-plan.md +887 -0
- package/.grimoire/development/tasks/export-design-tokens-dtcg.md +276 -0
- package/.grimoire/development/tasks/extend-pattern.md +271 -0
- package/.grimoire/development/tasks/extract-patterns.md +399 -0
- package/.grimoire/development/tasks/extract-tokens.md +469 -0
- package/.grimoire/development/tasks/facilitate-brainstorming-session.md +520 -0
- package/.grimoire/development/tasks/generate-ai-frontend-prompt.md +262 -0
- package/.grimoire/development/tasks/generate-documentation.md +286 -0
- package/.grimoire/development/tasks/generate-migration-strategy.md +524 -0
- package/.grimoire/development/tasks/generate-shock-report.md +503 -0
- package/.grimoire/development/tasks/github-devops-github-pr-automation.md +666 -0
- package/.grimoire/development/tasks/github-devops-pre-push-quality-gate.md +791 -0
- package/.grimoire/development/tasks/github-devops-repository-cleanup.md +376 -0
- package/.grimoire/development/tasks/github-devops-version-management.md +485 -0
- package/.grimoire/development/tasks/gotcha.md +138 -0
- package/.grimoire/development/tasks/gotchas.md +155 -0
- package/.grimoire/development/tasks/health-check.yaml +227 -0
- package/.grimoire/development/tasks/ids-governor.md +96 -0
- package/.grimoire/development/tasks/ids-health.md +91 -0
- package/.grimoire/development/tasks/ids-query.md +156 -0
- package/.grimoire/development/tasks/improve-self.md +824 -0
- package/.grimoire/development/tasks/index-docs.md +389 -0
- package/.grimoire/development/tasks/init-project-status.md +508 -0
- package/.grimoire/development/tasks/integrate-squad.md +316 -0
- package/.grimoire/development/tasks/kb-mode-interaction.md +285 -0
- package/.grimoire/development/tasks/learn-patterns.md +902 -0
- package/.grimoire/development/tasks/list-mcps.md +33 -0
- package/.grimoire/development/tasks/list-worktrees.md +344 -0
- package/.grimoire/development/tasks/mcp-workflow.md +438 -0
- package/.grimoire/development/tasks/merge-worktree.md +42 -0
- package/.grimoire/development/tasks/modify-agent.md +399 -0
- package/.grimoire/development/tasks/modify-task.md +442 -0
- package/.grimoire/development/tasks/modify-workflow.md +511 -0
- package/.grimoire/development/tasks/next.md +327 -0
- package/.grimoire/development/tasks/orchestrate-resume.md +60 -0
- package/.grimoire/development/tasks/orchestrate-status.md +64 -0
- package/.grimoire/development/tasks/orchestrate-stop.md +55 -0
- package/.grimoire/development/tasks/orchestrate.md +66 -0
- package/.grimoire/development/tasks/patterns.md +336 -0
- package/.grimoire/development/tasks/plan-create-context.md +812 -0
- package/.grimoire/development/tasks/plan-create-implementation.md +797 -0
- package/.grimoire/development/tasks/plan-execute-subtask.md +962 -0
- package/.grimoire/development/tasks/po-backlog-add.md +372 -0
- package/.grimoire/development/tasks/po-close-story.md +428 -0
- package/.grimoire/development/tasks/po-manage-story-backlog.md +525 -0
- package/.grimoire/development/tasks/po-pull-story-from-clickup.md +542 -0
- package/.grimoire/development/tasks/po-pull-story.md +318 -0
- package/.grimoire/development/tasks/po-stories-index.md +353 -0
- package/.grimoire/development/tasks/po-sync-story-to-clickup.md +459 -0
- package/.grimoire/development/tasks/po-sync-story.md +305 -0
- package/.grimoire/development/tasks/pr-automation.md +703 -0
- package/.grimoire/development/tasks/propose-modification.md +844 -0
- package/.grimoire/development/tasks/publish-npm.md +259 -0
- package/.grimoire/development/tasks/qa-after-creation.md +519 -0
- package/.grimoire/development/tasks/qa-backlog-add-followup.md +427 -0
- package/.grimoire/development/tasks/qa-browser-console-check.md +343 -0
- package/.grimoire/development/tasks/qa-create-fix-request.md +625 -0
- package/.grimoire/development/tasks/qa-evidence-requirements.md +314 -0
- package/.grimoire/development/tasks/qa-false-positive-detection.md +374 -0
- package/.grimoire/development/tasks/qa-fix-issues.md +686 -0
- package/.grimoire/development/tasks/qa-gate.md +375 -0
- package/.grimoire/development/tasks/qa-generate-tests.md +1176 -0
- package/.grimoire/development/tasks/qa-library-validation.md +497 -0
- package/.grimoire/development/tasks/qa-migration-validation.md +584 -0
- package/.grimoire/development/tasks/qa-nfr-assess.md +559 -0
- package/.grimoire/development/tasks/qa-review-build.md +1225 -0
- package/.grimoire/development/tasks/qa-review-proposal.md +1159 -0
- package/.grimoire/development/tasks/qa-review-story.md +684 -0
- package/.grimoire/development/tasks/qa-risk-profile.md +568 -0
- package/.grimoire/development/tasks/qa-run-tests.md +279 -0
- package/.grimoire/development/tasks/qa-security-checklist.md +552 -0
- package/.grimoire/development/tasks/qa-test-design.md +389 -0
- package/.grimoire/development/tasks/qa-trace-requirements.md +478 -0
- package/.grimoire/development/tasks/release-management.md +754 -0
- package/.grimoire/development/tasks/remove-mcp.md +35 -0
- package/.grimoire/development/tasks/remove-worktree.md +435 -0
- package/.grimoire/development/tasks/run-design-system-pipeline.md +642 -0
- package/.grimoire/development/tasks/run-workflow-engine.md +861 -0
- package/.grimoire/development/tasks/run-workflow.md +389 -0
- package/.grimoire/development/tasks/search-mcp.md +309 -0
- package/.grimoire/development/tasks/security-audit.md +556 -0
- package/.grimoire/development/tasks/security-scan.md +792 -0
- package/.grimoire/development/tasks/session-resume.md +193 -0
- package/.grimoire/development/tasks/setup-database.md +743 -0
- package/.grimoire/development/tasks/setup-design-system.md +464 -0
- package/.grimoire/development/tasks/setup-github.md +876 -0
- package/.grimoire/development/tasks/setup-llm-routing.md +231 -0
- package/.grimoire/development/tasks/setup-mcp-docker.md +628 -0
- package/.grimoire/development/tasks/setup-project-docs.md +442 -0
- package/.grimoire/development/tasks/shard-doc.md +539 -0
- package/.grimoire/development/tasks/sm-create-next-story.md +482 -0
- package/.grimoire/development/tasks/spec-assess-complexity.md +461 -0
- package/.grimoire/development/tasks/spec-critique.md +595 -0
- package/.grimoire/development/tasks/spec-gather-requirements.md +545 -0
- package/.grimoire/development/tasks/spec-research-dependencies.md +446 -0
- package/.grimoire/development/tasks/spec-write-spec.md +531 -0
- package/.grimoire/development/tasks/squad-creator-analyze.md +318 -0
- package/.grimoire/development/tasks/squad-creator-create.md +314 -0
- package/.grimoire/development/tasks/squad-creator-design.md +335 -0
- package/.grimoire/development/tasks/squad-creator-download.md +169 -0
- package/.grimoire/development/tasks/squad-creator-extend.md +413 -0
- package/.grimoire/development/tasks/squad-creator-list.md +226 -0
- package/.grimoire/development/tasks/squad-creator-migrate.md +245 -0
- package/.grimoire/development/tasks/squad-creator-publish.md +231 -0
- package/.grimoire/development/tasks/squad-creator-sync-grimoire.md +317 -0
- package/.grimoire/development/tasks/squad-creator-sync-ide-command.md +403 -0
- package/.grimoire/development/tasks/squad-creator-validate.md +160 -0
- package/.grimoire/development/tasks/story-checkpoint.md +361 -0
- package/.grimoire/development/tasks/sync-documentation.md +866 -0
- package/.grimoire/development/tasks/tailwind-upgrade.md +296 -0
- package/.grimoire/development/tasks/test-as-user.md +623 -0
- package/.grimoire/development/tasks/test-validation-task.md +172 -0
- package/.grimoire/development/tasks/undo-last.md +348 -0
- package/.grimoire/development/tasks/update-grimoire.md +153 -0
- package/.grimoire/development/tasks/update-manifest.md +411 -0
- package/.grimoire/development/tasks/update-source-tree.md +138 -0
- package/.grimoire/development/tasks/ux-create-wireframe.md +619 -0
- package/.grimoire/development/tasks/ux-ds-scan-artifact.md +674 -0
- package/.grimoire/development/tasks/ux-user-research.md +561 -0
- package/.grimoire/development/tasks/validate-agents.md +117 -0
- package/.grimoire/development/tasks/validate-next-story.md +456 -0
- package/.grimoire/development/tasks/validate-tech-preset.md +187 -0
- package/.grimoire/development/tasks/validate-workflow.md +323 -0
- package/.grimoire/development/tasks/verify-subtask.md +237 -0
- package/.grimoire/development/tasks/waves.md +206 -0
- package/.grimoire/development/tasks/yolo-toggle.md +115 -0
- package/.grimoire/development/templates/grimoire-doc-template.md +496 -0
- package/.grimoire/development/templates/research-prompt-tmpl.md +486 -0
- package/.grimoire/development/templates/service-template/README.md.hbs +159 -0
- package/.grimoire/development/templates/service-template/__tests__/index.test.ts.hbs +238 -0
- package/.grimoire/development/templates/service-template/client.ts.hbs +404 -0
- package/.grimoire/development/templates/service-template/errors.ts.hbs +183 -0
- package/.grimoire/development/templates/service-template/index.ts.hbs +121 -0
- package/.grimoire/development/templates/service-template/jest.config.js +89 -0
- package/.grimoire/development/templates/service-template/package.json.hbs +88 -0
- package/.grimoire/development/templates/service-template/tsconfig.json +45 -0
- package/.grimoire/development/templates/service-template/types.ts.hbs +146 -0
- package/.grimoire/development/templates/squad/agent-template.md +69 -0
- package/.grimoire/development/templates/squad/checklist-template.md +82 -0
- package/.grimoire/development/templates/squad/data-template.yaml +105 -0
- package/.grimoire/development/templates/squad/script-template.js +179 -0
- package/.grimoire/development/templates/squad/task-template.md +125 -0
- package/.grimoire/development/templates/squad/template-template.md +98 -0
- package/.grimoire/development/templates/squad/tool-template.js +103 -0
- package/.grimoire/development/templates/squad/workflow-template.yaml +108 -0
- package/.grimoire/development/templates/squad-template/LICENSE +21 -0
- package/.grimoire/development/templates/squad-template/README.md +37 -0
- package/.grimoire/development/templates/squad-template/agents/example-agent.yaml +36 -0
- package/.grimoire/development/templates/squad-template/package.json +20 -0
- package/.grimoire/development/templates/squad-template/squad.yaml +26 -0
- package/.grimoire/development/templates/squad-template/tasks/example-task.yaml +46 -0
- package/.grimoire/development/templates/squad-template/templates/example-template.md +24 -0
- package/.grimoire/development/templates/squad-template/tests/example-agent.test.js +54 -0
- package/.grimoire/development/templates/squad-template/workflows/example-workflow.yaml +54 -0
- package/.grimoire/development/templates/subagent-step-prompt.md +122 -0
- package/.grimoire/development/workflows/README.md +82 -0
- package/.grimoire/development/workflows/auto-worktree.yaml +423 -0
- package/.grimoire/development/workflows/brownfield-discovery.yaml +933 -0
- package/.grimoire/development/workflows/brownfield-fullstack.yaml +369 -0
- package/.grimoire/development/workflows/brownfield-service.yaml +246 -0
- package/.grimoire/development/workflows/brownfield-ui.yaml +260 -0
- package/.grimoire/development/workflows/design-system-build-quality.yaml +228 -0
- package/.grimoire/development/workflows/development-cycle.yaml +427 -0
- package/.grimoire/development/workflows/epic-orchestration.yaml +328 -0
- package/.grimoire/development/workflows/greenfield-fullstack.yaml +386 -0
- package/.grimoire/development/workflows/greenfield-service.yaml +278 -0
- package/.grimoire/development/workflows/greenfield-ui.yaml +284 -0
- package/.grimoire/development/workflows/qa-loop.yaml +444 -0
- package/.grimoire/development/workflows/spec-pipeline.yaml +577 -0
- package/.grimoire/development/workflows/story-development-cycle.yaml +285 -0
- package/.grimoire/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +574 -0
- package/.grimoire/docs/standards/EXECUTOR-DECISION-TREE.md +698 -0
- package/.grimoire/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +513 -0
- package/.grimoire/docs/standards/QUALITY-GATES-SPECIFICATION.md +558 -0
- package/.grimoire/docs/standards/STANDARDS-INDEX.md +212 -0
- package/.grimoire/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +551 -0
- package/.grimoire/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1415 -0
- package/.grimoire/docs/standards/grimoire-COLOR-PALETTE-QUICK-REFERENCE.md +186 -0
- package/.grimoire/docs/standards/grimoire-COLOR-PALETTE-V2.1.md +354 -0
- package/.grimoire/docs/standards/grimoire-LIVRO-DE-OURO-V2.1-COMPLETE.md +839 -0
- package/.grimoire/docs/standards/grimoire-LIVRO-DE-OURO-V2.2-SUMMARY.md +1341 -0
- package/.grimoire/elicitation/agent-elicitation.js +272 -0
- package/.grimoire/elicitation/task-elicitation.js +281 -0
- package/.grimoire/elicitation/workflow-elicitation.js +315 -0
- package/.grimoire/framework-config.yaml +152 -0
- package/.grimoire/hooks/gemini/after-tool.js +78 -0
- package/.grimoire/hooks/gemini/before-agent.js +80 -0
- package/.grimoire/hooks/gemini/before-tool.js +115 -0
- package/.grimoire/hooks/gemini/rewind-handler.js +69 -0
- package/.grimoire/hooks/gemini/session-end.js +91 -0
- package/.grimoire/hooks/gemini/session-start.js +91 -0
- package/.grimoire/hooks/ids-post-commit.js +118 -0
- package/.grimoire/hooks/ids-pre-push.js +125 -0
- package/.grimoire/hooks/unified/README.md +309 -0
- package/.grimoire/hooks/unified/hook-interface.js +161 -0
- package/.grimoire/hooks/unified/hook-registry.js +143 -0
- package/.grimoire/hooks/unified/index.js +36 -0
- package/.grimoire/hooks/unified/runners/precompact-runner.js +98 -0
- package/.grimoire/index.esm.js +17 -0
- package/.grimoire/index.js +17 -0
- package/.grimoire/infrastructure/README.md +128 -0
- package/.grimoire/infrastructure/contracts/compatibility/grimoire-4.0.4.yaml +46 -0
- package/.grimoire/infrastructure/index.js +200 -0
- package/.grimoire/infrastructure/integrations/ai-providers/README.md +103 -0
- package/.grimoire/infrastructure/integrations/ai-providers/ai-provider-factory.js +286 -0
- package/.grimoire/infrastructure/integrations/ai-providers/ai-provider.js +145 -0
- package/.grimoire/infrastructure/integrations/ai-providers/claude-provider.js +170 -0
- package/.grimoire/infrastructure/integrations/ai-providers/gemini-provider.js +365 -0
- package/.grimoire/infrastructure/integrations/ai-providers/index.js +45 -0
- package/.grimoire/infrastructure/integrations/gemini-extensions/cloudrun-adapter.js +129 -0
- package/.grimoire/infrastructure/integrations/gemini-extensions/index.js +41 -0
- package/.grimoire/infrastructure/integrations/gemini-extensions/policy-sync.js +74 -0
- package/.grimoire/infrastructure/integrations/gemini-extensions/security-adapter.js +159 -0
- package/.grimoire/infrastructure/integrations/gemini-extensions/supabase-adapter.js +88 -0
- package/.grimoire/infrastructure/integrations/gemini-extensions/workspace-adapter.js +100 -0
- package/.grimoire/infrastructure/integrations/pm-adapters/README.md +60 -0
- package/.grimoire/infrastructure/integrations/pm-adapters/clickup-adapter.js +345 -0
- package/.grimoire/infrastructure/integrations/pm-adapters/github-adapter.js +393 -0
- package/.grimoire/infrastructure/integrations/pm-adapters/jira-adapter.js +449 -0
- package/.grimoire/infrastructure/integrations/pm-adapters/local-adapter.js +176 -0
- package/.grimoire/infrastructure/schemas/agent-v3-schema.json +160 -0
- package/.grimoire/infrastructure/schemas/build-state.schema.json +158 -0
- package/.grimoire/infrastructure/schemas/task-v3-schema.json +152 -0
- package/.grimoire/infrastructure/scripts/approach-manager.js +1005 -0
- package/.grimoire/infrastructure/scripts/approval-workflow.js +644 -0
- package/.grimoire/infrastructure/scripts/asset-inventory.js +622 -0
- package/.grimoire/infrastructure/scripts/atomic-layer-classifier.js +309 -0
- package/.grimoire/infrastructure/scripts/backup-manager.js +607 -0
- package/.grimoire/infrastructure/scripts/batch-creator.js +609 -0
- package/.grimoire/infrastructure/scripts/branch-manager.js +391 -0
- package/.grimoire/infrastructure/scripts/capability-analyzer.js +535 -0
- package/.grimoire/infrastructure/scripts/changelog-generator.js +554 -0
- package/.grimoire/infrastructure/scripts/cicd-discovery.js +1269 -0
- package/.grimoire/infrastructure/scripts/clickup-helpers.js +227 -0
- package/.grimoire/infrastructure/scripts/code-quality-improver.js +1312 -0
- package/.grimoire/infrastructure/scripts/codebase-mapper.js +1288 -0
- package/.grimoire/infrastructure/scripts/codex-skills-sync/index.js +184 -0
- package/.grimoire/infrastructure/scripts/codex-skills-sync/validate.js +174 -0
- package/.grimoire/infrastructure/scripts/commit-message-generator.js +850 -0
- package/.grimoire/infrastructure/scripts/component-generator.js +738 -0
- package/.grimoire/infrastructure/scripts/component-metadata.js +628 -0
- package/.grimoire/infrastructure/scripts/component-search.js +278 -0
- package/.grimoire/infrastructure/scripts/config-cache.js +322 -0
- package/.grimoire/infrastructure/scripts/config-loader.js +351 -0
- package/.grimoire/infrastructure/scripts/conflict-resolver.js +675 -0
- package/.grimoire/infrastructure/scripts/coverage-analyzer.js +882 -0
- package/.grimoire/infrastructure/scripts/dashboard-status-writer.js +310 -0
- package/.grimoire/infrastructure/scripts/dependency-analyzer.js +639 -0
- package/.grimoire/infrastructure/scripts/dependency-impact-analyzer.js +704 -0
- package/.grimoire/infrastructure/scripts/diff-generator.js +129 -0
- package/.grimoire/infrastructure/scripts/documentation-integrity/brownfield-analyzer.js +502 -0
- package/.grimoire/infrastructure/scripts/documentation-integrity/config-generator.js +369 -0
- package/.grimoire/infrastructure/scripts/documentation-integrity/deployment-config-loader.js +309 -0
- package/.grimoire/infrastructure/scripts/documentation-integrity/doc-generator.js +331 -0
- package/.grimoire/infrastructure/scripts/documentation-integrity/gitignore-generator.js +314 -0
- package/.grimoire/infrastructure/scripts/documentation-integrity/index.js +75 -0
- package/.grimoire/infrastructure/scripts/documentation-integrity/mode-detector.js +391 -0
- package/.grimoire/infrastructure/scripts/documentation-synchronizer.js +1432 -0
- package/.grimoire/infrastructure/scripts/framework-analyzer.js +763 -0
- package/.grimoire/infrastructure/scripts/git-config-detector.js +293 -0
- package/.grimoire/infrastructure/scripts/git-hooks/post-commit.js +75 -0
- package/.grimoire/infrastructure/scripts/git-wrapper.js +444 -0
- package/.grimoire/infrastructure/scripts/gotchas-documenter.js +1296 -0
- package/.grimoire/infrastructure/scripts/grimoire-validator.js +295 -0
- package/.grimoire/infrastructure/scripts/ide-sync/README.md +220 -0
- package/.grimoire/infrastructure/scripts/ide-sync/agent-parser.js +295 -0
- package/.grimoire/infrastructure/scripts/ide-sync/gemini-commands.js +207 -0
- package/.grimoire/infrastructure/scripts/ide-sync/index.js +540 -0
- package/.grimoire/infrastructure/scripts/ide-sync/redirect-generator.js +179 -0
- package/.grimoire/infrastructure/scripts/ide-sync/transformers/antigravity.js +107 -0
- package/.grimoire/infrastructure/scripts/ide-sync/transformers/claude-code.js +86 -0
- package/.grimoire/infrastructure/scripts/ide-sync/transformers/cursor.js +96 -0
- package/.grimoire/infrastructure/scripts/ide-sync/validator.js +273 -0
- package/.grimoire/infrastructure/scripts/improvement-engine.js +758 -0
- package/.grimoire/infrastructure/scripts/improvement-validator.js +710 -0
- package/.grimoire/infrastructure/scripts/llm-routing/install-llm-routing.js +282 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +129 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-free.cmd +80 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-free.sh +62 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-max.cmd +26 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-max.sh +18 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +73 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +53 -0
- package/.grimoire/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
- package/.grimoire/infrastructure/scripts/llm-routing/usage-tracker/index.js +551 -0
- package/.grimoire/infrastructure/scripts/migrate-agent.js +528 -0
- package/.grimoire/infrastructure/scripts/modification-risk-assessment.js +970 -0
- package/.grimoire/infrastructure/scripts/modification-validator.js +555 -0
- package/.grimoire/infrastructure/scripts/output-formatter.js +298 -0
- package/.grimoire/infrastructure/scripts/path-analyzer.js +476 -0
- package/.grimoire/infrastructure/scripts/pattern-extractor.js +1563 -0
- package/.grimoire/infrastructure/scripts/performance-analyzer.js +758 -0
- package/.grimoire/infrastructure/scripts/performance-and-error-resolver.js +258 -0
- package/.grimoire/infrastructure/scripts/performance-optimizer.js +1902 -0
- package/.grimoire/infrastructure/scripts/performance-tracker.js +454 -0
- package/.grimoire/infrastructure/scripts/plan-tracker.js +922 -0
- package/.grimoire/infrastructure/scripts/pm-adapter-factory.js +182 -0
- package/.grimoire/infrastructure/scripts/pm-adapter.js +134 -0
- package/.grimoire/infrastructure/scripts/pr-review-ai.js +1062 -0
- package/.grimoire/infrastructure/scripts/project-status-loader.js +850 -0
- package/.grimoire/infrastructure/scripts/qa-loop-orchestrator.js +1264 -0
- package/.grimoire/infrastructure/scripts/qa-report-generator.js +1154 -0
- package/.grimoire/infrastructure/scripts/recovery-tracker.js +965 -0
- package/.grimoire/infrastructure/scripts/refactoring-suggester.js +1139 -0
- package/.grimoire/infrastructure/scripts/repository-detector.js +66 -0
- package/.grimoire/infrastructure/scripts/rollback-manager.js +734 -0
- package/.grimoire/infrastructure/scripts/sandbox-tester.js +618 -0
- package/.grimoire/infrastructure/scripts/security-checker.js +359 -0
- package/.grimoire/infrastructure/scripts/spot-check-validator.js +149 -0
- package/.grimoire/infrastructure/scripts/status-mapper.js +116 -0
- package/.grimoire/infrastructure/scripts/story-worktree-hooks.js +426 -0
- package/.grimoire/infrastructure/scripts/stuck-detector.js +1251 -0
- package/.grimoire/infrastructure/scripts/subtask-verifier.js +793 -0
- package/.grimoire/infrastructure/scripts/template-engine.js +240 -0
- package/.grimoire/infrastructure/scripts/template-validator.js +279 -0
- package/.grimoire/infrastructure/scripts/test-discovery.js +1259 -0
- package/.grimoire/infrastructure/scripts/test-generator.js +845 -0
- package/.grimoire/infrastructure/scripts/test-quality-assessment.js +1082 -0
- package/.grimoire/infrastructure/scripts/test-utilities-fast.js +126 -0
- package/.grimoire/infrastructure/scripts/test-utilities.js +201 -0
- package/.grimoire/infrastructure/scripts/tool-resolver.js +362 -0
- package/.grimoire/infrastructure/scripts/transaction-manager.js +590 -0
- package/.grimoire/infrastructure/scripts/usage-analytics.js +636 -0
- package/.grimoire/infrastructure/scripts/validate-agents.js +527 -0
- package/.grimoire/infrastructure/scripts/validate-claude-integration.js +103 -0
- package/.grimoire/infrastructure/scripts/validate-codex-integration.js +143 -0
- package/.grimoire/infrastructure/scripts/validate-gemini-integration.js +153 -0
- package/.grimoire/infrastructure/scripts/validate-output-pattern.js +213 -0
- package/.grimoire/infrastructure/scripts/validate-parity.js +357 -0
- package/.grimoire/infrastructure/scripts/validate-paths.js +144 -0
- package/.grimoire/infrastructure/scripts/validate-user-profile.js +251 -0
- package/.grimoire/infrastructure/scripts/visual-impact-generator.js +1056 -0
- package/.grimoire/infrastructure/scripts/worktree-manager.js +704 -0
- package/.grimoire/infrastructure/scripts/yaml-validator.js +397 -0
- package/.grimoire/infrastructure/templates/coderabbit.yaml.template +280 -0
- package/.grimoire/infrastructure/templates/core-config/core-config-brownfield.tmpl.yaml +177 -0
- package/.grimoire/infrastructure/templates/core-config/core-config-greenfield.tmpl.yaml +169 -0
- package/.grimoire/infrastructure/templates/github-workflows/README.md +110 -0
- package/.grimoire/infrastructure/templates/github-workflows/ci.yml.template +170 -0
- package/.grimoire/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -0
- package/.grimoire/infrastructure/templates/github-workflows/release.yml.template +197 -0
- package/.grimoire/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +20 -0
- package/.grimoire/infrastructure/templates/gitignore/gitignore-grimoire-base.tmpl +65 -0
- package/.grimoire/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -0
- package/.grimoire/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -0
- package/.grimoire/infrastructure/templates/grimoire-sync.yaml.template +183 -0
- package/.grimoire/infrastructure/templates/project-docs/coding-standards-tmpl.md +347 -0
- package/.grimoire/infrastructure/templates/project-docs/source-tree-tmpl.md +179 -0
- package/.grimoire/infrastructure/templates/project-docs/tech-stack-tmpl.md +269 -0
- package/.grimoire/infrastructure/tests/project-status-loader.test.js +569 -0
- package/.grimoire/infrastructure/tests/regression-suite-v2.md +622 -0
- package/.grimoire/infrastructure/tests/validate-module.js +98 -0
- package/.grimoire/infrastructure/tests/worktree-manager.test.js +620 -0
- package/.grimoire/infrastructure/tools/README.md +224 -0
- package/.grimoire/infrastructure/tools/cli/github-cli.yaml +200 -0
- package/.grimoire/infrastructure/tools/cli/llm-routing.yaml +128 -0
- package/.grimoire/infrastructure/tools/cli/railway-cli.yaml +260 -0
- package/.grimoire/infrastructure/tools/cli/supabase-cli.yaml +224 -0
- package/.grimoire/infrastructure/tools/local/ffmpeg.yaml +261 -0
- package/.grimoire/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -0
- package/.grimoire/infrastructure/tools/mcp/browser.yaml +103 -0
- package/.grimoire/infrastructure/tools/mcp/clickup.yaml +535 -0
- package/.grimoire/infrastructure/tools/mcp/context7.yaml +78 -0
- package/.grimoire/infrastructure/tools/mcp/desktop-commander.yaml +180 -0
- package/.grimoire/infrastructure/tools/mcp/exa.yaml +103 -0
- package/.grimoire/infrastructure/tools/mcp/google-workspace.yaml +930 -0
- package/.grimoire/infrastructure/tools/mcp/n8n.yaml +551 -0
- package/.grimoire/infrastructure/tools/mcp/supabase.yaml +808 -0
- package/.grimoire/install-manifest.yaml +4058 -0
- package/.grimoire/local-config.yaml.template +73 -0
- package/.grimoire/manifests/schema/manifest-schema.json +191 -0
- package/.grimoire/monitor/hooks/lib/__init__.py +2 -0
- package/.grimoire/monitor/hooks/lib/enrich.py +59 -0
- package/.grimoire/monitor/hooks/lib/send_event.py +48 -0
- package/.grimoire/monitor/hooks/notification.py +30 -0
- package/.grimoire/monitor/hooks/post_tool_use.py +46 -0
- package/.grimoire/monitor/hooks/pre_compact.py +30 -0
- package/.grimoire/monitor/hooks/pre_tool_use.py +41 -0
- package/.grimoire/monitor/hooks/stop.py +30 -0
- package/.grimoire/monitor/hooks/subagent_stop.py +30 -0
- package/.grimoire/monitor/hooks/user_prompt_submit.py +39 -0
- package/.grimoire/package.json +104 -0
- package/.grimoire/presets/README.md +359 -0
- package/.grimoire/product/README.md +57 -0
- package/.grimoire/product/checklists/accessibility-wcag-checklist.md +80 -0
- package/.grimoire/product/checklists/architect-checklist.md +444 -0
- package/.grimoire/product/checklists/change-checklist.md +183 -0
- package/.grimoire/product/checklists/component-quality-checklist.md +74 -0
- package/.grimoire/product/checklists/database-design-checklist.md +119 -0
- package/.grimoire/product/checklists/dba-predeploy-checklist.md +97 -0
- package/.grimoire/product/checklists/dba-rollback-checklist.md +99 -0
- package/.grimoire/product/checklists/migration-readiness-checklist.md +75 -0
- package/.grimoire/product/checklists/pattern-audit-checklist.md +88 -0
- package/.grimoire/product/checklists/pm-checklist.md +376 -0
- package/.grimoire/product/checklists/po-master-checklist.md +442 -0
- package/.grimoire/product/checklists/pre-push-checklist.md +108 -0
- package/.grimoire/product/checklists/release-checklist.md +122 -0
- package/.grimoire/product/checklists/self-critique-checklist.md +387 -0
- package/.grimoire/product/checklists/story-dod-checklist.md +102 -0
- package/.grimoire/product/checklists/story-draft-checklist.md +216 -0
- package/.grimoire/product/data/atomic-design-principles.md +108 -0
- package/.grimoire/product/data/brainstorming-techniques.md +37 -0
- package/.grimoire/product/data/consolidation-algorithms.md +142 -0
- package/.grimoire/product/data/database-best-practices.md +182 -0
- package/.grimoire/product/data/design-token-best-practices.md +107 -0
- package/.grimoire/product/data/elicitation-methods.md +135 -0
- package/.grimoire/product/data/integration-patterns.md +207 -0
- package/.grimoire/product/data/migration-safety-guide.md +329 -0
- package/.grimoire/product/data/mode-selection-best-practices.md +471 -0
- package/.grimoire/product/data/postgres-tuning-guide.md +300 -0
- package/.grimoire/product/data/rls-security-patterns.md +333 -0
- package/.grimoire/product/data/roi-calculation-guide.md +142 -0
- package/.grimoire/product/data/supabase-patterns.md +330 -0
- package/.grimoire/product/data/test-levels-framework.md +149 -0
- package/.grimoire/product/data/test-priorities-matrix.md +175 -0
- package/.grimoire/product/data/wcag-compliance-guide.md +267 -0
- package/.grimoire/product/templates/activation-instructions-inline-greeting.yaml +64 -0
- package/.grimoire/product/templates/activation-instructions-template.md +260 -0
- package/.grimoire/product/templates/adr.hbs +126 -0
- package/.grimoire/product/templates/agent-template.yaml +122 -0
- package/.grimoire/product/templates/architecture-tmpl.yaml +651 -0
- package/.grimoire/product/templates/brainstorming-output-tmpl.yaml +156 -0
- package/.grimoire/product/templates/brownfield-architecture-tmpl.yaml +476 -0
- package/.grimoire/product/templates/brownfield-prd-tmpl.yaml +280 -0
- package/.grimoire/product/templates/brownfield-risk-report-tmpl.yaml +278 -0
- package/.grimoire/product/templates/changelog-template.md +134 -0
- package/.grimoire/product/templates/command-rationalization-matrix.md +154 -0
- package/.grimoire/product/templates/competitor-analysis-tmpl.yaml +293 -0
- package/.grimoire/product/templates/component-react-tmpl.tsx +98 -0
- package/.grimoire/product/templates/current-approach-tmpl.md +56 -0
- package/.grimoire/product/templates/dbdr.hbs +242 -0
- package/.grimoire/product/templates/design-story-tmpl.yaml +588 -0
- package/.grimoire/product/templates/ds-artifact-analysis.md +70 -0
- package/.grimoire/product/templates/engine/elicitation.js +298 -0
- package/.grimoire/product/templates/engine/index.js +310 -0
- package/.grimoire/product/templates/engine/loader.js +232 -0
- package/.grimoire/product/templates/engine/renderer.js +343 -0
- package/.grimoire/product/templates/engine/schemas/adr.schema.json +102 -0
- package/.grimoire/product/templates/engine/schemas/dbdr.schema.json +205 -0
- package/.grimoire/product/templates/engine/schemas/epic.schema.json +175 -0
- package/.grimoire/product/templates/engine/schemas/pmdr.schema.json +175 -0
- package/.grimoire/product/templates/engine/schemas/prd-v2.schema.json +300 -0
- package/.grimoire/product/templates/engine/schemas/prd.schema.json +152 -0
- package/.grimoire/product/templates/engine/schemas/story.schema.json +222 -0
- package/.grimoire/product/templates/engine/schemas/task.schema.json +154 -0
- package/.grimoire/product/templates/engine/validator.js +295 -0
- package/.grimoire/product/templates/epic.hbs +213 -0
- package/.grimoire/product/templates/eslintrc-security.json +32 -0
- package/.grimoire/product/templates/front-end-architecture-tmpl.yaml +206 -0
- package/.grimoire/product/templates/front-end-spec-tmpl.yaml +349 -0
- package/.grimoire/product/templates/fullstack-architecture-tmpl.yaml +805 -0
- package/.grimoire/product/templates/gemini/settings.json +81 -0
- package/.grimoire/product/templates/github-actions-cd.yml +213 -0
- package/.grimoire/product/templates/github-actions-ci.yml +173 -0
- package/.grimoire/product/templates/github-pr-template.md +68 -0
- package/.grimoire/product/templates/gordon-mcp.yaml +141 -0
- package/.grimoire/product/templates/grimoire-ai-config.yaml +107 -0
- package/.grimoire/product/templates/ide-rules/antigravity-rules.md +117 -0
- package/.grimoire/product/templates/ide-rules/claude-rules.md +233 -0
- package/.grimoire/product/templates/ide-rules/codex-rules.md +67 -0
- package/.grimoire/product/templates/ide-rules/copilot-rules.md +94 -0
- package/.grimoire/product/templates/ide-rules/cursor-rules.md +116 -0
- package/.grimoire/product/templates/ide-rules/gemini-rules.md +89 -0
- package/.grimoire/product/templates/index-strategy-tmpl.yaml +53 -0
- package/.grimoire/product/templates/market-research-tmpl.yaml +252 -0
- package/.grimoire/product/templates/mcp-workflow.js +273 -0
- package/.grimoire/product/templates/migration-plan-tmpl.yaml +1022 -0
- package/.grimoire/product/templates/migration-strategy-tmpl.md +524 -0
- package/.grimoire/product/templates/personalized-agent-template.md +260 -0
- package/.grimoire/product/templates/personalized-checklist-template.md +341 -0
- package/.grimoire/product/templates/personalized-task-template-v2.md +907 -0
- package/.grimoire/product/templates/personalized-task-template.md +345 -0
- package/.grimoire/product/templates/personalized-template-file.yaml +323 -0
- package/.grimoire/product/templates/personalized-workflow-template.yaml +461 -0
- package/.grimoire/product/templates/pmdr.hbs +187 -0
- package/.grimoire/product/templates/prd-tmpl.yaml +202 -0
- package/.grimoire/product/templates/prd-v2.0.hbs +217 -0
- package/.grimoire/product/templates/prd.hbs +202 -0
- package/.grimoire/product/templates/project-brief-tmpl.yaml +221 -0
- package/.grimoire/product/templates/qa-gate-tmpl.yaml +240 -0
- package/.grimoire/product/templates/qa-report-tmpl.md +235 -0
- package/.grimoire/product/templates/rls-policies-tmpl.yaml +1203 -0
- package/.grimoire/product/templates/schema-design-tmpl.yaml +428 -0
- package/.grimoire/product/templates/shock-report-tmpl.html +502 -0
- package/.grimoire/product/templates/spec-tmpl.md +235 -0
- package/.grimoire/product/templates/state-persistence-tmpl.yaml +219 -0
- package/.grimoire/product/templates/statusline/statusline-script.js +190 -0
- package/.grimoire/product/templates/statusline/track-agent.sh +70 -0
- package/.grimoire/product/templates/story-tmpl.yaml +369 -0
- package/.grimoire/product/templates/story.hbs +264 -0
- package/.grimoire/product/templates/task-execution-report.md +496 -0
- package/.grimoire/product/templates/task-template.md +123 -0
- package/.grimoire/product/templates/task.hbs +171 -0
- package/.grimoire/product/templates/tmpl-comment-on-examples.sql +158 -0
- package/.grimoire/product/templates/tmpl-migration-script.sql +91 -0
- package/.grimoire/product/templates/tmpl-rls-granular-policies.sql +104 -0
- package/.grimoire/product/templates/tmpl-rls-kiss-policy.sql +10 -0
- package/.grimoire/product/templates/tmpl-rls-roles.sql +135 -0
- package/.grimoire/product/templates/tmpl-rls-simple.sql +77 -0
- package/.grimoire/product/templates/tmpl-rls-tenant.sql +152 -0
- package/.grimoire/product/templates/tmpl-rollback-script.sql +77 -0
- package/.grimoire/product/templates/tmpl-seed-data.sql +140 -0
- package/.grimoire/product/templates/tmpl-smoke-test.sql +16 -0
- package/.grimoire/product/templates/tmpl-staging-copy-merge.sql +139 -0
- package/.grimoire/product/templates/tmpl-stored-proc.sql +140 -0
- package/.grimoire/product/templates/tmpl-trigger.sql +152 -0
- package/.grimoire/product/templates/tmpl-view-materialized.sql +133 -0
- package/.grimoire/product/templates/tmpl-view.sql +177 -0
- package/.grimoire/product/templates/token-exports-css-tmpl.css +240 -0
- package/.grimoire/product/templates/token-exports-tailwind-tmpl.js +395 -0
- package/.grimoire/product/templates/tokens-schema-tmpl.yaml +305 -0
- package/.grimoire/product/templates/workflow-template.yaml +152 -0
- package/.grimoire/project-config.yaml +166 -0
- package/.grimoire/quality/metrics-collector.js +601 -0
- package/.grimoire/quality/metrics-hook.js +261 -0
- package/.grimoire/quality/schemas/quality-metrics.schema.json +234 -0
- package/.grimoire/quality/seed-metrics.js +336 -0
- package/.grimoire/schemas/README.md +405 -0
- package/.grimoire/schemas/agent-v3-schema.json +395 -0
- package/.grimoire/schemas/squad-design-schema.json +300 -0
- package/.grimoire/schemas/squad-schema.json +187 -0
- package/.grimoire/schemas/task-v3-schema.json +354 -0
- package/.grimoire/schemas/validate-v3-schema.js +431 -0
- package/.grimoire/scripts/README.md +124 -0
- package/.grimoire/scripts/batch-migrate-phase1.ps1 +37 -0
- package/.grimoire/scripts/batch-migrate-phase2.ps1 +89 -0
- package/.grimoire/scripts/batch-migrate-phase3.ps1 +46 -0
- package/.grimoire/scripts/command-execution-hook.js +202 -0
- package/.grimoire/scripts/diagnostics/diagnose-installation.js +276 -0
- package/.grimoire/scripts/diagnostics/diagnose-npx-issue.ps1 +98 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/README.md +123 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/index.html +14 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/package-lock.json +5262 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/package.json +25 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/public/favicon.svg +10 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/App.jsx +22 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/AutoFixLog.css +122 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/AutoFixLog.jsx +72 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/DomainCard.css +121 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/DomainCard.jsx +116 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/HealthScore.css +80 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/HealthScore.jsx +81 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/IssuesList.css +184 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/IssuesList.jsx +145 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/TechDebtList.css +114 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/TechDebtList.jsx +72 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/index.js +9 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Card.css +44 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Card.jsx +25 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Chart.css +14 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Chart.jsx +138 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Header.css +54 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Header.jsx +22 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/StatusBadge.css +77 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/StatusBadge.jsx +45 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/index.js +4 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/hooks/index.js +2 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/hooks/useAutoRefresh.js +89 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/hooks/useHealthData.js +308 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/main.jsx +13 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/Dashboard.css +238 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/Dashboard.jsx +154 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/DomainDetail.css +259 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/DomainDetail.jsx +164 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/index.js +2 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/styles/App.css +19 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/src/styles/index.css +67 -0
- package/.grimoire/scripts/diagnostics/health-dashboard/vite.config.js +23 -0
- package/.grimoire/scripts/diagnostics/quick-diagnose.cmd +86 -0
- package/.grimoire/scripts/diagnostics/quick-diagnose.ps1 +118 -0
- package/.grimoire/scripts/grimoire-doc-template.md +326 -0
- package/.grimoire/scripts/migrate-framework-docs.sh +302 -0
- package/.grimoire/scripts/pm.sh +455 -0
- package/.grimoire/scripts/session-context-loader.js +46 -0
- package/.grimoire/scripts/test-template-system.js +942 -0
- package/.grimoire/scripts/update-grimoire.sh +176 -0
- package/.grimoire/scripts/validate-phase1.ps1 +36 -0
- package/.grimoire/scripts/workflow-management.md +70 -0
- package/.grimoire/user-guide.md +1411 -0
- package/.grimoire/utils/format-duration.js +95 -0
- package/.grimoire/utils/grimoire-validator.js +27 -0
- package/.grimoire/workflow-intelligence/__tests__/confidence-scorer.test.js +334 -0
- package/.grimoire/workflow-intelligence/__tests__/integration.test.js +339 -0
- package/.grimoire/workflow-intelligence/__tests__/suggestion-engine.test.js +437 -0
- package/.grimoire/workflow-intelligence/__tests__/wave-analyzer.test.js +447 -0
- package/.grimoire/workflow-intelligence/__tests__/workflow-registry.test.js +302 -0
- package/.grimoire/workflow-intelligence/engine/confidence-scorer.js +306 -0
- package/.grimoire/workflow-intelligence/engine/output-formatter.js +299 -0
- package/.grimoire/workflow-intelligence/engine/suggestion-engine.js +798 -0
- package/.grimoire/workflow-intelligence/engine/wave-analyzer.js +683 -0
- package/.grimoire/workflow-intelligence/index.js +330 -0
- package/.grimoire/workflow-intelligence/learning/capture-hook.js +148 -0
- package/.grimoire/workflow-intelligence/learning/gotcha-registry.js +654 -0
- package/.grimoire/workflow-intelligence/learning/index.js +306 -0
- package/.grimoire/workflow-intelligence/learning/pattern-capture.js +330 -0
- package/.grimoire/workflow-intelligence/learning/pattern-store.js +497 -0
- package/.grimoire/workflow-intelligence/learning/pattern-validator.js +310 -0
- package/.grimoire/workflow-intelligence/learning/qa-feedback.js +586 -0
- package/.grimoire/workflow-intelligence/learning/semantic-search.js +521 -0
- package/.grimoire/workflow-intelligence/registry/workflow-registry.js +357 -0
- package/.grimoire/working-in-the-brownfield.md +362 -0
- package/LICENSE +25 -0
- package/README.md +59 -0
- package/bin/grimoire-ids.js +560 -0
- package/bin/grimoire-init.js +1232 -0
- package/bin/grimoire-minimal.js +40 -0
- package/bin/grimoire.js +1118 -0
- package/bin/modules/env-config.js +436 -0
- package/bin/modules/mcp-installer.js +384 -0
- package/bin/utils/install-errors.js +340 -0
- package/bin/utils/install-transaction.js +447 -0
- package/bin/utils/pro-detector.js +110 -0
- package/package.json +158 -0
- package/packages/gemini-grimoire-extension/README.md +55 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-agent.js +7 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-agents.js +51 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-analyst.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-architect.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-data-engineer.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-dev.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-devops.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-master.js +7 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-menu.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-pm.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-po.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-qa.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-sm.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-squad-creator.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-status.js +68 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-ux-design-expert.js +6 -0
- package/packages/gemini-grimoire-extension/commands/grimoire-validate.js +35 -0
- package/packages/gemini-grimoire-extension/commands/lib/agent-launcher.js +147 -0
- package/packages/gemini-grimoire-extension/extension.json +149 -0
- package/packages/gemini-grimoire-extension/gemini-extension.json +149 -0
- package/packages/gemini-grimoire-extension/hooks/hooks.json +72 -0
- package/packages/grimoire-install/.releaserc.json +39 -0
- package/packages/grimoire-install/CHANGELOG.md +33 -0
- package/packages/grimoire-install/README.md +119 -0
- package/packages/grimoire-install/bin/edmcp.js +80 -0
- package/packages/grimoire-install/bin/grimoire-install.js +51 -0
- package/packages/grimoire-install/jest.config.js +27 -0
- package/packages/grimoire-install/package.json +68 -0
- package/packages/grimoire-install/src/dep-checker.js +306 -0
- package/packages/grimoire-install/src/edmcp/index.js +382 -0
- package/packages/grimoire-install/src/installer.js +487 -0
- package/packages/grimoire-install/src/os-detector.js +280 -0
- package/packages/grimoire-pro-cli/bin/grimoire-pro.js +233 -0
- package/packages/grimoire-pro-cli/package.json +38 -0
- package/packages/grimoire-pro-cli/src/recover.js +101 -0
- package/packages/installer/package.json +40 -0
- package/packages/installer/src/__tests__/performance-benchmark.js +384 -0
- package/packages/installer/src/config/configure-environment.js +373 -0
- package/packages/installer/src/config/ide-configs.js +161 -0
- package/packages/installer/src/config/templates/core-config-template.js +199 -0
- package/packages/installer/src/config/templates/env-template.js +272 -0
- package/packages/installer/src/config/validation/config-validator.js +244 -0
- package/packages/installer/src/detection/detect-project-type.js +83 -0
- package/packages/installer/src/installer/brownfield-upgrader.js +440 -0
- package/packages/installer/src/installer/dependency-installer.js +335 -0
- package/packages/installer/src/installer/file-hasher.js +234 -0
- package/packages/installer/src/installer/grimoire-core-installer.js +428 -0
- package/packages/installer/src/installer/manifest-signature.js +380 -0
- package/packages/installer/src/installer/post-install-validator.js +1524 -0
- package/packages/installer/src/merger/index.js +72 -0
- package/packages/installer/src/merger/parsers/env-parser.js +153 -0
- package/packages/installer/src/merger/parsers/markdown-section-parser.js +199 -0
- package/packages/installer/src/merger/strategies/base-merger.js +61 -0
- package/packages/installer/src/merger/strategies/env-merger.js +138 -0
- package/packages/installer/src/merger/strategies/index.js +105 -0
- package/packages/installer/src/merger/strategies/markdown-merger.js +208 -0
- package/packages/installer/src/merger/strategies/replace-merger.js +68 -0
- package/packages/installer/src/merger/types.js +72 -0
- package/packages/installer/src/pro/pro-scaffolder.js +387 -0
- package/packages/installer/src/updater/index.js +814 -0
- package/packages/installer/src/utils/grimoire-colors.js +235 -0
- package/packages/installer/src/wizard/feedback.js +232 -0
- package/packages/installer/src/wizard/i18n.js +230 -0
- package/packages/installer/src/wizard/ide-config-generator.js +993 -0
- package/packages/installer/src/wizard/ide-selector.js +86 -0
- package/packages/installer/src/wizard/index.js +831 -0
- package/packages/installer/src/wizard/pro-setup.js +1223 -0
- package/packages/installer/src/wizard/questions.js +336 -0
- package/packages/installer/src/wizard/validation/index.js +121 -0
- package/packages/installer/src/wizard/validation/report-generator.js +254 -0
- package/packages/installer/src/wizard/validation/troubleshooting-system.js +348 -0
- package/packages/installer/src/wizard/validation/validators/config-validator.js +364 -0
- package/packages/installer/src/wizard/validation/validators/dependency-validator.js +333 -0
- package/packages/installer/src/wizard/validation/validators/file-structure-validator.js +175 -0
- package/packages/installer/src/wizard/validation/validators/mcp-health-checker.js +310 -0
- package/packages/installer/src/wizard/validators.js +274 -0
- package/packages/installer/src/wizard/wizard.js +246 -0
- package/packages/installer/tests/integration/environment-configuration.test.js +331 -0
- package/packages/installer/tests/integration/wizard-detection.test.js +353 -0
- package/packages/installer/tests/unit/config-validator.test.js +316 -0
- package/packages/installer/tests/unit/detection/detect-project-type.test.js +403 -0
- package/packages/installer/tests/unit/env-template.test.js +189 -0
- package/packages/installer/tests/unit/merger/env-merger.test.js +192 -0
- package/packages/installer/tests/unit/merger/markdown-merger.test.js +262 -0
- package/packages/installer/tests/unit/merger/strategies.test.js +153 -0
- package/scripts/check-markdown-links.py +353 -0
- package/scripts/code-intel-health-check.js +344 -0
- package/scripts/dashboard-parallel-dev.sh +184 -0
- package/scripts/dashboard-parallel-phase3.sh +130 -0
- package/scripts/dashboard-parallel-phase4.sh +131 -0
- package/scripts/ensure-manifest.js +59 -0
- package/scripts/generate-install-manifest.js +368 -0
- package/scripts/install-monitor-hooks.sh +83 -0
- package/scripts/package-synapse.js +325 -0
- package/scripts/semantic-lint.js +191 -0
- package/scripts/sign-manifest.ps1 +132 -0
- package/scripts/sign-manifest.sh +122 -0
- package/scripts/validate-manifest.js +267 -0
- package/scripts/validate-package-completeness.js +319 -0
|
@@ -0,0 +1,861 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
## Execution Modes
|
|
4
|
+
|
|
5
|
+
**This task always runs in Engine Mode** — real subagent spawning via Task tool.
|
|
6
|
+
|
|
7
|
+
For guided automation (persona-switching), use `run-workflow.md` directly.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Task Definition (grimoire Task Format V1.0)
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
task: runWorkflowEngine()
|
|
15
|
+
responsavel: Orion (Commander)
|
|
16
|
+
responsavel_type: Agente
|
|
17
|
+
atomic_layer: Config
|
|
18
|
+
|
|
19
|
+
**Entrada:**
|
|
20
|
+
- campo: workflow_name
|
|
21
|
+
tipo: string
|
|
22
|
+
origem: Delegated from run-workflow.md
|
|
23
|
+
obrigatório: true
|
|
24
|
+
validação: Must match an existing workflow YAML file
|
|
25
|
+
|
|
26
|
+
- campo: target_context
|
|
27
|
+
tipo: string
|
|
28
|
+
origem: Delegated from run-workflow.md
|
|
29
|
+
obrigatório: false
|
|
30
|
+
validação: Must be "core", "squad", or "hybrid". Default: "core"
|
|
31
|
+
|
|
32
|
+
- campo: squad_name
|
|
33
|
+
tipo: string
|
|
34
|
+
origem: Delegated from run-workflow.md
|
|
35
|
+
obrigatório: false (required when target_context="squad" or "hybrid")
|
|
36
|
+
validação: Must be kebab-case, squad must exist in squads/
|
|
37
|
+
|
|
38
|
+
- campo: action
|
|
39
|
+
tipo: string
|
|
40
|
+
origem: Delegated from run-workflow.md
|
|
41
|
+
obrigatório: false
|
|
42
|
+
validação: Must be "start", "continue", "status", "skip", or "abort". Default: "continue"
|
|
43
|
+
|
|
44
|
+
**Saída:**
|
|
45
|
+
- campo: workflow_state
|
|
46
|
+
tipo: object
|
|
47
|
+
destino: File system (.grimoire/{instance-id}-engine-state.yaml)
|
|
48
|
+
persistido: true
|
|
49
|
+
|
|
50
|
+
- campo: execution_report
|
|
51
|
+
tipo: object
|
|
52
|
+
destino: Output
|
|
53
|
+
persistido: false
|
|
54
|
+
|
|
55
|
+
- campo: step_outputs
|
|
56
|
+
tipo: map
|
|
57
|
+
destino: In-memory state (passed between steps)
|
|
58
|
+
persistido: true (in state file)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Pre-Conditions
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
pre-conditions:
|
|
67
|
+
- [ ] workflow_name must resolve to an existing YAML file
|
|
68
|
+
tipo: pre-condition
|
|
69
|
+
blocker: true
|
|
70
|
+
validação: |
|
|
71
|
+
Check workflow file exists at resolved path
|
|
72
|
+
error_message: "Pre-condition failed: Workflow '{workflow_name}' not found"
|
|
73
|
+
- [ ] When target_context="squad" or "hybrid", squad directory must exist
|
|
74
|
+
tipo: pre-condition
|
|
75
|
+
blocker: true
|
|
76
|
+
validação: |
|
|
77
|
+
If target_context is "squad" or "hybrid", verify squads/{squad_name}/ exists
|
|
78
|
+
error_message: "Pre-condition failed: Squad '{squad_name}' not found"
|
|
79
|
+
- [ ] For action=continue/status/skip/abort, an active engine state file must exist
|
|
80
|
+
tipo: pre-condition
|
|
81
|
+
blocker: true
|
|
82
|
+
validação: |
|
|
83
|
+
Check .grimoire/{instance-id}-engine-state.yaml exists with status=active
|
|
84
|
+
error_message: "Pre-condition failed: No active engine workflow instance found. Use action=start first."
|
|
85
|
+
- [ ] Task tool must be available for subagent spawning
|
|
86
|
+
tipo: pre-condition
|
|
87
|
+
blocker: true
|
|
88
|
+
validação: |
|
|
89
|
+
Verify Task tool is accessible in the current Claude Code session
|
|
90
|
+
error_message: "Pre-condition failed: Task tool not available"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Post-Conditions
|
|
96
|
+
|
|
97
|
+
```yaml
|
|
98
|
+
post-conditions:
|
|
99
|
+
- [ ] All non-optional steps completed or workflow aborted with report
|
|
100
|
+
tipo: post-condition
|
|
101
|
+
blocker: true
|
|
102
|
+
validação: |
|
|
103
|
+
Verify all required steps have status: completed in state
|
|
104
|
+
error_message: "Post-condition failed: Not all steps completed"
|
|
105
|
+
- [ ] State file created with all step outputs
|
|
106
|
+
tipo: post-condition
|
|
107
|
+
blocker: true
|
|
108
|
+
validação: |
|
|
109
|
+
Verify .grimoire/{instance-id}-engine-state.yaml exists and contains outputs
|
|
110
|
+
error_message: "Post-condition failed: State file not written"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Acceptance Criteria
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
acceptance-criteria:
|
|
119
|
+
- [ ] Each action step spawned a real subagent via Task tool
|
|
120
|
+
tipo: acceptance-criterion
|
|
121
|
+
blocker: true
|
|
122
|
+
validação: |
|
|
123
|
+
Each step with an agent was executed as a separate Task tool call
|
|
124
|
+
error_message: "Acceptance criterion not met: Steps were not spawned as real subagents"
|
|
125
|
+
- [ ] Outputs from previous steps were correctly passed to subsequent steps
|
|
126
|
+
tipo: acceptance-criterion
|
|
127
|
+
blocker: true
|
|
128
|
+
validação: |
|
|
129
|
+
Verify requires chain: each step received the outputs it depends on
|
|
130
|
+
error_message: "Acceptance criterion not met: Output chain broken"
|
|
131
|
+
- [ ] Decision routing evaluated correctly based on thresholds
|
|
132
|
+
tipo: acceptance-criterion
|
|
133
|
+
blocker: true
|
|
134
|
+
validação: |
|
|
135
|
+
Verify routing decisions match the conditions defined in the workflow
|
|
136
|
+
error_message: "Acceptance criterion not met: Routing decisions incorrect"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Tools
|
|
142
|
+
|
|
143
|
+
- **Tool:** Task tool (Claude Code built-in)
|
|
144
|
+
- **Purpose:** Spawn real subagents with isolated context
|
|
145
|
+
- **Source:** Claude Code runtime
|
|
146
|
+
|
|
147
|
+
- **Tool:** AskUserQuestion (Claude Code built-in)
|
|
148
|
+
- **Purpose:** Collect elicitation inputs before spawning subagents
|
|
149
|
+
- **Source:** Claude Code runtime
|
|
150
|
+
|
|
151
|
+
- **Tool:** Read tool (Claude Code built-in)
|
|
152
|
+
- **Purpose:** Read agent files, task files, data files, workflow YAML
|
|
153
|
+
- **Source:** Claude Code runtime
|
|
154
|
+
|
|
155
|
+
- **Tool:** workflow-state-manager
|
|
156
|
+
- **Purpose:** Create and manage workflow state
|
|
157
|
+
- **Source:** .grimoire/development/scripts/workflow-state-manager.js
|
|
158
|
+
|
|
159
|
+
- **Tool:** workflow-validator
|
|
160
|
+
- **Purpose:** Validate workflow before starting
|
|
161
|
+
- **Source:** .grimoire/development/scripts/workflow-validator.js
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Error Handling
|
|
166
|
+
|
|
167
|
+
**Strategy:** retry-then-fallback
|
|
168
|
+
|
|
169
|
+
**Common Errors:**
|
|
170
|
+
|
|
171
|
+
1. **Error:** Subagent returns no YAML block
|
|
172
|
+
- **Cause:** Subagent did not follow output format instructions
|
|
173
|
+
- **Resolution:** Attempt regex extraction of step_output from response
|
|
174
|
+
- **Recovery:** If extraction fails, re-spawn with explicit format reminder; after max_retries, request manual intervention
|
|
175
|
+
|
|
176
|
+
2. **Error:** Subagent returns status: failed
|
|
177
|
+
- **Cause:** Task execution failed within the subagent
|
|
178
|
+
- **Resolution:** Check global_error_handling.max_retries_per_phase
|
|
179
|
+
- **Recovery:** Re-spawn with previous error as additional context; after max_retries, follow fallback strategy
|
|
180
|
+
|
|
181
|
+
3. **Error:** Routing condition cannot be evaluated
|
|
182
|
+
- **Cause:** Required value missing from state or no route matches
|
|
183
|
+
- **Resolution:** Display current values to user
|
|
184
|
+
- **Recovery:** Ask user to choose route manually
|
|
185
|
+
|
|
186
|
+
4. **Error:** Agent file not found
|
|
187
|
+
- **Cause:** Agent referenced in step doesn't exist at resolved path
|
|
188
|
+
- **Resolution:** Check hybrid fallback paths
|
|
189
|
+
- **Recovery:** List available agents and ask user to choose
|
|
190
|
+
|
|
191
|
+
5. **Error:** Task file not found (uses field)
|
|
192
|
+
- **Cause:** Task referenced in step's 'uses' field doesn't exist
|
|
193
|
+
- **Resolution:** Check alternate paths
|
|
194
|
+
- **Recovery:** Skip task content in prompt (agent persona alone may suffice)
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Performance
|
|
199
|
+
|
|
200
|
+
```yaml
|
|
201
|
+
duration_per_invocation: 1-5 min (single step spawn + execution)
|
|
202
|
+
cost_per_step: $0.01-0.10 (one API call per action step)
|
|
203
|
+
token_usage: ~2,000-10,000 tokens per subagent call
|
|
204
|
+
total_cost: Depends on workflow (N steps × cost_per_step)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Metadata
|
|
210
|
+
|
|
211
|
+
```yaml
|
|
212
|
+
story: N/A
|
|
213
|
+
version: 2.0.0
|
|
214
|
+
dependencies:
|
|
215
|
+
- run-workflow.md (delegates to this task)
|
|
216
|
+
- subagent-step-prompt.md (template for prompt building)
|
|
217
|
+
- workflow-state-manager.js
|
|
218
|
+
- workflow-validator.js
|
|
219
|
+
tags:
|
|
220
|
+
- workflow
|
|
221
|
+
- engine
|
|
222
|
+
- subagent
|
|
223
|
+
- spawn
|
|
224
|
+
- orchestration
|
|
225
|
+
- runtime
|
|
226
|
+
updated_at: 2026-02-01
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
# Workflow Runtime Engine Task
|
|
232
|
+
|
|
233
|
+
## Purpose
|
|
234
|
+
|
|
235
|
+
Execute workflows by spawning **real subagents** via the Task tool, **one step at a time**. Each invocation processes a single action step, spawns an isolated subagent, shows the output, and stops for user validation before proceeding. Unlike guided mode (persona-switching), each agent runs in its own context with full persona fidelity and zero contamination from other steps.
|
|
236
|
+
|
|
237
|
+
## Prerequisites
|
|
238
|
+
|
|
239
|
+
- Workflow YAML validated and accessible
|
|
240
|
+
- Template: `subagent-step-prompt.md` available at `.grimoire/development/templates/`
|
|
241
|
+
- Agent files accessible at resolved paths
|
|
242
|
+
- Task files accessible at resolved paths (via `uses` field)
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Engine Loop (Step-by-Step)
|
|
247
|
+
|
|
248
|
+
The engine processes **ONE action step per invocation**. Phase markers and routing decisions are processed automatically (they don't require spawning). The engine stops after each action step so the user can validate the output before continuing.
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
Invocation 1: start → init state → spawn step 1 → save → STOP (user validates)
|
|
252
|
+
Invocation 2: continue → load state → spawn step 2 → save → STOP (user validates)
|
|
253
|
+
Invocation 3: continue → load state → [routing: score OK] → spawn step 3 → save → STOP
|
|
254
|
+
...
|
|
255
|
+
Invocation N: continue → load state → [end marker] → final report → DONE
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
### Action: `start`
|
|
261
|
+
|
|
262
|
+
Initialize a new workflow and execute the first action step.
|
|
263
|
+
|
|
264
|
+
**1. Resolve workflow path** based on `target_context`:
|
|
265
|
+
- `core` → `.grimoire/development/workflows/{workflow_name}.yaml`
|
|
266
|
+
- `squad` → `squads/{squad_name}/workflows/{workflow_name}.yaml`
|
|
267
|
+
- `hybrid` → `squads/{squad_name}/workflows/{workflow_name}.yaml`
|
|
268
|
+
|
|
269
|
+
Read the workflow YAML file.
|
|
270
|
+
|
|
271
|
+
**2. Validate workflow** using WorkflowValidator:
|
|
272
|
+
- Must pass validation before proceeding
|
|
273
|
+
- Display any warnings to the user
|
|
274
|
+
- If validation fails → abort with error details
|
|
275
|
+
|
|
276
|
+
**3. Initialize state:**
|
|
277
|
+
|
|
278
|
+
```yaml
|
|
279
|
+
engine_state:
|
|
280
|
+
workflow_id: {workflow.id}
|
|
281
|
+
workflow_name: {workflow.name}
|
|
282
|
+
instance_id: "{workflow_id}-engine-{timestamp}"
|
|
283
|
+
target_context: {target_context}
|
|
284
|
+
squad_name: {squad_name}
|
|
285
|
+
mode: engine
|
|
286
|
+
started_at: {ISO timestamp}
|
|
287
|
+
status: active
|
|
288
|
+
current_step_index: 0
|
|
289
|
+
current_phase: null
|
|
290
|
+
step_outputs: {}
|
|
291
|
+
decisions: []
|
|
292
|
+
retries: {}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
**4. Display header:**
|
|
296
|
+
```
|
|
297
|
+
=== Workflow Engine Started: {workflow_name} ===
|
|
298
|
+
Mode: ENGINE (real subagent spawning, step-by-step)
|
|
299
|
+
Instance: {instance_id}
|
|
300
|
+
Total sequence items: {N} ({action_count} action steps)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**5. Advance to first action step** — call the **Sequence Advancer** (see below).
|
|
304
|
+
|
|
305
|
+
**6. Save state and STOP.**
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
### Action: `continue`
|
|
310
|
+
|
|
311
|
+
Resume from current position and execute the next action step.
|
|
312
|
+
|
|
313
|
+
**1. Find and load** the active engine state file for this workflow.
|
|
314
|
+
|
|
315
|
+
**2. Verify** state.status is `active`. If not, show error.
|
|
316
|
+
|
|
317
|
+
**3. Advance to next action step** — call the **Sequence Advancer** (see below).
|
|
318
|
+
|
|
319
|
+
**4. Save state and STOP.**
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
### Action: `status`
|
|
324
|
+
|
|
325
|
+
Show progress without executing anything.
|
|
326
|
+
|
|
327
|
+
**1. Load state.**
|
|
328
|
+
|
|
329
|
+
**2. Generate status report:**
|
|
330
|
+
|
|
331
|
+
```
|
|
332
|
+
=== Engine Status: {workflow_name} ===
|
|
333
|
+
Instance: {instance_id}
|
|
334
|
+
Mode: ENGINE (step-by-step)
|
|
335
|
+
Status: {active|completed|aborted}
|
|
336
|
+
Phase: {current_phase}
|
|
337
|
+
Progress: [{progress_bar}] {percentage}% ({completed}/{total_action_steps})
|
|
338
|
+
|
|
339
|
+
--- Steps ---
|
|
340
|
+
[x] {step_id}: {agent} — {action} (score: {score})
|
|
341
|
+
[x] {step_id}: {agent} — {action}
|
|
342
|
+
[>] {step_id}: {agent} — {action} <-- current
|
|
343
|
+
[ ] {step_id}: {agent} — {action}
|
|
344
|
+
...
|
|
345
|
+
|
|
346
|
+
--- Routing Decisions ---
|
|
347
|
+
{step}: {condition} = {value} → {route_chosen}
|
|
348
|
+
...
|
|
349
|
+
|
|
350
|
+
--- Last Step Output ---
|
|
351
|
+
{summary of most recent step's outputs}
|
|
352
|
+
|
|
353
|
+
Next: *run-workflow {name} continue --mode=engine
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
### Action: `skip`
|
|
359
|
+
|
|
360
|
+
Skip the current step (only if marked `optional: true`).
|
|
361
|
+
|
|
362
|
+
**1. Load state.**
|
|
363
|
+
|
|
364
|
+
**2. Identify the current step** at `current_step_index`.
|
|
365
|
+
|
|
366
|
+
**3. Verify** the step has `optional: true`. If not → error: "Step {id} is not optional."
|
|
367
|
+
|
|
368
|
+
**4. Record skip** in state:
|
|
369
|
+
```yaml
|
|
370
|
+
step_results:
|
|
371
|
+
{step_id}:
|
|
372
|
+
status: skipped
|
|
373
|
+
skipped_at: {timestamp}
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
**5. Advance `current_step_index`** past the skipped step.
|
|
377
|
+
|
|
378
|
+
**6. Save state.**
|
|
379
|
+
|
|
380
|
+
**7. Show** what was skipped and what comes next.
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
### Action: `abort`
|
|
385
|
+
|
|
386
|
+
Abort the workflow.
|
|
387
|
+
|
|
388
|
+
**1. Load state.**
|
|
389
|
+
|
|
390
|
+
**2. Set status to `aborted`.**
|
|
391
|
+
|
|
392
|
+
**3. Generate abort report:**
|
|
393
|
+
```
|
|
394
|
+
=== Workflow Aborted: {workflow_name} ===
|
|
395
|
+
Instance: {instance_id}
|
|
396
|
+
Progress: {completed}/{total} action steps completed
|
|
397
|
+
|
|
398
|
+
Completed steps:
|
|
399
|
+
- {step_id}: {agent} — {action}
|
|
400
|
+
...
|
|
401
|
+
|
|
402
|
+
Artifacts created:
|
|
403
|
+
- {list from step_results}
|
|
404
|
+
|
|
405
|
+
State preserved at: .grimoire/{instance_id}-engine-state.yaml
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
**4. Save state.**
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
### Sequence Advancer (Core Algorithm)
|
|
413
|
+
|
|
414
|
+
This is the internal procedure called by both `start` and `continue`. It walks through the sequence from `current_step_index`, automatically processing non-action items, and stops when it hits an action step (to spawn it) or the end of the workflow.
|
|
415
|
+
|
|
416
|
+
```
|
|
417
|
+
PROCEDURE advance_and_execute(state, workflow):
|
|
418
|
+
|
|
419
|
+
index = state.current_step_index
|
|
420
|
+
sequence = workflow.sequence
|
|
421
|
+
|
|
422
|
+
LOOP:
|
|
423
|
+
IF index >= length(sequence):
|
|
424
|
+
→ Workflow complete. Generate Final Report. Set status=completed. RETURN.
|
|
425
|
+
|
|
426
|
+
item = sequence[index]
|
|
427
|
+
|
|
428
|
+
# --- Phase Marker ---
|
|
429
|
+
IF item has 'phase' field:
|
|
430
|
+
state.current_phase = item.name
|
|
431
|
+
Log: "--- Phase {item.phase}: {item.name} ---"
|
|
432
|
+
index = index + 1
|
|
433
|
+
CONTINUE LOOP
|
|
434
|
+
|
|
435
|
+
# --- End Marker ---
|
|
436
|
+
IF item has 'meta: end':
|
|
437
|
+
Log: "=== Workflow Complete ==="
|
|
438
|
+
Generate Final Report.
|
|
439
|
+
Set state.status = completed.
|
|
440
|
+
RETURN.
|
|
441
|
+
|
|
442
|
+
# --- Routing Step ---
|
|
443
|
+
IF item has 'meta: routing':
|
|
444
|
+
Execute Decision Router (see section below).
|
|
445
|
+
The router returns a new index (loop_back, continue, or complete).
|
|
446
|
+
IF complete → Generate Final Report. Set status=completed. RETURN.
|
|
447
|
+
index = {new index from router}
|
|
448
|
+
CONTINUE LOOP
|
|
449
|
+
|
|
450
|
+
# --- Action Step (spawn subagent) ---
|
|
451
|
+
IF item has 'agent' field:
|
|
452
|
+
state.current_step_index = index
|
|
453
|
+
Execute the step:
|
|
454
|
+
1. IF elicit=true → run Elicitation Handler
|
|
455
|
+
2. Resolve agent file path
|
|
456
|
+
3. Read agent file
|
|
457
|
+
4. Resolve task file path (from 'uses')
|
|
458
|
+
5. Read task file (if 'uses' defined)
|
|
459
|
+
6. Read data files (agent deps + workflow resources)
|
|
460
|
+
7. Collect requires from state.step_outputs
|
|
461
|
+
8. Build prompt (Subagent Prompt Builder)
|
|
462
|
+
9. Spawn subagent via Task tool
|
|
463
|
+
10. Parse output (Output Parser)
|
|
464
|
+
11. Store in state.step_results[{step_id}] and state.step_outputs
|
|
465
|
+
Display step result to user.
|
|
466
|
+
Advance index for next invocation:
|
|
467
|
+
state.current_step_index = index + 1
|
|
468
|
+
Show what comes next (preview):
|
|
469
|
+
Scan ahead to find next action step, show its agent/action.
|
|
470
|
+
"Next: @{next_agent} — {next_action}"
|
|
471
|
+
"Run: *run-workflow {name} continue --mode=engine"
|
|
472
|
+
RETURN (STOP — wait for user validation).
|
|
473
|
+
|
|
474
|
+
END LOOP
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
**Display format after each action step:**
|
|
478
|
+
```
|
|
479
|
+
[Step {N}/{total_actions}] @{agent}: {action}
|
|
480
|
+
Status: {completed|failed}
|
|
481
|
+
Score: {score if applicable}
|
|
482
|
+
Outputs: {list of output keys with brief values}
|
|
483
|
+
|
|
484
|
+
--- Output Preview ---
|
|
485
|
+
{First 500 chars of the main output, or artifact summary}
|
|
486
|
+
|
|
487
|
+
--- What's Next ---
|
|
488
|
+
Phase: {next_phase if changing}
|
|
489
|
+
Next step: @{next_agent} — {next_action}
|
|
490
|
+
Command: *run-workflow {name} continue --mode=engine
|
|
491
|
+
(or: *run-workflow {name} skip --mode=engine if next step is optional)
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
---
|
|
495
|
+
|
|
496
|
+
### Final Report
|
|
497
|
+
|
|
498
|
+
Generated when the workflow reaches the end marker or a `complete` route.
|
|
499
|
+
|
|
500
|
+
```
|
|
501
|
+
=== Engine Execution Report ===
|
|
502
|
+
Workflow: {workflow_name}
|
|
503
|
+
Instance: {instance_id}
|
|
504
|
+
Started: {started_at}
|
|
505
|
+
Completed: {now}
|
|
506
|
+
Mode: ENGINE (step-by-step)
|
|
507
|
+
|
|
508
|
+
--- Steps Summary ---
|
|
509
|
+
[x] {step_id}: @{agent} — {action} (score: {score})
|
|
510
|
+
[x] {step_id}: @{agent} — {action}
|
|
511
|
+
...
|
|
512
|
+
|
|
513
|
+
--- Routing Decisions ---
|
|
514
|
+
{step}: {condition} = {value} → {route_chosen}
|
|
515
|
+
...
|
|
516
|
+
|
|
517
|
+
--- Final Outputs ---
|
|
518
|
+
{key}: {summary_value}
|
|
519
|
+
...
|
|
520
|
+
|
|
521
|
+
--- Artifacts ---
|
|
522
|
+
{list of all artifacts created across all steps}
|
|
523
|
+
|
|
524
|
+
State saved to: .grimoire/{instance_id}-engine-state.yaml
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
After the report, ask the user if they want to create a handoff document.
|
|
528
|
+
|
|
529
|
+
---
|
|
530
|
+
|
|
531
|
+
## Elicitation Handler
|
|
532
|
+
|
|
533
|
+
For each step with `elicit: true`, the orchestrator collects input BEFORE spawning the subagent.
|
|
534
|
+
|
|
535
|
+
### Process
|
|
536
|
+
|
|
537
|
+
1. Read the `notes` field of the current step in the workflow YAML
|
|
538
|
+
2. If the step has a `uses` field, read the task file and find its `Entrada` section
|
|
539
|
+
3. For each field in `Entrada` with `origem: User Input` and `obrigatório: true`:
|
|
540
|
+
- Use `AskUserQuestion` tool to ask the user
|
|
541
|
+
- Validate the response against the field's `validação` rule
|
|
542
|
+
4. If no formal `Entrada` exists, extract questions from the step's `notes` field
|
|
543
|
+
5. Aggregate all responses into a YAML block:
|
|
544
|
+
|
|
545
|
+
```yaml
|
|
546
|
+
user_input:
|
|
547
|
+
{field_name}: "{user_response}"
|
|
548
|
+
{field_name}: "{user_response}"
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
6. Pass this block as `{{USER_INPUT}}` in the subagent prompt
|
|
552
|
+
|
|
553
|
+
### Rules
|
|
554
|
+
|
|
555
|
+
- Elicitation is collected by the orchestrator, NOT by the subagent
|
|
556
|
+
- The subagent receives pre-collected inputs and does NOT ask questions
|
|
557
|
+
- If the user declines to provide optional input, pass `null` for that field
|
|
558
|
+
- For the first step with `elicit: true`, also collect workflow-level `inputs` if defined
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
## Subagent Prompt Builder
|
|
563
|
+
|
|
564
|
+
Constructs the complete prompt for a subagent using the template.
|
|
565
|
+
|
|
566
|
+
### Process
|
|
567
|
+
|
|
568
|
+
1. **Load template** from `.grimoire/development/templates/subagent-step-prompt.md`
|
|
569
|
+
2. **Extract agent info:**
|
|
570
|
+
- Read agent file → extract `agent.name` → `{{AGENT_NAME}}`
|
|
571
|
+
- Read agent file → extract `agent.title` → `{{AGENT_TITLE}}`
|
|
572
|
+
- Read agent file → extract full YAML block → `{{AGENT_YAML}}`
|
|
573
|
+
3. **Extract task content:**
|
|
574
|
+
- Read task file (from `uses`) → full content → `{{TASK_CONTENT}}`
|
|
575
|
+
- If no `uses` field → set to "Execute the action described in Step Instructions"
|
|
576
|
+
4. **Set context variables:**
|
|
577
|
+
- `{{WORKFLOW_NAME}}` from `workflow.name`
|
|
578
|
+
- `{{STEP_ID}}` from step's `id` field
|
|
579
|
+
- `{{PHASE_NAME}}` from current phase
|
|
580
|
+
- `{{ACTION}}` from step's `action` field
|
|
581
|
+
5. **Build input data:**
|
|
582
|
+
- For each item in step's `requires`:
|
|
583
|
+
- Look up in `state.step_outputs`
|
|
584
|
+
- Format as YAML block → `{{INPUT_DATA}}`
|
|
585
|
+
- If no requires → set to "No previous step outputs required"
|
|
586
|
+
6. **Build reference data:**
|
|
587
|
+
- Read each file from agent's `dependencies.data` list
|
|
588
|
+
- Read each file from workflow's `resources.data` list
|
|
589
|
+
- Concatenate contents → `{{REFERENCE_DATA}}`
|
|
590
|
+
- If no data files → set to "No reference data"
|
|
591
|
+
7. **Set user input:**
|
|
592
|
+
- From elicitation results → `{{USER_INPUT}}`
|
|
593
|
+
- If `elicit: false` → set to "No user input required for this step"
|
|
594
|
+
8. **Set step notes:**
|
|
595
|
+
- From step's `notes` field → `{{STEP_NOTES}}`
|
|
596
|
+
- If no notes → set to "Execute the action as described above"
|
|
597
|
+
9. **Replace all variables** in the template string
|
|
598
|
+
10. **Return the complete prompt**
|
|
599
|
+
|
|
600
|
+
### Path Resolution for Agent Files
|
|
601
|
+
|
|
602
|
+
```
|
|
603
|
+
resolve_agent_path(agent_ref, target_context, squad_name):
|
|
604
|
+
# Handle explicit prefix
|
|
605
|
+
IF agent_ref starts with "core:":
|
|
606
|
+
RETURN ".grimoire/development/agents/{agent_ref without prefix}.md"
|
|
607
|
+
IF agent_ref starts with "squad:":
|
|
608
|
+
RETURN "squads/{squad_name}/agents/{agent_ref without prefix}.md"
|
|
609
|
+
|
|
610
|
+
# Context-based resolution
|
|
611
|
+
IF target_context == "core":
|
|
612
|
+
RETURN ".grimoire/development/agents/{agent_ref}.md"
|
|
613
|
+
IF target_context == "squad":
|
|
614
|
+
RETURN "squads/{squad_name}/agents/{agent_ref}.md"
|
|
615
|
+
IF target_context == "hybrid":
|
|
616
|
+
squad_path = "squads/{squad_name}/agents/{agent_ref}.md"
|
|
617
|
+
core_path = ".grimoire/development/agents/{agent_ref}.md"
|
|
618
|
+
IF squad_path exists → RETURN squad_path
|
|
619
|
+
IF core_path exists → RETURN core_path
|
|
620
|
+
ERROR: Agent not found in either context
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
### Path Resolution for Task Files (uses field)
|
|
624
|
+
|
|
625
|
+
```
|
|
626
|
+
resolve_task_path(uses_ref, target_context, squad_name):
|
|
627
|
+
IF target_context == "core":
|
|
628
|
+
RETURN ".grimoire/development/tasks/{uses_ref}.md"
|
|
629
|
+
IF target_context == "squad":
|
|
630
|
+
RETURN "squads/{squad_name}/tasks/{uses_ref}.md"
|
|
631
|
+
IF target_context == "hybrid":
|
|
632
|
+
squad_path = "squads/{squad_name}/tasks/{uses_ref}.md"
|
|
633
|
+
core_path = ".grimoire/development/tasks/{uses_ref}.md"
|
|
634
|
+
IF squad_path exists → RETURN squad_path
|
|
635
|
+
IF core_path exists → RETURN core_path
|
|
636
|
+
ERROR: Task not found in either context
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
### Path Resolution for Data Files
|
|
640
|
+
|
|
641
|
+
```
|
|
642
|
+
resolve_data_path(data_ref, target_context, squad_name):
|
|
643
|
+
IF target_context == "core":
|
|
644
|
+
RETURN ".grimoire/data/{data_ref}"
|
|
645
|
+
IF target_context == "squad":
|
|
646
|
+
RETURN "squads/{squad_name}/data/{data_ref}"
|
|
647
|
+
IF target_context == "hybrid":
|
|
648
|
+
squad_path = "squads/{squad_name}/data/{data_ref}"
|
|
649
|
+
core_path = ".grimoire/data/{data_ref}"
|
|
650
|
+
IF squad_path exists → RETURN squad_path
|
|
651
|
+
IF core_path exists → RETURN core_path
|
|
652
|
+
WARN: Data file not found, skip
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
---
|
|
656
|
+
|
|
657
|
+
## Output Parser
|
|
658
|
+
|
|
659
|
+
Extracts structured output from the subagent's response.
|
|
660
|
+
|
|
661
|
+
### Process
|
|
662
|
+
|
|
663
|
+
1. **Search for YAML block** in the subagent response:
|
|
664
|
+
- Look for content between ` ```yaml ` and ` ``` ` markers
|
|
665
|
+
- Specifically look for a block starting with `step_output:`
|
|
666
|
+
2. **Parse the YAML block** into a structured object
|
|
667
|
+
3. **Validate required fields:**
|
|
668
|
+
- `status` must be `completed` or `failed`
|
|
669
|
+
- `outputs` must be an object (can be empty)
|
|
670
|
+
4. **Extract outputs:**
|
|
671
|
+
- Map each key in `outputs` to `state.step_outputs[{step_id}].{key}`
|
|
672
|
+
- Store `score` if present
|
|
673
|
+
- Store `artifacts` list if present
|
|
674
|
+
5. **Handle parse failures:**
|
|
675
|
+
- Attempt 1: Regex for `step_output:` block without YAML markers
|
|
676
|
+
- Attempt 2: Look for individual output fields mentioned in step's `outputs` list
|
|
677
|
+
- Attempt 3: Mark step as needing manual review
|
|
678
|
+
|
|
679
|
+
### Regex Fallback Pattern
|
|
680
|
+
|
|
681
|
+
```
|
|
682
|
+
/step_output:\s*\n([\s\S]*?)(?=\n[^\s]|\Z)/
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
If the YAML block cannot be parsed:
|
|
686
|
+
- Extract `status` from any line containing "status: completed" or "status: failed"
|
|
687
|
+
- Extract individual output values by searching for each expected output key
|
|
688
|
+
- Log a warning that structured parsing failed
|
|
689
|
+
|
|
690
|
+
---
|
|
691
|
+
|
|
692
|
+
## Decision Router
|
|
693
|
+
|
|
694
|
+
Evaluates routing conditions and determines the next step.
|
|
695
|
+
|
|
696
|
+
### Process
|
|
697
|
+
|
|
698
|
+
For each step with `meta: routing`:
|
|
699
|
+
|
|
700
|
+
1. **Read the condition field** (e.g., `based_on_score_9p`, `based_on_compliance_score`)
|
|
701
|
+
2. **Map condition to state value:**
|
|
702
|
+
- `based_on_score_9p` → look for `score_9p` in recent step outputs
|
|
703
|
+
- `based_on_compliance_score` → look for `compliance_score` in recent step outputs
|
|
704
|
+
- `based_on_validation_status` → look for `resultado_validado` or `status` in recent step outputs
|
|
705
|
+
- `based_on_pedro_approval` → look for `aprovacao_final` in recent step outputs
|
|
706
|
+
3. **Evaluate each route:**
|
|
707
|
+
- Read the route's name to determine the threshold (e.g., `score_below_70`, `score_90_plus`)
|
|
708
|
+
- Compare the extracted value against the threshold
|
|
709
|
+
- Select the matching route
|
|
710
|
+
4. **Execute the route action:**
|
|
711
|
+
- `loop_back` → Find the target step ID in the sequence, set step index to that position
|
|
712
|
+
- `continue` → Advance to the next step normally
|
|
713
|
+
- `continue_with_adjustments` → Log adjustments needed, advance to target step
|
|
714
|
+
- `apply_corrections` → Log corrections, advance to target step
|
|
715
|
+
- `complete` → Set workflow status to `completed`, jump to Final Report
|
|
716
|
+
5. **Record decision in state:**
|
|
717
|
+
|
|
718
|
+
```yaml
|
|
719
|
+
decisions:
|
|
720
|
+
- step: {routing_step_id}
|
|
721
|
+
condition: {condition}
|
|
722
|
+
evaluated_value: {the value checked}
|
|
723
|
+
route_chosen: {route_name}
|
|
724
|
+
action: {loop_back|continue|complete}
|
|
725
|
+
target: {target_step_id if applicable}
|
|
726
|
+
timestamp: {ISO timestamp}
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
### Threshold Extraction Rules
|
|
730
|
+
|
|
731
|
+
Parse the route key name to extract comparison:
|
|
732
|
+
- `*_below_{N}` → value < N
|
|
733
|
+
- `*_{N}_to_{M}` → N <= value <= M
|
|
734
|
+
- `*_{N}_plus` → value >= N
|
|
735
|
+
- `reprovado` → status equals "REPROVADO" or "failed" or false
|
|
736
|
+
- `aprovado` / `approved` → status equals "APROVADO" or "completed" or true
|
|
737
|
+
- `not_approved` → negation of approved
|
|
738
|
+
- `compliance_below_{N}` → compliance_score < N
|
|
739
|
+
- `compliance_{N}_plus` → compliance_score >= N
|
|
740
|
+
|
|
741
|
+
### Manual Routing Fallback
|
|
742
|
+
|
|
743
|
+
If no route matches the evaluated value:
|
|
744
|
+
1. Display current values to the user
|
|
745
|
+
2. List available routes with their descriptions
|
|
746
|
+
3. Use AskUserQuestion to let user choose
|
|
747
|
+
4. Record as manual decision in state
|
|
748
|
+
|
|
749
|
+
---
|
|
750
|
+
|
|
751
|
+
## Spawning a Subagent
|
|
752
|
+
|
|
753
|
+
The actual Task tool invocation for each action step.
|
|
754
|
+
|
|
755
|
+
### Invocation Pattern
|
|
756
|
+
|
|
757
|
+
```
|
|
758
|
+
Task tool call:
|
|
759
|
+
description: "WF:{workflow_id} Step:{step_id} Agent:{agent_name}"
|
|
760
|
+
subagent_type: "general-purpose"
|
|
761
|
+
prompt: {built prompt from Subagent Prompt Builder}
|
|
762
|
+
```
|
|
763
|
+
|
|
764
|
+
### Important Rules
|
|
765
|
+
|
|
766
|
+
- Each subagent runs in an isolated context (separate process)
|
|
767
|
+
- The subagent does NOT have access to the orchestrator's conversation history
|
|
768
|
+
- The subagent does NOT have access to other subagents' outputs (only what's passed via prompt)
|
|
769
|
+
- The subagent should NOT use AskUserQuestion (all inputs are pre-collected)
|
|
770
|
+
- The orchestrator waits for the subagent to complete before proceeding
|
|
771
|
+
|
|
772
|
+
---
|
|
773
|
+
|
|
774
|
+
## State Persistence
|
|
775
|
+
|
|
776
|
+
State is saved after **every invocation** (start, continue, skip, abort). This enables resume across sessions.
|
|
777
|
+
|
|
778
|
+
```yaml
|
|
779
|
+
# .grimoire/{instance-id}-engine-state.yaml
|
|
780
|
+
engine_state:
|
|
781
|
+
workflow_id: {id}
|
|
782
|
+
workflow_name: {name}
|
|
783
|
+
instance_id: {instance_id}
|
|
784
|
+
target_context: {context}
|
|
785
|
+
squad_name: {squad}
|
|
786
|
+
mode: engine
|
|
787
|
+
started_at: {timestamp}
|
|
788
|
+
updated_at: {current timestamp}
|
|
789
|
+
status: active|completed|aborted
|
|
790
|
+
current_step_index: {index of NEXT step to process}
|
|
791
|
+
current_phase: {phase name}
|
|
792
|
+
last_completed_step: {id of last completed action step, or null}
|
|
793
|
+
action_steps_completed: {count}
|
|
794
|
+
action_steps_total: {count}
|
|
795
|
+
|
|
796
|
+
step_outputs:
|
|
797
|
+
{step_id}:
|
|
798
|
+
{output_key}: {output_value}
|
|
799
|
+
...
|
|
800
|
+
|
|
801
|
+
step_results:
|
|
802
|
+
{step_id}:
|
|
803
|
+
status: completed|failed|skipped
|
|
804
|
+
outputs: {parsed outputs}
|
|
805
|
+
score: {if applicable}
|
|
806
|
+
artifacts: [{list}]
|
|
807
|
+
spawned_at: {timestamp}
|
|
808
|
+
completed_at: {timestamp}
|
|
809
|
+
retries: {count}
|
|
810
|
+
|
|
811
|
+
decisions:
|
|
812
|
+
- {decision records from routing}
|
|
813
|
+
|
|
814
|
+
elicitation_responses:
|
|
815
|
+
{step_id}:
|
|
816
|
+
{field}: {value}
|
|
817
|
+
```
|
|
818
|
+
|
|
819
|
+
### Resume Across Sessions
|
|
820
|
+
|
|
821
|
+
The state file persists on disk. To resume in a new Claude Code session:
|
|
822
|
+
|
|
823
|
+
```
|
|
824
|
+
@grimoire-master
|
|
825
|
+
*run-workflow {name} continue --mode=engine
|
|
826
|
+
```
|
|
827
|
+
|
|
828
|
+
The engine loads the state, reads `current_step_index`, and picks up exactly where it left off. All previous step outputs are available in `step_outputs` for the `requires` chain.
|
|
829
|
+
|
|
830
|
+
---
|
|
831
|
+
|
|
832
|
+
## Retry Logic
|
|
833
|
+
|
|
834
|
+
When a step fails:
|
|
835
|
+
|
|
836
|
+
1. Check `workflow.global_error_handling.max_retries_per_phase` (default: 2)
|
|
837
|
+
2. Check `state.retries[{step_id}]` count
|
|
838
|
+
3. If retries < max:
|
|
839
|
+
- Increment retry counter
|
|
840
|
+
- Add previous error to the prompt as additional context:
|
|
841
|
+
```
|
|
842
|
+
## Previous Attempt Failed
|
|
843
|
+
Error: {error description}
|
|
844
|
+
Previous output: {raw output if available}
|
|
845
|
+
Please fix the issues and try again.
|
|
846
|
+
```
|
|
847
|
+
- Re-spawn the subagent
|
|
848
|
+
4. If retries >= max:
|
|
849
|
+
- Display error to user
|
|
850
|
+
- Offer options:
|
|
851
|
+
1. Retry manually (user provides input)
|
|
852
|
+
2. Skip step (if optional)
|
|
853
|
+
3. Abort workflow
|
|
854
|
+
|
|
855
|
+
---
|
|
856
|
+
|
|
857
|
+
## Output Format
|
|
858
|
+
|
|
859
|
+
The engine produces structured output at the end of execution. See Step 6 (Final Report) in the Engine Loop section above.
|
|
860
|
+
|
|
861
|
+
|