@khoavu882/doflow 0.0.0-stage → 2.0.0-beta.3
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/LICENSE +21 -0
- package/README.md +132 -2
- package/bin/doflow.js +44 -0
- package/core/.antigravity-plugin/hooks.json +39 -0
- package/core/.antigravity-plugin/mcp_config.json +18 -0
- package/core/.antigravity-plugin/plugin.json +31 -0
- package/core/.claude-plugin/marketplace.json +20 -0
- package/core/.claude-plugin/plugin.json +21 -0
- package/core/.codex-plugin/marketplace.json +20 -0
- package/core/.codex-plugin/plugin.json +35 -0
- package/core/.plugin/plugin.json +19 -0
- package/core/harnesses/antigravity/hooks/pre-implementation-gate.sh +9 -0
- package/core/harnesses/antigravity/hooks/stop-check.sh +10 -0
- package/core/harnesses/claude/hooks/lib.sh +304 -0
- package/core/harnesses/claude/hooks/mcp-tool-guard.sh +20 -0
- package/core/harnesses/claude/hooks/permission-audit.sh +47 -0
- package/core/harnesses/claude/hooks/post-compact.sh +74 -0
- package/core/harnesses/claude/hooks/post-edit-lint.sh +36 -0
- package/core/harnesses/claude/hooks/post-tool-failure.sh +47 -0
- package/core/harnesses/claude/hooks/pre-bash-guard.sh +20 -0
- package/core/harnesses/claude/hooks/pre-compact.sh +43 -0
- package/core/harnesses/claude/hooks/pre-implement-gate.sh +21 -0
- package/core/harnesses/claude/hooks/session-end.sh +89 -0
- package/core/harnesses/claude/hooks/session-start.sh +5 -0
- package/core/harnesses/claude/hooks/skill-config-audit.sh +39 -0
- package/core/harnesses/claude/hooks/stop-check.sh +5 -0
- package/core/harnesses/claude/hooks/subagent-audit.sh +7 -0
- package/core/harnesses/claude/hooks/user-prompt-submit.sh +5 -0
- package/core/harnesses/claude/settings/keybindings.json +20 -0
- package/core/harnesses/claude/settings/settings.json +201 -0
- package/core/harnesses/claude/statusline/doflow-statusline.sh +49 -0
- package/core/harnesses/codex/agents/core-implementer.toml +7 -0
- package/core/harnesses/codex/agents/quality-guardian.toml +8 -0
- package/core/harnesses/codex/agents/research-writer.toml +8 -0
- package/core/harnesses/codex/agents/spec-analyst.toml +8 -0
- package/core/harnesses/codex/agents/system-architect.toml +9 -0
- package/core/harnesses/codex/config/config.toml +10 -0
- package/core/harnesses/codex/hooks/hooks.json +122 -0
- package/core/harnesses/codex/hooks/lib.sh +335 -0
- package/core/harnesses/codex/hooks/mcp-tool-guard.sh +18 -0
- package/core/harnesses/codex/hooks/post-edit-lint.impl.sh +52 -0
- package/core/harnesses/codex/hooks/post-edit-lint.sh +6 -0
- package/core/harnesses/codex/hooks/pre-bash-guard.sh +18 -0
- package/core/harnesses/codex/hooks/pre-compact.impl.sh +46 -0
- package/core/harnesses/codex/hooks/pre-compact.sh +9 -0
- package/core/harnesses/codex/hooks/pre-implement-gate.sh +19 -0
- package/core/harnesses/codex/hooks/session-end.impl.sh +92 -0
- package/core/harnesses/codex/hooks/session-end.sh +5 -0
- package/core/harnesses/codex/hooks/session-start.sh +5 -0
- package/core/harnesses/codex/hooks/stop-check.sh +8 -0
- package/core/harnesses/codex/hooks/subagent-audit.sh +8 -0
- package/core/harnesses/codex/hooks/user-prompt-submit.sh +6 -0
- package/core/harnesses/gemini/hooks/hooks.json +77 -0
- package/core/harnesses/gemini/hooks/lib.sh +302 -0
- package/core/harnesses/gemini/hooks/mcp-tool-guard.sh +21 -0
- package/core/harnesses/gemini/hooks/post-edit-lint.sh +39 -0
- package/core/harnesses/gemini/hooks/pre-bash-guard.sh +21 -0
- package/core/harnesses/gemini/hooks/pre-compact.sh +38 -0
- package/core/harnesses/gemini/hooks/pre-implement-gate.sh +22 -0
- package/core/harnesses/gemini/hooks/session-end.impl.sh +89 -0
- package/core/harnesses/gemini/hooks/session-end.sh +5 -0
- package/core/harnesses/gemini/hooks/session-start.sh +5 -0
- package/core/harnesses/gemini/settings/adapter-defaults.json +4 -0
- package/core/harnesses/kiro/agents/doflow.json +58 -0
- package/core/harnesses/kiro/hooks/doflow.json +53 -0
- package/core/harnesses/kiro/hooks/lib.sh +324 -0
- package/core/harnesses/kiro/hooks/mcp-tool-guard.sh +9 -0
- package/core/harnesses/kiro/hooks/pre-bash-guard.sh +9 -0
- package/core/harnesses/kiro/hooks/pre-implement-gate.sh +9 -0
- package/core/harnesses/kiro/hooks/session-start.sh +9 -0
- package/core/harnesses/kiro/hooks/stop-check.sh +43 -0
- package/core/harnesses/shared/hooks/ENVELOPE_MIGRATION.md +39 -0
- package/core/harnesses/shared/hooks/adapters/antigravity.js +111 -0
- package/core/harnesses/shared/hooks/adapters/arg-fields.js +19 -0
- package/core/harnesses/shared/hooks/adapters/gemini.js +114 -0
- package/core/harnesses/shared/hooks/hooks.json +47 -0
- package/core/harnesses/shared/hooks/policies/blocked-patterns.conf +91 -0
- package/core/harnesses/shared/hooks/policies/capture-failure.sh +97 -0
- package/core/harnesses/shared/hooks/policies/deny-json.sh +29 -0
- package/core/harnesses/shared/hooks/policies/lib.sh +501 -0
- package/core/harnesses/shared/hooks/policies/mcp-policy.conf +21 -0
- package/core/harnesses/shared/hooks/policies/mcp-tool-guard.sh +91 -0
- package/core/harnesses/shared/hooks/policies/pre-bash-guard.sh +328 -0
- package/core/harnesses/shared/hooks/policies/pre-implementation-gate.sh +496 -0
- package/core/harnesses/shared/hooks/policies/prompt-nudge.jq +131 -0
- package/core/harnesses/shared/hooks/policies/session-context.sh +141 -0
- package/core/harnesses/shared/hooks/policies/stop-check.sh +264 -0
- package/core/harnesses/shared/hooks/policies/subagent-audit.sh +46 -0
- package/core/harnesses/shared/hooks/policies/user-prompt-submit.sh +235 -0
- package/core/harnesses/shared/hooks/stream-hook-runner.js +590 -0
- package/core/harnesses/shared/locator/doflow-run +87 -0
- package/core/registry/advice.json +101 -0
- package/core/registry/assets.json +792 -0
- package/core/registry/capabilities.json +120 -0
- package/core/registry/contracts.json +189 -0
- package/core/registry/external-tools.json +191 -0
- package/core/registry/harnesses.json +2062 -0
- package/core/registry/lifecycle.json +231 -0
- package/core/registry/mcp.json +18 -0
- package/core/registry/models.json +79 -0
- package/core/registry/readiness-templates.json +118 -0
- package/core/registry/routes.json +47 -0
- package/core/registry/storage.json +1057 -0
- package/core/registry/verification.json +258 -0
- package/core/registry/workflows.json +790 -0
- package/core/shared/agent-specs/core-implementer.md +73 -0
- package/core/shared/agent-specs/quality-guardian.md +28 -0
- package/core/shared/agent-specs/research-writer.md +31 -0
- package/core/shared/agent-specs/spec-analyst.md +33 -0
- package/core/shared/agent-specs/system-architect.md +29 -0
- package/core/shared/guidance/DOFLOW_CORE.md +8 -0
- package/core/shared/guidance/FLAGS.md +25 -0
- package/core/shared/guidance/PRINCIPLES.md +61 -0
- package/core/shared/guidance/VERSION +1 -0
- package/core/shared/guidance/mcp/MCP_Context7.md +18 -0
- package/core/shared/guidance/mcp/MCP_Sequential.md +17 -0
- package/core/shared/guidance/modes/MODE_Brainstorming.md +46 -0
- package/core/shared/guidance/modes/MODE_DeepResearch.md +69 -0
- package/core/shared/guidance/modes/MODE_Introspection.md +33 -0
- package/core/shared/guidance/modes/MODE_Orchestration.md +57 -0
- package/core/shared/guidance/modes/MODE_Task_Management.md +74 -0
- package/core/shared/guidance/pointers/claude-gemini.md +2 -0
- package/core/shared/guidance/pointers/codex.md +6 -0
- package/core/shared/guidance/references/ARTIFACT_FORMAT.md +373 -0
- package/core/shared/guidance/references/ARTIFACT_VOICE.md +104 -0
- package/core/shared/guidance/references/CONSTITUTION_BASE.md +47 -0
- package/core/shared/guidance/references/DIAGRAM_GUIDE.md +161 -0
- package/core/shared/guidance/references/DOFLOW_CHAIN.md +87 -0
- package/core/shared/guidance/references/EVIDENCE_LEDGER.md +93 -0
- package/core/shared/guidance/references/MODEL_SELECTION.md +74 -0
- package/core/shared/guidance/references/ORCHESTRATION.md +36 -0
- package/core/shared/guidance/references/RESEARCH_CONFIG.md +21 -0
- package/core/shared/guidance/references/WORKFLOW_HANDOFF.md +81 -0
- package/core/shared/guidance/rules/RULE_01_SAFETY.md +25 -0
- package/core/shared/guidance/rules/RULE_02_WORKFLOW.md +23 -0
- package/core/shared/guidance/rules/RULE_03_QUALITY.md +14 -0
- package/core/shared/guidance/rules/RULE_04_QUESTIONS.md +46 -0
- package/core/shared/scripts/doflow/assets/mermaid-theme.json +46 -0
- package/core/shared/scripts/doflow/bash/do-exec-paths.sh +167 -0
- package/core/shared/scripts/doflow/bash/do-git-state.sh +546 -0
- package/core/shared/scripts/doflow/bash/do-parallel-check.sh +208 -0
- package/core/shared/scripts/doflow/bash/do-paths.sh +347 -0
- package/core/shared/scripts/doflow/bash/do-prereqs.sh +66 -0
- package/core/shared/scripts/doflow/bash/do-review-package.sh +127 -0
- package/core/shared/scripts/doflow/bash/do-task-brief.sh +698 -0
- package/core/shared/scripts/doflow/bash/render-audit.sh +224 -0
- package/core/shared/scripts/doflow/bash/render-diagrams.sh +177 -0
- package/core/shared/scripts/doflow/bash/render-puml.sh +223 -0
- package/core/shared/scripts/doflow/bash/sync-context.sh +66 -0
- package/core/shared/scripts/doflow/bash/validate-artifacts.sh +526 -0
- package/core/shared/scripts/doflow/bin/doflow-run +592 -0
- package/core/shared/skills/do/SKILL.md +128 -0
- package/core/shared/skills/do/references/estimation.md +13 -0
- package/core/shared/skills/do/references/pm_routing.md +25 -0
- package/core/shared/skills/do/references/tool_matrix.md +52 -0
- package/core/shared/skills/do-brainstorm/SKILL.md +252 -0
- package/core/shared/skills/do-code-review/README.md +49 -0
- package/core/shared/skills/do-code-review/SKILL.md +333 -0
- package/core/shared/skills/do-code-review/assets/sample_c_clean.c +71 -0
- package/core/shared/skills/do-code-review/assets/sample_c_smells.c +66 -0
- package/core/shared/skills/do-code-review/assets/sample_cpp_shift.cpp +19 -0
- package/core/shared/skills/do-code-review/assets/sample_csharp_clean.cs +100 -0
- package/core/shared/skills/do-code-review/assets/sample_csharp_smells.cs +78 -0
- package/core/shared/skills/do-code-review/assets/sample_java_clean.java +55 -0
- package/core/shared/skills/do-code-review/assets/sample_java_smells.java +56 -0
- package/core/shared/skills/do-code-review/assets/sample_json_clean.json +7 -0
- package/core/shared/skills/do-code-review/assets/sample_markdown_clean.md +30 -0
- package/core/shared/skills/do-code-review/assets/sample_markdown_smells.md +29 -0
- package/core/shared/skills/do-code-review/assets/sample_shell_heredoc.sh +38 -0
- package/core/shared/skills/do-code-review/assets/sample_shell_smells.sh +15 -0
- package/core/shared/skills/do-code-review/assets/sample_typescript_strings.ts +36 -0
- package/core/shared/skills/do-code-review/assets/sample_yaml_smells.yaml +6 -0
- package/core/shared/skills/do-code-review/content-types/config.md +83 -0
- package/core/shared/skills/do-code-review/content-types/markdown.md +132 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_c_clean_quality.json +79 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_c_smells_quality.json +169 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_cpp_shift_quality.json +49 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_csharp_clean_quality.json +149 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_csharp_smells_quality.json +157 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_java_clean_quality.json +67 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_java_smells_quality.json +97 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_json_clean_quality.json +33 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_markdown_clean_quality.json +1 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_markdown_smells_quality.json +16 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_shell_heredoc_quality.json +54 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_shell_smells_quality.json +91 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_typescript_strings_quality.json +60 -0
- package/core/shared/skills/do-code-review/expected_outputs/sample_yaml_smells_quality.json +46 -0
- package/core/shared/skills/do-code-review/languages/c.md +103 -0
- package/core/shared/skills/do-code-review/languages/cpp.md +103 -0
- package/core/shared/skills/do-code-review/languages/csharp.md +97 -0
- package/core/shared/skills/do-code-review/languages/dart.md +108 -0
- package/core/shared/skills/do-code-review/languages/go.md +92 -0
- package/core/shared/skills/do-code-review/languages/java.md +103 -0
- package/core/shared/skills/do-code-review/languages/kotlin.md +88 -0
- package/core/shared/skills/do-code-review/languages/php.md +109 -0
- package/core/shared/skills/do-code-review/languages/python.md +94 -0
- package/core/shared/skills/do-code-review/languages/ruby.md +105 -0
- package/core/shared/skills/do-code-review/languages/rust.md +99 -0
- package/core/shared/skills/do-code-review/languages/shell.md +90 -0
- package/core/shared/skills/do-code-review/languages/swift.md +88 -0
- package/core/shared/skills/do-code-review/languages/typescript.md +97 -0
- package/core/shared/skills/do-code-review/review-policy.json +47 -0
- package/core/shared/skills/do-code-review/rules/universal.md +49 -0
- package/core/shared/skills/do-code-review/scripts/code_quality_checker.py +1696 -0
- package/core/shared/skills/do-code-review/scripts/doc_quality_checker.py +532 -0
- package/core/shared/skills/do-code-review/scripts/pr_analyzer.py +620 -0
- package/core/shared/skills/do-code-review/scripts/review_report_generator.py +505 -0
- package/core/shared/skills/do-constitution/SKILL.md +72 -0
- package/core/shared/skills/do-design/SKILL.md +212 -0
- package/core/shared/skills/do-diagnose/SKILL.md +156 -0
- package/core/shared/skills/do-diagnose/references/code_audit.md +15 -0
- package/core/shared/skills/do-diagnose/references/refactoring.md +12 -0
- package/core/shared/skills/do-diagnose/references/root_cause.md +17 -0
- package/core/shared/skills/do-document/SKILL.md +81 -0
- package/core/shared/skills/do-document/references/api-reference.md +42 -0
- package/core/shared/skills/do-document/references/deep_research.md +18 -0
- package/core/shared/skills/do-document/references/embedded-research.md +11 -0
- package/core/shared/skills/do-document/references/implementation-flow.md +105 -0
- package/core/shared/skills/do-document/references/index_generator.md +9 -0
- package/core/shared/skills/do-document/references/user-guide.md +22 -0
- package/core/shared/skills/do-execute-plan/SKILL.md +261 -0
- package/core/shared/skills/do-execute-plan/references/handoff_record.md +57 -0
- package/core/shared/skills/do-execute-plan/references/parallel_dispatch.md +92 -0
- package/core/shared/skills/do-execute-plan/references/readiness_gate.md +155 -0
- package/core/shared/skills/do-execute-plan/references/run_position.md +63 -0
- package/core/shared/skills/do-execute-plan/references/scaffold.md +441 -0
- package/core/shared/skills/do-execute-plan/references/task_attempts.md +41 -0
- package/core/shared/skills/do-flow/SKILL.md +186 -0
- package/core/shared/skills/do-flow/references/task_classes.md +134 -0
- package/core/shared/skills/do-git/SKILL.md +115 -0
- package/core/shared/skills/do-git/references/hotfix-ritual.md +44 -0
- package/core/shared/skills/do-git/references/lifecycle-policy.md +54 -0
- package/core/shared/skills/do-git/references/release-ritual.md +64 -0
- package/core/shared/skills/do-implement/SKILL.md +222 -0
- package/core/shared/skills/do-plan/SKILL.md +219 -0
- package/core/shared/skills/do-test/SKILL.md +113 -0
- package/core/shared/templates/doflow/constitution-template.md +28 -0
- package/core/shared/templates/doflow/data-model-template.md +169 -0
- package/core/shared/templates/doflow/design-template.md +193 -0
- package/core/shared/templates/doflow/external-contract-template.md +35 -0
- package/core/shared/templates/doflow/intent-template.md +45 -0
- package/core/shared/templates/doflow/plan-template.md +151 -0
- package/core/shared/templates/doflow/question-log-template.md +51 -0
- package/core/shared/templates/doflow/requirement-template.md +126 -0
- package/core/shared/templates/doflow/specs-template.md +55 -0
- package/core/shared/templates/doflow/state-template.md +59 -0
- package/core/shared/workflows/do-flow-chain.md +17 -0
- package/package.json +46 -4
- package/src/adapters/antigravity/index.ts +631 -0
- package/src/adapters/claude/index.ts +548 -0
- package/src/adapters/claude/mcp.ts +94 -0
- package/src/adapters/codex/agents.ts +208 -0
- package/src/adapters/codex/config.ts +272 -0
- package/src/adapters/codex/hooks.ts +203 -0
- package/src/adapters/codex/index.ts +707 -0
- package/src/adapters/codex/mcp.ts +271 -0
- package/src/adapters/codex/native-projection.ts +34 -0
- package/src/adapters/copilot/index.ts +413 -0
- package/src/adapters/copy-tree.ts +620 -0
- package/src/adapters/gemini/hooks.ts +210 -0
- package/src/adapters/gemini/index.ts +390 -0
- package/src/adapters/hook-commands.ts +60 -0
- package/src/adapters/index.ts +106 -0
- package/src/adapters/kiro/index.ts +310 -0
- package/src/adapters/mcp-entries.ts +331 -0
- package/src/adapters/opencode/index.ts +466 -0
- package/src/adapters/pi/index.ts +279 -0
- package/src/adapters/pi/json-members.ts +185 -0
- package/src/adapters/pi/mcp.ts +373 -0
- package/src/adapters/resolve-source.ts +19 -0
- package/src/cli/commands/install.ts +218 -0
- package/src/cli/commands/list-backups.ts +21 -0
- package/src/cli/commands/reconcile.ts +120 -0
- package/src/cli/commands/remove.ts +82 -0
- package/src/cli/commands/rollback.ts +172 -0
- package/src/cli/commands/self-update.ts +33 -0
- package/src/cli/commands/status.ts +138 -0
- package/src/cli/commands/tools.ts +92 -0
- package/src/cli/commands/update.ts +162 -0
- package/src/cli/index.ts +568 -0
- package/src/cli/runtime-commands.ts +281 -0
- package/src/cli/shared.ts +218 -0
- package/src/helper/bash-helper.ts +34 -0
- package/src/helper/git.ts +24 -0
- package/src/helper/guardrails.ts +49 -0
- package/src/helper/harness-paths.ts +140 -0
- package/src/helper/marker-merge.ts +116 -0
- package/src/helper/prompt.ts +61 -0
- package/src/helper/repo-root.ts +29 -0
- package/src/helper/settings-merge.ts +151 -0
- package/src/helper/settings-scope.ts +33 -0
- package/src/helper/toml.ts +244 -0
- package/src/install/backup-set.ts +149 -0
- package/src/install/backup.ts +724 -0
- package/src/install/context.ts +58 -0
- package/src/install/manifest.ts +145 -0
- package/src/install/mcp.ts +254 -0
- package/src/install/paths.ts +84 -0
- package/src/install/targets.ts +90 -0
- package/src/install/tool-lifecycle.ts +151 -0
- package/src/lifecycle/bash-availability.ts +25 -0
- package/src/lifecycle/index.ts +812 -0
- package/src/lifecycle/mcp-index.ts +28 -0
- package/src/lifecycle/policies.ts +73 -0
- package/src/lifecycle/view.ts +175 -0
- package/src/registry/index.ts +611 -0
- package/src/release/sync-plugin-versions.ts +66 -0
- package/src/runtime/advice/cli.ts +283 -0
- package/src/runtime/advice/client.ts +324 -0
- package/src/runtime/advice/config.ts +189 -0
- package/src/runtime/advice/doctor.ts +169 -0
- package/src/runtime/advice/endpoint-guard.ts +134 -0
- package/src/runtime/advice/kinds.ts +154 -0
- package/src/runtime/advice/providers/ollama-systemone.ts +209 -0
- package/src/runtime/advice/record.ts +166 -0
- package/src/runtime/advice/registry.ts +170 -0
- package/src/runtime/advice/strength.ts +66 -0
- package/src/runtime/brief-tools.ts +342 -0
- package/src/runtime/c4-project.ts +371 -0
- package/src/runtime/capability-router.ts +484 -0
- package/src/runtime/checkouts.ts +170 -0
- package/src/runtime/claims.ts +468 -0
- package/src/runtime/cli-result.ts +55 -0
- package/src/runtime/cli.ts +678 -0
- package/src/runtime/command-detect.ts +516 -0
- package/src/runtime/context-pack.ts +492 -0
- package/src/runtime/decision-register.ts +493 -0
- package/src/runtime/evidence-ledger.ts +338 -0
- package/src/runtime/failure/capture.ts +272 -0
- package/src/runtime/failure/classifier.ts +68 -0
- package/src/runtime/failure/cli.ts +178 -0
- package/src/runtime/failure/home.ts +64 -0
- package/src/runtime/failure/store.ts +226 -0
- package/src/runtime/feature-resolve.ts +79 -0
- package/src/runtime/freshness.ts +177 -0
- package/src/runtime/health.ts +863 -0
- package/src/runtime/history-compactor.ts +237 -0
- package/src/runtime/implementation-gate.ts +321 -0
- package/src/runtime/inventory/coverage.ts +218 -0
- package/src/runtime/inventory/identity.ts +65 -0
- package/src/runtime/inventory/index.ts +705 -0
- package/src/runtime/inventory/precedence.ts +134 -0
- package/src/runtime/inventory/read-scopes.ts +131 -0
- package/src/runtime/inventory/siblings.ts +192 -0
- package/src/runtime/knowledge/chunker.ts +124 -0
- package/src/runtime/knowledge/hybrid.ts +149 -0
- package/src/runtime/knowledge/index-store.ts +145 -0
- package/src/runtime/knowledge/retrieval.ts +194 -0
- package/src/runtime/leak-scan.ts +185 -0
- package/src/runtime/lifecycle/cli.ts +276 -0
- package/src/runtime/lifecycle/event-store.ts +340 -0
- package/src/runtime/lifecycle/fold.ts +353 -0
- package/src/runtime/lifecycle/followup.ts +432 -0
- package/src/runtime/lifecycle/goal.ts +249 -0
- package/src/runtime/lifecycle/intent-writer.ts +86 -0
- package/src/runtime/lifecycle/overview.ts +292 -0
- package/src/runtime/lifecycle/release.ts +241 -0
- package/src/runtime/lifecycle/report-store.ts +221 -0
- package/src/runtime/lifecycle/retention.ts +212 -0
- package/src/runtime/lifecycle/root.ts +71 -0
- package/src/runtime/lifecycle/status.ts +353 -0
- package/src/runtime/lifecycle/store-upkeep.ts +393 -0
- package/src/runtime/locator-resolve.ts +158 -0
- package/src/runtime/mask.ts +210 -0
- package/src/runtime/mcp-consultations.ts +412 -0
- package/src/runtime/mcp-reach.ts +157 -0
- package/src/runtime/model-router.ts +153 -0
- package/src/runtime/outcome.ts +467 -0
- package/src/runtime/reach.ts +148 -0
- package/src/runtime/readiness-record.ts +150 -0
- package/src/runtime/readiness.ts +435 -0
- package/src/runtime/recovery.ts +282 -0
- package/src/runtime/research-request.ts +231 -0
- package/src/runtime/retrieval-plan.ts +578 -0
- package/src/runtime/scaffold/artifacts.ts +217 -0
- package/src/runtime/scaffold/fingerprint.ts +56 -0
- package/src/runtime/scaffold/generate.ts +911 -0
- package/src/runtime/scaffold/languages.ts +245 -0
- package/src/runtime/storage/cli.ts +64 -0
- package/src/runtime/storage/engine.ts +249 -0
- package/src/runtime/storage/registry.ts +130 -0
- package/src/runtime/storage/roots.ts +63 -0
- package/src/runtime/storage/rules.ts +282 -0
- package/src/runtime/storage/upkeep.ts +243 -0
- package/src/runtime/storage/work-status.ts +326 -0
- package/src/runtime/task-attempts.ts +415 -0
- package/src/runtime/task-classifier.ts +550 -0
- package/src/runtime/task-scope.ts +130 -0
- package/src/runtime/task-state.ts +176 -0
- package/src/runtime/trace/indicators.ts +235 -0
- package/src/runtime/trace/ledger.ts +626 -0
- package/src/runtime/trace/render.ts +76 -0
- package/src/runtime/trace/views.ts +459 -0
- package/src/runtime/verification/contract-runner.ts +341 -0
- package/src/runtime/verification/engine.ts +1461 -0
- package/src/runtime/verification/registry.ts +130 -0
- package/src/runtime/verification/scope-bound.ts +418 -0
- package/src/runtime/verification/test-selection.ts +172 -0
- package/src/runtime/workflow-engine.ts +588 -0
- package/src/runtime/workflow-orchestrator.ts +953 -0
- package/src/runtime/worktree.ts +340 -0
- package/src/state/index.ts +193 -0
- package/src/state/lockfile.ts +136 -0
- package/src/state/run-lock.ts +408 -0
- package/types/node-commonjs.d.ts +68 -0
- package/types/runtime.d.ts +91 -0
|
@@ -0,0 +1,790 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"description": "Task-class workflows. Each class declares an ordered stage list; every stage names a skill that already exists in core/shared/skills/, the readiness template that gates it (null when the stage gates on nothing), and whether it is optional. There is deliberately no default class: an unclassified or unrecognized task is rejected by the classifier rather than resolved to the feature pipeline. `callers` declares, for every shipped skill, whether it occupies stages (`stage`), classifies on behalf of others (`router`), or runs outside class routing entirely (`standalone`); the classifier uses it to judge whether a proposed class has a stage the calling skill can occupy, and the two non-default roles must state why they are exempt.",
|
|
4
|
+
"stageKinds": {
|
|
5
|
+
"discovery": {
|
|
6
|
+
"description": "Elicit and record what is actually being asked for.",
|
|
7
|
+
"mutatesSource": false
|
|
8
|
+
},
|
|
9
|
+
"reproduction": {
|
|
10
|
+
"description": "Establish the reported behavior as an observed fact before explaining it.",
|
|
11
|
+
"mutatesSource": false
|
|
12
|
+
},
|
|
13
|
+
"analysis": {
|
|
14
|
+
"description": "Map existing structure, behavior, root cause, or blast radius from the repository as it stands.",
|
|
15
|
+
"mutatesSource": false
|
|
16
|
+
},
|
|
17
|
+
"retrieval": {
|
|
18
|
+
"description": "Gather authoritative external evidence — release notes, upstream documentation, prior art.",
|
|
19
|
+
"mutatesSource": false
|
|
20
|
+
},
|
|
21
|
+
"design": {
|
|
22
|
+
"description": "Decide system shape, interfaces, and data contracts.",
|
|
23
|
+
"mutatesSource": false
|
|
24
|
+
},
|
|
25
|
+
"planning": {
|
|
26
|
+
"description": "Break decided work into a dependency-ordered, owner-scoped task list.",
|
|
27
|
+
"mutatesSource": false
|
|
28
|
+
},
|
|
29
|
+
"implementation": {
|
|
30
|
+
"description": "Author or modify source. The only kind that mutates the tree, and therefore the only kind a readiness template can gate.",
|
|
31
|
+
"mutatesSource": true
|
|
32
|
+
},
|
|
33
|
+
"verification": {
|
|
34
|
+
"description": "Run builds, test suites, and coverage against the tree as it stands.",
|
|
35
|
+
"mutatesSource": false
|
|
36
|
+
},
|
|
37
|
+
"review": {
|
|
38
|
+
"description": "Assess a change or a body of code and report findings; produces judgement, not edits.",
|
|
39
|
+
"mutatesSource": false
|
|
40
|
+
},
|
|
41
|
+
"synthesis": {
|
|
42
|
+
"description": "Produce a written deliverable — a report, reference, or record — as the terminal output of the work.",
|
|
43
|
+
"mutatesSource": false
|
|
44
|
+
},
|
|
45
|
+
"operation": {
|
|
46
|
+
"description": "Execute a repository-lifecycle action such as a branch, release, or merge. Changes repository state without authoring source.",
|
|
47
|
+
"mutatesSource": false
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"callers": {
|
|
51
|
+
"do": {
|
|
52
|
+
"role": "router",
|
|
53
|
+
"reason": "The universal dispatcher. It decomposes a request and classifies on behalf of the skill it will hand each package to, so it occupies no stage in its own right. Fit is judged one hop later, when that skill classifies under its own identity."
|
|
54
|
+
},
|
|
55
|
+
"do-flow": {
|
|
56
|
+
"role": "router",
|
|
57
|
+
"reason": "Sequences a whole workflow stage by stage. It selects the class rather than performing any stage of it, so stage membership is not a property it can have. Each stage it enters classifies for itself."
|
|
58
|
+
},
|
|
59
|
+
"do-brainstorm": { "role": "stage" },
|
|
60
|
+
"do-design": { "role": "stage" },
|
|
61
|
+
"do-plan": { "role": "stage" },
|
|
62
|
+
"do-execute-plan": { "role": "stage" },
|
|
63
|
+
"do-implement": { "role": "stage" },
|
|
64
|
+
"do-test": { "role": "stage" },
|
|
65
|
+
"do-code-review": { "role": "stage" },
|
|
66
|
+
"do-diagnose": { "role": "stage" },
|
|
67
|
+
"do-document": { "role": "stage" },
|
|
68
|
+
"do-git": { "role": "stage" },
|
|
69
|
+
"do-constitution": {
|
|
70
|
+
"role": "standalone",
|
|
71
|
+
"reason": "Repository governance. No workflow declares a governance stage and none should: the constitution is what workflows are checked against, not a step inside one. A classify call from here is a routing mistake rather than a class mistake, and is rejected as such."
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"classes": {
|
|
75
|
+
"feature": {
|
|
76
|
+
"name": "Feature Delivery",
|
|
77
|
+
"description": "New capability delivered through the full spec-driven chain, retaining the three approval gates do-flow stops at today.",
|
|
78
|
+
"handoff": "After the final gate, commit and merge through do-git, which is outside this workflow.",
|
|
79
|
+
"readinessNote": "Gated by the 'feature' readiness template at the implementation stage.",
|
|
80
|
+
"stages": [
|
|
81
|
+
{
|
|
82
|
+
"id": "discovery",
|
|
83
|
+
"skill": "do-brainstorm",
|
|
84
|
+
"kind": "discovery",
|
|
85
|
+
"readinessTemplate": null,
|
|
86
|
+
"optional": false,
|
|
87
|
+
"purpose": "Resolve the idea into requirement.md with zero unresolved clarification markers."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "design",
|
|
91
|
+
"skill": "do-design",
|
|
92
|
+
"kind": "design",
|
|
93
|
+
"readinessTemplate": null,
|
|
94
|
+
"optional": false,
|
|
95
|
+
"purpose": "Turn requirement.md into architecture, interface, and data-contract decisions in design.md."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "planning",
|
|
99
|
+
"skill": "do-plan",
|
|
100
|
+
"kind": "planning",
|
|
101
|
+
"readinessTemplate": null,
|
|
102
|
+
"optional": false,
|
|
103
|
+
"purpose": "Produce plan.md: the constitution check and the dependency-ordered task checklist."
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "implementation",
|
|
107
|
+
"skill": "do-execute-plan",
|
|
108
|
+
"kind": "implementation",
|
|
109
|
+
"readinessTemplate": "feature",
|
|
110
|
+
"optional": false,
|
|
111
|
+
"purpose": "Execute plan.md's checklist through the specialist archetypes."
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"id": "verification",
|
|
115
|
+
"skill": "do-test",
|
|
116
|
+
"kind": "verification",
|
|
117
|
+
"readinessTemplate": null,
|
|
118
|
+
"optional": false,
|
|
119
|
+
"purpose": "Run the project's builds and test suites over the delivered change."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "review",
|
|
123
|
+
"skill": "do-code-review",
|
|
124
|
+
"kind": "review",
|
|
125
|
+
"readinessTemplate": null,
|
|
126
|
+
"optional": false,
|
|
127
|
+
"purpose": "Review the delivered change and report an approval status."
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"gates": [
|
|
131
|
+
{
|
|
132
|
+
"id": "gate-0",
|
|
133
|
+
"name": "Unresolved clarifications",
|
|
134
|
+
"afterStage": "discovery",
|
|
135
|
+
"kind": "clarification",
|
|
136
|
+
"trigger": "unresolved-clarifications",
|
|
137
|
+
"prompt": "requirement.md still carries unresolved [NEEDS CLARIFICATION] markers. Resolve each one before design starts."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"id": "gate-a",
|
|
141
|
+
"name": "Before implementation",
|
|
142
|
+
"afterStage": "planning",
|
|
143
|
+
"kind": "approval",
|
|
144
|
+
"trigger": "always",
|
|
145
|
+
"prompt": "requirement.md, design.md, and plan.md are ready. Proceed to implementation?"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"id": "gate-b",
|
|
149
|
+
"name": "Before commit or merge",
|
|
150
|
+
"afterStage": "review",
|
|
151
|
+
"kind": "approval",
|
|
152
|
+
"trigger": "always",
|
|
153
|
+
"prompt": "Review is complete. Proceed to commit and merge?"
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
"bug": {
|
|
158
|
+
"name": "Bug Fix",
|
|
159
|
+
"description": "Defect repair that starts from an observed reproduction and an evidenced root cause, never from a proposed fix.",
|
|
160
|
+
"handoff": "Fixes verified here are committed through do-git, which is outside this workflow.",
|
|
161
|
+
"readinessNote": "Gated by the 'bug' readiness template, which requires reproduction, affected code, a supported root-cause claim, blast radius, and a regression check.",
|
|
162
|
+
"stages": [
|
|
163
|
+
{
|
|
164
|
+
"id": "reproduction",
|
|
165
|
+
"skill": "do-test",
|
|
166
|
+
"kind": "reproduction",
|
|
167
|
+
"readinessTemplate": null,
|
|
168
|
+
"optional": false,
|
|
169
|
+
"purpose": "Run the failing case and record the observed failure as evidence before explaining it."
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"id": "root-cause",
|
|
173
|
+
"skill": "do-diagnose",
|
|
174
|
+
"kind": "analysis",
|
|
175
|
+
"readinessTemplate": null,
|
|
176
|
+
"optional": false,
|
|
177
|
+
"purpose": "Establish the root cause and its blast radius from repository evidence, not from the first plausible explanation."
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"id": "implementation",
|
|
181
|
+
"skill": "do-implement",
|
|
182
|
+
"kind": "implementation",
|
|
183
|
+
"readinessTemplate": "bug",
|
|
184
|
+
"optional": false,
|
|
185
|
+
"purpose": "Apply the targeted fix for the established root cause."
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"id": "regression-verification",
|
|
189
|
+
"skill": "do-test",
|
|
190
|
+
"kind": "verification",
|
|
191
|
+
"readinessTemplate": null,
|
|
192
|
+
"optional": false,
|
|
193
|
+
"purpose": "Re-run the reproduction and the surrounding suite to show the defect is gone and nothing else broke."
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"id": "review",
|
|
197
|
+
"skill": "do-code-review",
|
|
198
|
+
"kind": "review",
|
|
199
|
+
"readinessTemplate": null,
|
|
200
|
+
"optional": true,
|
|
201
|
+
"purpose": "Review the fix when its blast radius reaches beyond the reproduction."
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
"gates": []
|
|
205
|
+
},
|
|
206
|
+
"refactor": {
|
|
207
|
+
"name": "Refactor",
|
|
208
|
+
"description": "Behavior-preserving restructuring that starts from the current architecture, its invariants, and a green baseline.",
|
|
209
|
+
"handoff": "Verified restructuring is committed through do-git, which is outside this workflow.",
|
|
210
|
+
"readinessNote": "Gated by the 'refactor' readiness template, which requires mapped architecture, captured invariants, passing baseline tests, and blast radius.",
|
|
211
|
+
"stages": [
|
|
212
|
+
{
|
|
213
|
+
"id": "architecture-mapping",
|
|
214
|
+
"skill": "do-diagnose",
|
|
215
|
+
"kind": "analysis",
|
|
216
|
+
"readinessTemplate": null,
|
|
217
|
+
"optional": false,
|
|
218
|
+
"purpose": "Map the current architecture and call graphs, state the invariants that must survive, and bound the blast radius."
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"id": "baseline-verification",
|
|
222
|
+
"skill": "do-test",
|
|
223
|
+
"kind": "verification",
|
|
224
|
+
"readinessTemplate": null,
|
|
225
|
+
"optional": false,
|
|
226
|
+
"purpose": "Record a green baseline before any edit, so a post-refactor failure is attributable."
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"id": "implementation",
|
|
230
|
+
"skill": "do-implement",
|
|
231
|
+
"kind": "implementation",
|
|
232
|
+
"readinessTemplate": "refactor",
|
|
233
|
+
"optional": false,
|
|
234
|
+
"purpose": "Restructure within the mapped blast radius while holding the captured invariants."
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"id": "verification",
|
|
238
|
+
"skill": "do-test",
|
|
239
|
+
"kind": "verification",
|
|
240
|
+
"readinessTemplate": null,
|
|
241
|
+
"optional": false,
|
|
242
|
+
"purpose": "Re-run the baseline suite and compare against the recorded baseline."
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"id": "review",
|
|
246
|
+
"skill": "do-code-review",
|
|
247
|
+
"kind": "review",
|
|
248
|
+
"readinessTemplate": null,
|
|
249
|
+
"optional": false,
|
|
250
|
+
"purpose": "Confirm the restructuring preserved behavior and did not widen its own scope."
|
|
251
|
+
}
|
|
252
|
+
],
|
|
253
|
+
"gates": []
|
|
254
|
+
},
|
|
255
|
+
"review": {
|
|
256
|
+
"name": "Review",
|
|
257
|
+
"description": "Assessment of an existing change or body of code. Contains no implementation stage by construction: findings leave this workflow as a separate task.",
|
|
258
|
+
"handoff": "Findings are addressed as their own task — a bug, refactor, or trivial-edit workflow, or do-implement working from the review. This workflow never edits source.",
|
|
259
|
+
"readinessNote": "No readiness template applies: implementation readiness gates edits, and this workflow makes none.",
|
|
260
|
+
"stages": [
|
|
261
|
+
{
|
|
262
|
+
"id": "verification",
|
|
263
|
+
"skill": "do-test",
|
|
264
|
+
"kind": "verification",
|
|
265
|
+
"readinessTemplate": null,
|
|
266
|
+
"optional": true,
|
|
267
|
+
"purpose": "Establish the change's build and test state as review evidence before judging it."
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"id": "review",
|
|
271
|
+
"skill": "do-code-review",
|
|
272
|
+
"kind": "review",
|
|
273
|
+
"readinessTemplate": null,
|
|
274
|
+
"optional": false,
|
|
275
|
+
"purpose": "Analyze the diff and its neighbourhood, check quality against the language checkers, and report findings with an approval status."
|
|
276
|
+
}
|
|
277
|
+
],
|
|
278
|
+
"gates": []
|
|
279
|
+
},
|
|
280
|
+
"research": {
|
|
281
|
+
"name": "Research",
|
|
282
|
+
"description": "Investigation that terminates at a written synthesis. No implementation, and therefore no implementation-readiness gate.",
|
|
283
|
+
"handoff": "If the synthesis motivates a change, that change is a separate task and starts its own workflow.",
|
|
284
|
+
"readinessNote": "No readiness template applies: this workflow terminates at synthesis and never reaches an edit.",
|
|
285
|
+
"stages": [
|
|
286
|
+
{
|
|
287
|
+
"id": "scoping",
|
|
288
|
+
"skill": "do",
|
|
289
|
+
"kind": "discovery",
|
|
290
|
+
"readinessTemplate": null,
|
|
291
|
+
"optional": true,
|
|
292
|
+
"purpose": "Decompose the question and route each part to the capability that can actually answer it."
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"id": "synthesis",
|
|
296
|
+
"skill": "do-document",
|
|
297
|
+
"kind": "synthesis",
|
|
298
|
+
"readinessTemplate": null,
|
|
299
|
+
"optional": false,
|
|
300
|
+
"purpose": "Investigate broad-to-narrow and produce the citation-backed report, stating unresolved gaps rather than closing over them."
|
|
301
|
+
}
|
|
302
|
+
],
|
|
303
|
+
"gates": []
|
|
304
|
+
},
|
|
305
|
+
"documentation": {
|
|
306
|
+
"name": "Documentation",
|
|
307
|
+
"description": "Authoring or updating documentation that ships with the repository — a reference page, a guide, an API description, an architecture note, a README section. The deliverable is prose in the tree; no source is authored, and nothing here is a report filed elsewhere.",
|
|
308
|
+
"handoff": "A code change the documentation reveals is a separate task under its own class. Committing is done through do-git, which is outside this workflow.",
|
|
309
|
+
"readinessNote": "No readiness template applies: readiness gates edits to source, and every stage here is synthesis, verification or review. The failure this class actually has is asserting something nobody checked, and the safeguards against it are the authoring stage's grounding requirement and the verification stage — not a gate borrowed from a class that writes code.",
|
|
310
|
+
"stages": [
|
|
311
|
+
{
|
|
312
|
+
"id": "authoring",
|
|
313
|
+
"skill": "do-document",
|
|
314
|
+
"kind": "synthesis",
|
|
315
|
+
"readinessTemplate": null,
|
|
316
|
+
"optional": false,
|
|
317
|
+
"purpose": "Write or update the documentation against the code, artifact or command it describes, carrying a locator for every factual claim. Never from memory, and never a figure nobody measured."
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"id": "verification",
|
|
321
|
+
"skill": "do-test",
|
|
322
|
+
"kind": "verification",
|
|
323
|
+
"readinessTemplate": null,
|
|
324
|
+
"optional": true,
|
|
325
|
+
"purpose": "Run whatever the documentation can break — guards that read docs, link and example checks, or the suite when a documented command or snippet is executable. Skip only when the repository has no such check, and say that is why."
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"id": "review",
|
|
329
|
+
"skill": "do-code-review",
|
|
330
|
+
"kind": "review",
|
|
331
|
+
"readinessTemplate": null,
|
|
332
|
+
"optional": true,
|
|
333
|
+
"purpose": "Review the prose through the content-type path rather than the language checkers, when the change is large enough that a second read is worth its cost."
|
|
334
|
+
}
|
|
335
|
+
],
|
|
336
|
+
"gates": []
|
|
337
|
+
},
|
|
338
|
+
"dependency-change": {
|
|
339
|
+
"name": "Dependency Change",
|
|
340
|
+
"description": "Upgrade, addition, or removal of a dependency, starting from authoritative release evidence rather than from the version number alone.",
|
|
341
|
+
"handoff": "Verified dependency changes are committed through do-git, which is outside this workflow.",
|
|
342
|
+
"readinessNote": "Gated by the 'dependency-change' readiness template, which requires reviewed release notes, mapped repository usage, and a verification command.",
|
|
343
|
+
"stages": [
|
|
344
|
+
{
|
|
345
|
+
"id": "release-evidence",
|
|
346
|
+
"skill": "do-document",
|
|
347
|
+
"kind": "retrieval",
|
|
348
|
+
"readinessTemplate": null,
|
|
349
|
+
"optional": false,
|
|
350
|
+
"purpose": "Retrieve the upstream release notes, changelog, and migration guide for the exact version range, and record them with their sources."
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"id": "usage-impact",
|
|
354
|
+
"skill": "do-diagnose",
|
|
355
|
+
"kind": "analysis",
|
|
356
|
+
"readinessTemplate": null,
|
|
357
|
+
"optional": false,
|
|
358
|
+
"purpose": "Map every repository usage of the dependency against the documented breaking changes."
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"id": "implementation",
|
|
362
|
+
"skill": "do-implement",
|
|
363
|
+
"kind": "implementation",
|
|
364
|
+
"readinessTemplate": "dependency-change",
|
|
365
|
+
"optional": false,
|
|
366
|
+
"purpose": "Apply the version change and the call-site migrations the evidence identified."
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"id": "verification",
|
|
370
|
+
"skill": "do-test",
|
|
371
|
+
"kind": "verification",
|
|
372
|
+
"readinessTemplate": null,
|
|
373
|
+
"optional": false,
|
|
374
|
+
"purpose": "Run the build and full suite: a dependency change's blast radius is not bounded by the diff."
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"id": "review",
|
|
378
|
+
"skill": "do-code-review",
|
|
379
|
+
"kind": "review",
|
|
380
|
+
"readinessTemplate": null,
|
|
381
|
+
"optional": true,
|
|
382
|
+
"purpose": "Review the migrated call sites when the upgrade crossed a breaking change."
|
|
383
|
+
}
|
|
384
|
+
],
|
|
385
|
+
"gates": []
|
|
386
|
+
},
|
|
387
|
+
"operations": {
|
|
388
|
+
"name": "Operations",
|
|
389
|
+
"description": "Repository-lifecycle work — branch, release, merge, hotfix, backport — executed against a verified state rather than authored as source.",
|
|
390
|
+
"handoff": "Source changes discovered while running an operation are a separate task and start their own workflow.",
|
|
391
|
+
"readinessNote": "No readiness template exists for this class in readiness-templates.json, and none is claimed here. This workflow authors no source, so implementation readiness does not apply; its equivalent safeguard is the preflight verification stage.",
|
|
392
|
+
"stages": [
|
|
393
|
+
{
|
|
394
|
+
"id": "state-check",
|
|
395
|
+
"skill": "do-git",
|
|
396
|
+
"kind": "analysis",
|
|
397
|
+
"readinessTemplate": null,
|
|
398
|
+
"optional": false,
|
|
399
|
+
"purpose": "Establish current branch, working-tree cleanliness, and lifecycle position before acting."
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"id": "preflight",
|
|
403
|
+
"skill": "do-test",
|
|
404
|
+
"kind": "verification",
|
|
405
|
+
"readinessTemplate": null,
|
|
406
|
+
"optional": false,
|
|
407
|
+
"purpose": "Confirm the build and suite are green on the state being shipped."
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"id": "execution",
|
|
411
|
+
"skill": "do-git",
|
|
412
|
+
"kind": "operation",
|
|
413
|
+
"readinessTemplate": null,
|
|
414
|
+
"optional": false,
|
|
415
|
+
"purpose": "Perform the lifecycle intent with its confirmation and safety checks."
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"id": "record",
|
|
419
|
+
"skill": "do-document",
|
|
420
|
+
"kind": "synthesis",
|
|
421
|
+
"readinessTemplate": null,
|
|
422
|
+
"optional": true,
|
|
423
|
+
"purpose": "Write the release note or operational record when the operation produced something worth citing later."
|
|
424
|
+
}
|
|
425
|
+
],
|
|
426
|
+
"gates": []
|
|
427
|
+
},
|
|
428
|
+
"trivial-edit": {
|
|
429
|
+
"name": "Trivial Edit",
|
|
430
|
+
"description": "A single-file, non-cascading change. Deliberately the shortest workflow: it must not be blocked by checks that exist for larger work.",
|
|
431
|
+
"handoff": "Committed through do-git, which is outside this workflow.",
|
|
432
|
+
"readinessNote": "Gated by the 'trivial-edit' readiness template, which requires only an identified target and a verified single-file scope.",
|
|
433
|
+
"stages": [
|
|
434
|
+
{
|
|
435
|
+
"id": "implementation",
|
|
436
|
+
"skill": "do-implement",
|
|
437
|
+
"kind": "implementation",
|
|
438
|
+
"readinessTemplate": "trivial-edit",
|
|
439
|
+
"editTimeGate": false,
|
|
440
|
+
"optional": false,
|
|
441
|
+
"purpose": "Make the identified edit at the identified locator."
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"id": "verification",
|
|
445
|
+
"skill": "do-test",
|
|
446
|
+
"kind": "verification",
|
|
447
|
+
"readinessTemplate": null,
|
|
448
|
+
"optional": true,
|
|
449
|
+
"purpose": "Run the suite when the edited file is reachable from executable code."
|
|
450
|
+
}
|
|
451
|
+
],
|
|
452
|
+
"gates": []
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
"promptNudge": {
|
|
456
|
+
"description": "Once-per-session advisory that points a plain code change request at /do; read only by the prompt hook, its corpus runner and the registry shape guard, never by the workflow engine or the classifier.",
|
|
457
|
+
"message": "DoFlow note: this prompt reads as a code change request made without /do. Tell the user in one sentence that /do would classify this task and apply DoFlow's checks, then do what they asked; do not run /do yourself and do not wait for a reply.",
|
|
458
|
+
"maxScanChars": 400,
|
|
459
|
+
"minChars": 12,
|
|
460
|
+
"leadIns": [
|
|
461
|
+
"please",
|
|
462
|
+
"pls",
|
|
463
|
+
"now",
|
|
464
|
+
"then",
|
|
465
|
+
"also",
|
|
466
|
+
"next",
|
|
467
|
+
"ok",
|
|
468
|
+
"okay",
|
|
469
|
+
"so",
|
|
470
|
+
"let's",
|
|
471
|
+
"lets",
|
|
472
|
+
"go ahead and",
|
|
473
|
+
"i need you to",
|
|
474
|
+
"i want you to",
|
|
475
|
+
"just"
|
|
476
|
+
],
|
|
477
|
+
"verbs": [
|
|
478
|
+
"add",
|
|
479
|
+
"implement",
|
|
480
|
+
"build",
|
|
481
|
+
"create",
|
|
482
|
+
"fix",
|
|
483
|
+
"refactor",
|
|
484
|
+
"change",
|
|
485
|
+
"rename",
|
|
486
|
+
"remove",
|
|
487
|
+
"delete",
|
|
488
|
+
"update",
|
|
489
|
+
"replace",
|
|
490
|
+
"move",
|
|
491
|
+
"extract",
|
|
492
|
+
"introduce",
|
|
493
|
+
"migrate",
|
|
494
|
+
"convert",
|
|
495
|
+
"wire",
|
|
496
|
+
"write",
|
|
497
|
+
"make",
|
|
498
|
+
"support",
|
|
499
|
+
"handle",
|
|
500
|
+
"optimize",
|
|
501
|
+
"optimise",
|
|
502
|
+
"port",
|
|
503
|
+
"split",
|
|
504
|
+
"inline",
|
|
505
|
+
"rewrite",
|
|
506
|
+
"restructure",
|
|
507
|
+
"simplify",
|
|
508
|
+
"clean up",
|
|
509
|
+
"bump",
|
|
510
|
+
"upgrade",
|
|
511
|
+
"patch",
|
|
512
|
+
"validate",
|
|
513
|
+
"expose",
|
|
514
|
+
"drop",
|
|
515
|
+
"deprecate",
|
|
516
|
+
"parallelize",
|
|
517
|
+
"cache",
|
|
518
|
+
"log"
|
|
519
|
+
],
|
|
520
|
+
"nouns": [
|
|
521
|
+
"function",
|
|
522
|
+
"method",
|
|
523
|
+
"class",
|
|
524
|
+
"module",
|
|
525
|
+
"component",
|
|
526
|
+
"endpoint",
|
|
527
|
+
"api",
|
|
528
|
+
"route",
|
|
529
|
+
"router",
|
|
530
|
+
"handler",
|
|
531
|
+
"middleware",
|
|
532
|
+
"test",
|
|
533
|
+
"tests",
|
|
534
|
+
"spec",
|
|
535
|
+
"schema",
|
|
536
|
+
"migration",
|
|
537
|
+
"hook",
|
|
538
|
+
"script",
|
|
539
|
+
"config",
|
|
540
|
+
"configuration",
|
|
541
|
+
"service",
|
|
542
|
+
"client",
|
|
543
|
+
"controller",
|
|
544
|
+
"query",
|
|
545
|
+
"column",
|
|
546
|
+
"flag",
|
|
547
|
+
"parameter",
|
|
548
|
+
"param",
|
|
549
|
+
"argument",
|
|
550
|
+
"arg",
|
|
551
|
+
"interface",
|
|
552
|
+
"enum",
|
|
553
|
+
"struct",
|
|
554
|
+
"variable",
|
|
555
|
+
"constant",
|
|
556
|
+
"package",
|
|
557
|
+
"dependency",
|
|
558
|
+
"library",
|
|
559
|
+
"cli",
|
|
560
|
+
"subcommand",
|
|
561
|
+
"exception",
|
|
562
|
+
"retry",
|
|
563
|
+
"retries",
|
|
564
|
+
"timeout",
|
|
565
|
+
"cache",
|
|
566
|
+
"validation",
|
|
567
|
+
"validator",
|
|
568
|
+
"logging",
|
|
569
|
+
"logger",
|
|
570
|
+
"button",
|
|
571
|
+
"modal",
|
|
572
|
+
"widget",
|
|
573
|
+
"parser",
|
|
574
|
+
"serializer",
|
|
575
|
+
"adapter",
|
|
576
|
+
"plugin",
|
|
577
|
+
"workflow",
|
|
578
|
+
"pipeline",
|
|
579
|
+
"database",
|
|
580
|
+
"db",
|
|
581
|
+
"regex",
|
|
582
|
+
"lint",
|
|
583
|
+
"linter",
|
|
584
|
+
"dockerfile",
|
|
585
|
+
"readme",
|
|
586
|
+
"changelog",
|
|
587
|
+
"unit test",
|
|
588
|
+
"fixture",
|
|
589
|
+
"mock",
|
|
590
|
+
"reducer",
|
|
591
|
+
"listener",
|
|
592
|
+
"callback",
|
|
593
|
+
"env var",
|
|
594
|
+
"environment variable",
|
|
595
|
+
"helper",
|
|
596
|
+
"util",
|
|
597
|
+
"utils",
|
|
598
|
+
"wrapper"
|
|
599
|
+
],
|
|
600
|
+
"pathPattern": "(^|[\\s`'\"(\\[])(\\.{0,2}/)?[A-Za-z0-9_.@-]+/[A-Za-z0-9_./@-]+|\\b[A-Za-z0-9_-]+\\.(js|mjs|cjs|ts|tsx|jsx|py|go|rs|java|kt|kts|rb|php|cs|swift|c|cc|cpp|h|hpp|sh|bash|zsh|ps1|json|ya?ml|toml|ini|md|sql|css|scss|html|vue|svelte|dart|lua|ex|exs|tf|gradle|xml|proto)\\b|\\b[a-z]+[A-Z][A-Za-z0-9]*\\b|\\b[a-z0-9]+_[a-z0-9_]+\\b|\\b[A-Za-z_][A-Za-z0-9_]*\\(\\)",
|
|
601
|
+
"excludeStartWords": [
|
|
602
|
+
"how",
|
|
603
|
+
"why",
|
|
604
|
+
"what",
|
|
605
|
+
"whats",
|
|
606
|
+
"what's",
|
|
607
|
+
"when",
|
|
608
|
+
"where",
|
|
609
|
+
"which",
|
|
610
|
+
"who",
|
|
611
|
+
"whose",
|
|
612
|
+
"explain",
|
|
613
|
+
"describe",
|
|
614
|
+
"is",
|
|
615
|
+
"are",
|
|
616
|
+
"was",
|
|
617
|
+
"were",
|
|
618
|
+
"does",
|
|
619
|
+
"do",
|
|
620
|
+
"did",
|
|
621
|
+
"can",
|
|
622
|
+
"could",
|
|
623
|
+
"would",
|
|
624
|
+
"should",
|
|
625
|
+
"will",
|
|
626
|
+
"may",
|
|
627
|
+
"might",
|
|
628
|
+
"review",
|
|
629
|
+
"check",
|
|
630
|
+
"summarize",
|
|
631
|
+
"summarise",
|
|
632
|
+
"show",
|
|
633
|
+
"list",
|
|
634
|
+
"tell",
|
|
635
|
+
"compare",
|
|
636
|
+
"analyze",
|
|
637
|
+
"analyse",
|
|
638
|
+
"investigate",
|
|
639
|
+
"help"
|
|
640
|
+
],
|
|
641
|
+
"excludeContainsPhrases": [
|
|
642
|
+
"review my",
|
|
643
|
+
"review the",
|
|
644
|
+
"review this",
|
|
645
|
+
"code review",
|
|
646
|
+
"don't change",
|
|
647
|
+
"do not change",
|
|
648
|
+
"don't edit",
|
|
649
|
+
"do not edit",
|
|
650
|
+
"without changing",
|
|
651
|
+
"no changes",
|
|
652
|
+
"just explain",
|
|
653
|
+
"only explain"
|
|
654
|
+
],
|
|
655
|
+
"stallWords": [
|
|
656
|
+
"thanks",
|
|
657
|
+
"thank you",
|
|
658
|
+
"thx",
|
|
659
|
+
"ok",
|
|
660
|
+
"okay",
|
|
661
|
+
"k",
|
|
662
|
+
"lgtm",
|
|
663
|
+
"continue",
|
|
664
|
+
"go on",
|
|
665
|
+
"go ahead",
|
|
666
|
+
"yes",
|
|
667
|
+
"yep",
|
|
668
|
+
"no",
|
|
669
|
+
"nope",
|
|
670
|
+
"sure",
|
|
671
|
+
"done",
|
|
672
|
+
"next",
|
|
673
|
+
"proceed",
|
|
674
|
+
"keep going",
|
|
675
|
+
"sounds good",
|
|
676
|
+
"great",
|
|
677
|
+
"nice",
|
|
678
|
+
"cool",
|
|
679
|
+
"good",
|
|
680
|
+
"perfect",
|
|
681
|
+
"retry",
|
|
682
|
+
"try again"
|
|
683
|
+
],
|
|
684
|
+
"excludePrefixes": [
|
|
685
|
+
"/",
|
|
686
|
+
"$",
|
|
687
|
+
"!",
|
|
688
|
+
"#",
|
|
689
|
+
"@",
|
|
690
|
+
">"
|
|
691
|
+
],
|
|
692
|
+
"objectBlockers": [
|
|
693
|
+
"me",
|
|
694
|
+
"us",
|
|
695
|
+
"you",
|
|
696
|
+
"it",
|
|
697
|
+
"this",
|
|
698
|
+
"that",
|
|
699
|
+
"these",
|
|
700
|
+
"those",
|
|
701
|
+
"them",
|
|
702
|
+
"your",
|
|
703
|
+
"yours",
|
|
704
|
+
"my",
|
|
705
|
+
"sure",
|
|
706
|
+
"up",
|
|
707
|
+
"in",
|
|
708
|
+
"on",
|
|
709
|
+
"out",
|
|
710
|
+
"of",
|
|
711
|
+
"over",
|
|
712
|
+
"off",
|
|
713
|
+
"back",
|
|
714
|
+
"down",
|
|
715
|
+
"away",
|
|
716
|
+
"something",
|
|
717
|
+
"anything",
|
|
718
|
+
"everything"
|
|
719
|
+
],
|
|
720
|
+
"contextBlockers": [
|
|
721
|
+
"your answer",
|
|
722
|
+
"your reply",
|
|
723
|
+
"your response",
|
|
724
|
+
"your message",
|
|
725
|
+
"your memory",
|
|
726
|
+
"your previous",
|
|
727
|
+
"your last",
|
|
728
|
+
"the answer",
|
|
729
|
+
"the summary",
|
|
730
|
+
"a summary",
|
|
731
|
+
"the plan",
|
|
732
|
+
"a plan",
|
|
733
|
+
"plan for",
|
|
734
|
+
"ticket",
|
|
735
|
+
"a note",
|
|
736
|
+
"the note",
|
|
737
|
+
"email",
|
|
738
|
+
"meeting",
|
|
739
|
+
"slide",
|
|
740
|
+
"presentation",
|
|
741
|
+
"chat",
|
|
742
|
+
"conversation",
|
|
743
|
+
"essay",
|
|
744
|
+
"poem",
|
|
745
|
+
"story",
|
|
746
|
+
"recipe",
|
|
747
|
+
"shopping",
|
|
748
|
+
"commit message",
|
|
749
|
+
"pull request description",
|
|
750
|
+
"pr description",
|
|
751
|
+
"tweet",
|
|
752
|
+
"blog post",
|
|
753
|
+
"spreadsheet formula",
|
|
754
|
+
"excel formula",
|
|
755
|
+
"sheet formula",
|
|
756
|
+
"worksheet function",
|
|
757
|
+
"excel spreadsheet",
|
|
758
|
+
"excel sheet",
|
|
759
|
+
"google sheet",
|
|
760
|
+
"google doc",
|
|
761
|
+
"word document",
|
|
762
|
+
"powerpoint",
|
|
763
|
+
"slides",
|
|
764
|
+
"slide deck",
|
|
765
|
+
"pitch deck",
|
|
766
|
+
"a pivot table",
|
|
767
|
+
"a spreadsheet with",
|
|
768
|
+
"a spreadsheet that",
|
|
769
|
+
"a spreadsheet for",
|
|
770
|
+
"a spreadsheet of",
|
|
771
|
+
"a workbook with",
|
|
772
|
+
"a worksheet with",
|
|
773
|
+
"résumé",
|
|
774
|
+
"my resume",
|
|
775
|
+
"cover letter",
|
|
776
|
+
"newsletter",
|
|
777
|
+
"itinerary",
|
|
778
|
+
"an invoice for",
|
|
779
|
+
"a playlist for",
|
|
780
|
+
"my playlist",
|
|
781
|
+
"my budget",
|
|
782
|
+
"my sheet",
|
|
783
|
+
"this sheet",
|
|
784
|
+
"sales sheet",
|
|
785
|
+
"to the budget sheet",
|
|
786
|
+
"in the budget sheet",
|
|
787
|
+
"from the budget sheet"
|
|
788
|
+
]
|
|
789
|
+
}
|
|
790
|
+
}
|