spequa 0.9.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- spequa-0.9.0/.agent/workflows/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.agent/workflows/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.agent/workflows/spequa.10-implement.md +209 -0
- spequa-0.9.0/.agent/workflows/spequa.11-docs.md +195 -0
- spequa-0.9.0/.agent/workflows/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.agent/workflows/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.agent/workflows/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.agent/workflows/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.agent/workflows/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.agent/workflows/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.agent/workflows/spequa.16-close.md +307 -0
- spequa-0.9.0/.agent/workflows/spequa.2-problems.md +22 -0
- spequa-0.9.0/.agent/workflows/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.agent/workflows/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.agent/workflows/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.agent/workflows/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.agent/workflows/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.agent/workflows/spequa.5-plan.md +92 -0
- spequa-0.9.0/.agent/workflows/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.agent/workflows/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.agent/workflows/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.agent/workflows/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.agent/workflows/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.agent/workflows/spequa.9-test.md +361 -0
- spequa-0.9.0/.agents/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.agents/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.agents/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.agents/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.agents/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.agents/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.agents/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.agents/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.agents/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.agents/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.agents/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.agents/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.agents/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.agents/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.agents/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.agents/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.agents/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.agents/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.agents/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.agents/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.agents/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.agents/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.agents/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.agents/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.augment/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.augment/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.augment/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.augment/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.augment/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.augment/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.augment/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.augment/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.augment/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.augment/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.augment/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.augment/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.augment/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.augment/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.augment/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.augment/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.augment/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.augment/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.augment/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.augment/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.augment/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.augment/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.augment/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.augment/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.bob/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.bob/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.bob/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.bob/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.bob/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.bob/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.bob/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.bob/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.bob/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.bob/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.bob/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.bob/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.bob/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.bob/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.bob/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.bob/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.bob/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.bob/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.bob/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.bob/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.bob/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.bob/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.bob/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.bob/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.claude/agents/comet-reviewer.md +225 -0
- spequa-0.9.0/.claude/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.claude/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.claude/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.claude/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.claude/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.claude/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.claude/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.claude/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.claude/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.claude/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.claude/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.claude/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.claude/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.claude/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.claude/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.claude/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.claude/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.claude/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.claude/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.claude/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.claude/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.claude/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.claude/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.claude/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.claude-plugin/marketplace.json +17 -0
- spequa-0.9.0/.claude-plugin/plugin.json +10 -0
- spequa-0.9.0/.codebuddy/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.codebuddy/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.codebuddy/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.codebuddy/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.codebuddy/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.codebuddy/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.codebuddy/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.codebuddy/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.codebuddy/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.codebuddy/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.codebuddy/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.codebuddy/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.codebuddy/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.codebuddy/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.codebuddy/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.codebuddy/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.codebuddy/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.codebuddy/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.codebuddy/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.codebuddy/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.codebuddy/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.codebuddy/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.codebuddy/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.codebuddy/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.codex/prompts/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.codex/prompts/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.codex/prompts/spequa.10-implement.md +209 -0
- spequa-0.9.0/.codex/prompts/spequa.11-docs.md +195 -0
- spequa-0.9.0/.codex/prompts/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.codex/prompts/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.codex/prompts/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.codex/prompts/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.codex/prompts/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.codex/prompts/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.codex/prompts/spequa.16-close.md +307 -0
- spequa-0.9.0/.codex/prompts/spequa.2-problems.md +22 -0
- spequa-0.9.0/.codex/prompts/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.codex/prompts/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.codex/prompts/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.codex/prompts/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.codex/prompts/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.codex/prompts/spequa.5-plan.md +92 -0
- spequa-0.9.0/.codex/prompts/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.codex/prompts/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.codex/prompts/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.codex/prompts/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.codex/prompts/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.codex/prompts/spequa.9-test.md +361 -0
- spequa-0.9.0/.comet/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.comet/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.comet/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.comet/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.comet/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.comet/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.comet/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.comet/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.comet/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.comet/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.comet/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.comet/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.comet/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.comet/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.comet/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.comet/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.comet/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.comet/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.comet/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.comet/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.comet/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.comet/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.comet/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.comet/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.cursor/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.cursor/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.cursor/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.cursor/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.cursor/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.cursor/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.cursor/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.cursor/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.cursor/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.cursor/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.cursor/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.cursor/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.cursor/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.cursor/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.cursor/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.cursor/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.cursor/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.cursor/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.cursor/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.cursor/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.cursor/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.cursor/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.cursor/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.cursor/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.devcontainer/devcontainer.json +75 -0
- spequa-0.9.0/.devcontainer/post-create.sh +101 -0
- spequa-0.9.0/.gemini/commands/spequa.0-pipeline.md +1062 -0
- spequa-0.9.0/.gemini/commands/spequa.0-pipeline.toml +1121 -0
- spequa-0.9.0/.gemini/commands/spequa.1-constitution.toml +81 -0
- spequa-0.9.0/.gemini/commands/spequa.10-implement.toml +210 -0
- spequa-0.9.0/.gemini/commands/spequa.11-docs.toml +196 -0
- spequa-0.9.0/.gemini/commands/spequa.12-score-docs.md +104 -0
- spequa-0.9.0/.gemini/commands/spequa.12-score-docs.toml +120 -0
- spequa-0.9.0/.gemini/commands/spequa.13-code-review.toml +164 -0
- spequa-0.9.0/.gemini/commands/spequa.14-create-pull-request.toml +237 -0
- spequa-0.9.0/.gemini/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.gemini/commands/spequa.14.1-pr-checks.toml +159 -0
- spequa-0.9.0/.gemini/commands/spequa.15-comet-review.md +205 -0
- spequa-0.9.0/.gemini/commands/spequa.15-comet-review.toml +297 -0
- spequa-0.9.0/.gemini/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.gemini/commands/spequa.15.1-comet-pr-review.toml +164 -0
- spequa-0.9.0/.gemini/commands/spequa.16-close.md +61 -0
- spequa-0.9.0/.gemini/commands/spequa.16-close.toml +308 -0
- spequa-0.9.0/.gemini/commands/spequa.2-problems.md +29 -0
- spequa-0.9.0/.gemini/commands/spequa.2-problems.toml +23 -0
- spequa-0.9.0/.gemini/commands/spequa.3-spequafy.toml +294 -0
- spequa-0.9.0/.gemini/commands/spequa.3.0-diagnose.md +228 -0
- spequa-0.9.0/.gemini/commands/spequa.3.0-diagnose.toml +239 -0
- spequa-0.9.0/.gemini/commands/spequa.3.1-analyze-domain.md +124 -0
- spequa-0.9.0/.gemini/commands/spequa.3.1-analyze-domain.toml +122 -0
- spequa-0.9.0/.gemini/commands/spequa.4-clarify.toml +178 -0
- spequa-0.9.0/.gemini/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.gemini/commands/spequa.4.1-expert-decision.toml +158 -0
- spequa-0.9.0/.gemini/commands/spequa.5-plan.toml +93 -0
- spequa-0.9.0/.gemini/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.gemini/commands/spequa.5.1-research.toml +113 -0
- spequa-0.9.0/.gemini/commands/spequa.6-tasks.toml +192 -0
- spequa-0.9.0/.gemini/commands/spequa.6.1-taskstoissues.md +33 -0
- spequa-0.9.0/.gemini/commands/spequa.6.1-taskstoissues.toml +30 -0
- spequa-0.9.0/.gemini/commands/spequa.7-checklist.toml +296 -0
- spequa-0.9.0/.gemini/commands/spequa.8-analyze.toml +185 -0
- spequa-0.9.0/.gemini/commands/spequa.9-test.toml +362 -0
- spequa-0.9.0/.gemini/commands/spequa.close.md +61 -0
- spequa-0.9.0/.gemini/commands/spequa.diagnose.md +228 -0
- spequa-0.9.0/.gemini/commands/spequa.pipeline.md +1062 -0
- spequa-0.9.0/.gemini/commands/spequa.score-docs.md +104 -0
- spequa-0.9.0/.gitattributes +1 -0
- spequa-0.9.0/.github/CODEOWNERS +3 -0
- spequa-0.9.0/.github/ISSUE_TEMPLATE/agent_request.yml +141 -0
- spequa-0.9.0/.github/ISSUE_TEMPLATE/bug_report.yml +118 -0
- spequa-0.9.0/.github/ISSUE_TEMPLATE/config.yml +17 -0
- spequa-0.9.0/.github/ISSUE_TEMPLATE/extension_submission.yml +280 -0
- spequa-0.9.0/.github/ISSUE_TEMPLATE/feature_request.yml +104 -0
- spequa-0.9.0/.github/PULL_REQUEST_TEMPLATE.md +22 -0
- spequa-0.9.0/.github/RELEASE-PROCESS.md +191 -0
- spequa-0.9.0/.github/agents/spequa.0-pipeline.md +1123 -0
- spequa-0.9.0/.github/agents/spequa.1-constitution.md +84 -0
- spequa-0.9.0/.github/agents/spequa.10-implement.md +212 -0
- spequa-0.9.0/.github/agents/spequa.11-docs.md +200 -0
- spequa-0.9.0/.github/agents/spequa.12-score-docs.md +124 -0
- spequa-0.9.0/.github/agents/spequa.13-code-review.md +168 -0
- spequa-0.9.0/.github/agents/spequa.14-create-pull-request.md +243 -0
- spequa-0.9.0/.github/agents/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.github/agents/spequa.15-comet-review.md +306 -0
- spequa-0.9.0/.github/agents/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.github/agents/spequa.16-close.md +310 -0
- spequa-0.9.0/.github/agents/spequa.2-problems.md +29 -0
- spequa-0.9.0/.github/agents/spequa.3-spequafy.md +304 -0
- spequa-0.9.0/.github/agents/spequa.3.0-diagnose.md +249 -0
- spequa-0.9.0/.github/agents/spequa.3.1-analyze-domain.md +124 -0
- spequa-0.9.0/.github/agents/spequa.4-clarify.md +184 -0
- spequa-0.9.0/.github/agents/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.github/agents/spequa.5-plan.md +106 -0
- spequa-0.9.0/.github/agents/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.github/agents/spequa.6-tasks.md +203 -0
- spequa-0.9.0/.github/agents/spequa.6.1-taskstoissues.md +33 -0
- spequa-0.9.0/.github/agents/spequa.7-checklist.md +298 -0
- spequa-0.9.0/.github/agents/spequa.8-analyze.md +187 -0
- spequa-0.9.0/.github/agents/spequa.9-test.md +369 -0
- spequa-0.9.0/.github/dependabot.yml +11 -0
- spequa-0.9.0/.github/scripts/check-release-exists.sh +21 -0
- spequa-0.9.0/.github/scripts/create-github-release.sh +60 -0
- spequa-0.9.0/.github/scripts/create-release-packages.ps1 +463 -0
- spequa-0.9.0/.github/scripts/create-release-packages.sh +318 -0
- spequa-0.9.0/.github/scripts/generate-release-notes.sh +40 -0
- spequa-0.9.0/.github/scripts/get-next-version.sh +24 -0
- spequa-0.9.0/.github/scripts/simulate-release.sh +161 -0
- spequa-0.9.0/.github/scripts/update-version.sh +23 -0
- spequa-0.9.0/.github/workflows/docs.yml +68 -0
- spequa-0.9.0/.github/workflows/lint.yml +22 -0
- spequa-0.9.0/.github/workflows/release-trigger.yml +161 -0
- spequa-0.9.0/.github/workflows/release.yml +75 -0
- spequa-0.9.0/.github/workflows/scripts/check-release-exists.sh +21 -0
- spequa-0.9.0/.github/workflows/scripts/create-github-release.sh +60 -0
- spequa-0.9.0/.github/workflows/scripts/create-release-packages.ps1 +443 -0
- spequa-0.9.0/.github/workflows/scripts/create-release-packages.sh +282 -0
- spequa-0.9.0/.github/workflows/scripts/generate-release-notes.sh +40 -0
- spequa-0.9.0/.github/workflows/scripts/get-next-version.sh +24 -0
- spequa-0.9.0/.github/workflows/scripts/simulate-release.sh +161 -0
- spequa-0.9.0/.github/workflows/scripts/update-version.sh +23 -0
- spequa-0.9.0/.github/workflows/stale.yml +42 -0
- spequa-0.9.0/.github/workflows/test.yml +50 -0
- spequa-0.9.0/.gitignore +73 -0
- spequa-0.9.0/.kilocode/workflows/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.kilocode/workflows/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.kilocode/workflows/spequa.10-implement.md +209 -0
- spequa-0.9.0/.kilocode/workflows/spequa.11-docs.md +195 -0
- spequa-0.9.0/.kilocode/workflows/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.kilocode/workflows/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.kilocode/workflows/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.kilocode/workflows/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.kilocode/workflows/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.kilocode/workflows/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.kilocode/workflows/spequa.16-close.md +307 -0
- spequa-0.9.0/.kilocode/workflows/spequa.2-problems.md +22 -0
- spequa-0.9.0/.kilocode/workflows/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.kilocode/workflows/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.kilocode/workflows/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.kilocode/workflows/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.kilocode/workflows/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.kilocode/workflows/spequa.5-plan.md +92 -0
- spequa-0.9.0/.kilocode/workflows/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.kilocode/workflows/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.kilocode/workflows/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.kilocode/workflows/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.kilocode/workflows/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.kilocode/workflows/spequa.9-test.md +361 -0
- spequa-0.9.0/.kiro/prompts/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.kiro/prompts/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.kiro/prompts/spequa.10-implement.md +209 -0
- spequa-0.9.0/.kiro/prompts/spequa.11-docs.md +195 -0
- spequa-0.9.0/.kiro/prompts/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.kiro/prompts/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.kiro/prompts/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.kiro/prompts/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.kiro/prompts/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.kiro/prompts/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.kiro/prompts/spequa.16-close.md +307 -0
- spequa-0.9.0/.kiro/prompts/spequa.2-problems.md +22 -0
- spequa-0.9.0/.kiro/prompts/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.kiro/prompts/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.kiro/prompts/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.kiro/prompts/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.kiro/prompts/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.kiro/prompts/spequa.5-plan.md +92 -0
- spequa-0.9.0/.kiro/prompts/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.kiro/prompts/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.kiro/prompts/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.kiro/prompts/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.kiro/prompts/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.kiro/prompts/spequa.9-test.md +361 -0
- spequa-0.9.0/.markdownlint-cli2.jsonc +29 -0
- spequa-0.9.0/.opencode/command/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.opencode/command/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.opencode/command/spequa.10-implement.md +209 -0
- spequa-0.9.0/.opencode/command/spequa.11-docs.md +195 -0
- spequa-0.9.0/.opencode/command/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.opencode/command/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.opencode/command/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.opencode/command/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.opencode/command/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.opencode/command/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.opencode/command/spequa.16-close.md +307 -0
- spequa-0.9.0/.opencode/command/spequa.2-problems.md +22 -0
- spequa-0.9.0/.opencode/command/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.opencode/command/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.opencode/command/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.opencode/command/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.opencode/command/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.opencode/command/spequa.5-plan.md +92 -0
- spequa-0.9.0/.opencode/command/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.opencode/command/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.opencode/command/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.opencode/command/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.opencode/command/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.opencode/command/spequa.9-test.md +361 -0
- spequa-0.9.0/.qoder/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.qoder/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.qoder/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.qoder/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.qoder/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.qoder/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.qoder/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.qoder/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.qoder/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.qoder/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.qoder/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.qoder/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.qoder/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.qoder/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.qoder/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.qoder/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.qoder/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.qoder/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.qoder/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.qoder/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.qoder/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.qoder/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.qoder/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.qoder/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.qwen/commands/spequa.0-pipeline.md +1105 -0
- spequa-0.9.0/.qwen/commands/spequa.0-pipeline.toml +1121 -0
- spequa-0.9.0/.qwen/commands/spequa.1-constitution.toml +81 -0
- spequa-0.9.0/.qwen/commands/spequa.10-implement.toml +210 -0
- spequa-0.9.0/.qwen/commands/spequa.11-docs.toml +196 -0
- spequa-0.9.0/.qwen/commands/spequa.12-score-docs.md +104 -0
- spequa-0.9.0/.qwen/commands/spequa.12-score-docs.toml +120 -0
- spequa-0.9.0/.qwen/commands/spequa.13-code-review.md +150 -0
- spequa-0.9.0/.qwen/commands/spequa.13-code-review.toml +164 -0
- spequa-0.9.0/.qwen/commands/spequa.14-create-pull-request.toml +237 -0
- spequa-0.9.0/.qwen/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.qwen/commands/spequa.14.1-pr-checks.toml +159 -0
- spequa-0.9.0/.qwen/commands/spequa.15-comet-review.md +205 -0
- spequa-0.9.0/.qwen/commands/spequa.15-comet-review.toml +297 -0
- spequa-0.9.0/.qwen/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.qwen/commands/spequa.15.1-comet-pr-review.toml +164 -0
- spequa-0.9.0/.qwen/commands/spequa.16-close.md +268 -0
- spequa-0.9.0/.qwen/commands/spequa.16-close.toml +308 -0
- spequa-0.9.0/.qwen/commands/spequa.2-problems.md +29 -0
- spequa-0.9.0/.qwen/commands/spequa.2-problems.toml +23 -0
- spequa-0.9.0/.qwen/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.qwen/commands/spequa.3-spequafy.toml +294 -0
- spequa-0.9.0/.qwen/commands/spequa.3.0-diagnose.md +228 -0
- spequa-0.9.0/.qwen/commands/spequa.3.0-diagnose.toml +239 -0
- spequa-0.9.0/.qwen/commands/spequa.3.1-analyze-domain.md +124 -0
- spequa-0.9.0/.qwen/commands/spequa.3.1-analyze-domain.toml +122 -0
- spequa-0.9.0/.qwen/commands/spequa.4-clarify.toml +178 -0
- spequa-0.9.0/.qwen/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.qwen/commands/spequa.4.1-expert-decision.toml +158 -0
- spequa-0.9.0/.qwen/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.qwen/commands/spequa.5-plan.toml +93 -0
- spequa-0.9.0/.qwen/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.qwen/commands/spequa.5.1-research.toml +113 -0
- spequa-0.9.0/.qwen/commands/spequa.6-tasks.toml +192 -0
- spequa-0.9.0/.qwen/commands/spequa.6.1-taskstoissues.md +33 -0
- spequa-0.9.0/.qwen/commands/spequa.6.1-taskstoissues.toml +30 -0
- spequa-0.9.0/.qwen/commands/spequa.7-checklist.toml +296 -0
- spequa-0.9.0/.qwen/commands/spequa.8-analyze.toml +185 -0
- spequa-0.9.0/.qwen/commands/spequa.9-test.toml +362 -0
- spequa-0.9.0/.qwen/commands/spequa.close.md +268 -0
- spequa-0.9.0/.qwen/commands/spequa.code-review.md +150 -0
- spequa-0.9.0/.qwen/commands/spequa.diagnose.md +228 -0
- spequa-0.9.0/.qwen/commands/spequa.pipeline.md +1105 -0
- spequa-0.9.0/.qwen/commands/spequa.plan.md +92 -0
- spequa-0.9.0/.qwen/commands/spequa.score-docs.md +104 -0
- spequa-0.9.0/.qwen/commands/spequa.spequafy.md +293 -0
- spequa-0.9.0/.roo/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.roo/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.roo/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.roo/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.roo/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.roo/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.roo/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.roo/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.roo/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.roo/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.roo/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.roo/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.roo/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.roo/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.roo/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.roo/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.roo/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.roo/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.roo/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.roo/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.roo/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.roo/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.roo/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.roo/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.shai/commands/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.shai/commands/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.shai/commands/spequa.10-implement.md +209 -0
- spequa-0.9.0/.shai/commands/spequa.11-docs.md +195 -0
- spequa-0.9.0/.shai/commands/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.shai/commands/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.shai/commands/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.shai/commands/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.shai/commands/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.shai/commands/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.shai/commands/spequa.16-close.md +307 -0
- spequa-0.9.0/.shai/commands/spequa.2-problems.md +22 -0
- spequa-0.9.0/.shai/commands/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.shai/commands/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.shai/commands/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.shai/commands/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.shai/commands/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.shai/commands/spequa.5-plan.md +92 -0
- spequa-0.9.0/.shai/commands/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.shai/commands/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.shai/commands/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.shai/commands/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.shai/commands/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.shai/commands/spequa.9-test.md +361 -0
- spequa-0.9.0/.spequa/config.yml +18 -0
- spequa-0.9.0/.spequa/docs-manifest.yml +59 -0
- spequa-0.9.0/.spequa/memory/constitution.md +216 -0
- spequa-0.9.0/.spequa/memory/test_key.md +2 -0
- spequa-0.9.0/.spequa/scripts/bash/analyze-domain.sh +218 -0
- spequa-0.9.0/.spequa/scripts/bash/check-concurrent-runs.sh +133 -0
- spequa-0.9.0/.spequa/scripts/bash/check-prerequisites.sh +166 -0
- spequa-0.9.0/.spequa/scripts/bash/close-spec.sh +206 -0
- spequa-0.9.0/.spequa/scripts/bash/common.sh +356 -0
- spequa-0.9.0/.spequa/scripts/bash/create-new-feature.sh +313 -0
- spequa-0.9.0/.spequa/scripts/bash/generate-scorecard.sh +559 -0
- spequa-0.9.0/.spequa/scripts/bash/lint-config-refs.sh +44 -0
- spequa-0.9.0/.spequa/scripts/bash/pipeline-state.sh +347 -0
- spequa-0.9.0/.spequa/scripts/bash/run-baseline-tests.sh +207 -0
- spequa-0.9.0/.spequa/scripts/bash/run-closure-checks.sh +206 -0
- spequa-0.9.0/.spequa/scripts/bash/score-docs-ci.sh +115 -0
- spequa-0.9.0/.spequa/scripts/bash/setup-plan.sh +61 -0
- spequa-0.9.0/.spequa/scripts/bash/spequa-bootstrap.sh +140 -0
- spequa-0.9.0/.spequa/scripts/bash/spequa-common.sh +232 -0
- spequa-0.9.0/.spequa/scripts/bash/spequa-link.sh +221 -0
- spequa-0.9.0/.spequa/scripts/bash/spequa-pin.sh +109 -0
- spequa-0.9.0/.spequa/scripts/bash/spequa-sync.sh +82 -0
- spequa-0.9.0/.spequa/scripts/bash/sync-templates.sh +229 -0
- spequa-0.9.0/.spequa/scripts/bash/update-agent-context.sh +837 -0
- spequa-0.9.0/.spequa/scripts/powershell/analyze-domain.ps1 +240 -0
- spequa-0.9.0/.spequa/scripts/powershell/check-concurrent-runs.ps1 +124 -0
- spequa-0.9.0/.spequa/scripts/powershell/check-prerequisites.ps1 +148 -0
- spequa-0.9.0/.spequa/scripts/powershell/close-spec.ps1 +190 -0
- spequa-0.9.0/.spequa/scripts/powershell/common.ps1 +254 -0
- spequa-0.9.0/.spequa/scripts/powershell/create-new-feature.ps1 +305 -0
- spequa-0.9.0/.spequa/scripts/powershell/generate-scorecard.ps1 +359 -0
- spequa-0.9.0/.spequa/scripts/powershell/lint-config-refs.ps1 +43 -0
- spequa-0.9.0/.spequa/scripts/powershell/pipeline-state.ps1 +325 -0
- spequa-0.9.0/.spequa/scripts/powershell/run-baseline-tests.ps1 +182 -0
- spequa-0.9.0/.spequa/scripts/powershell/run-closure-checks.ps1 +159 -0
- spequa-0.9.0/.spequa/scripts/powershell/score-docs-ci.ps1 +103 -0
- spequa-0.9.0/.spequa/scripts/powershell/setup-plan.ps1 +61 -0
- spequa-0.9.0/.spequa/scripts/powershell/spequa-bootstrap.ps1 +84 -0
- spequa-0.9.0/.spequa/scripts/powershell/spequa-common.ps1 +106 -0
- spequa-0.9.0/.spequa/scripts/powershell/spequa-link.ps1 +101 -0
- spequa-0.9.0/.spequa/scripts/powershell/spequa-pin.ps1 +68 -0
- spequa-0.9.0/.spequa/scripts/powershell/spequa-sync.ps1 +52 -0
- spequa-0.9.0/.spequa/scripts/powershell/sync-templates.ps1 +177 -0
- spequa-0.9.0/.spequa/scripts/powershell/update-agent-context.ps1 +466 -0
- spequa-0.9.0/.spequa/templates/agent-file-template.md +28 -0
- spequa-0.9.0/.spequa/templates/audit-trail-template.md +48 -0
- spequa-0.9.0/.spequa/templates/checklist-template.md +40 -0
- spequa-0.9.0/.spequa/templates/closure-report-template.md +68 -0
- spequa-0.9.0/.spequa/templates/commands/0-pipeline.md +1123 -0
- spequa-0.9.0/.spequa/templates/commands/1-constitution.md +84 -0
- spequa-0.9.0/.spequa/templates/commands/10-implement.md +212 -0
- spequa-0.9.0/.spequa/templates/commands/11-docs.md +200 -0
- spequa-0.9.0/.spequa/templates/commands/12-score-docs.md +124 -0
- spequa-0.9.0/.spequa/templates/commands/13-code-review.md +168 -0
- spequa-0.9.0/.spequa/templates/commands/14-create-pull-request.md +243 -0
- spequa-0.9.0/.spequa/templates/commands/14.1-pr-checks.md +158 -0
- spequa-0.9.0/.spequa/templates/commands/15-comet-review.md +306 -0
- spequa-0.9.0/.spequa/templates/commands/15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.spequa/templates/commands/16-close.md +310 -0
- spequa-0.9.0/.spequa/templates/commands/2-problems.md +29 -0
- spequa-0.9.0/.spequa/templates/commands/3-spequafy.md +304 -0
- spequa-0.9.0/.spequa/templates/commands/3.0-diagnose.md +249 -0
- spequa-0.9.0/.spequa/templates/commands/3.1-analyze-domain.md +124 -0
- spequa-0.9.0/.spequa/templates/commands/4-clarify.md +184 -0
- spequa-0.9.0/.spequa/templates/commands/4.1-expert-decision.md +157 -0
- spequa-0.9.0/.spequa/templates/commands/5-plan.md +106 -0
- spequa-0.9.0/.spequa/templates/commands/5.1-research.md +112 -0
- spequa-0.9.0/.spequa/templates/commands/6-tasks.md +203 -0
- spequa-0.9.0/.spequa/templates/commands/6.1-taskstoissues.md +33 -0
- spequa-0.9.0/.spequa/templates/commands/7-checklist.md +298 -0
- spequa-0.9.0/.spequa/templates/commands/8-analyze.md +187 -0
- spequa-0.9.0/.spequa/templates/commands/9-test.md +369 -0
- spequa-0.9.0/.spequa/templates/config-template.yml +39 -0
- spequa-0.9.0/.spequa/templates/constitution-template.md +66 -0
- spequa-0.9.0/.spequa/templates/diagnose-template.md +123 -0
- spequa-0.9.0/.spequa/templates/examples/override-example.md +73 -0
- spequa-0.9.0/.spequa/templates/micro-constitution-template.md +43 -0
- spequa-0.9.0/.spequa/templates/plan-template.md +104 -0
- spequa-0.9.0/.spequa/templates/scorecard-template.md +43 -0
- spequa-0.9.0/.spequa/templates/spec-template.md +118 -0
- spequa-0.9.0/.spequa/templates/tasks-template.md +251 -0
- spequa-0.9.0/.spequa/templates/vscode-settings.json +14 -0
- spequa-0.9.0/.windsurf/workflows/spequa.0-pipeline.md +1120 -0
- spequa-0.9.0/.windsurf/workflows/spequa.1-constitution.md +80 -0
- spequa-0.9.0/.windsurf/workflows/spequa.10-implement.md +209 -0
- spequa-0.9.0/.windsurf/workflows/spequa.11-docs.md +195 -0
- spequa-0.9.0/.windsurf/workflows/spequa.12-score-docs.md +119 -0
- spequa-0.9.0/.windsurf/workflows/spequa.13-code-review.md +163 -0
- spequa-0.9.0/.windsurf/workflows/spequa.14-create-pull-request.md +236 -0
- spequa-0.9.0/.windsurf/workflows/spequa.14.1-pr-checks.md +158 -0
- spequa-0.9.0/.windsurf/workflows/spequa.15-comet-review.md +296 -0
- spequa-0.9.0/.windsurf/workflows/spequa.15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/.windsurf/workflows/spequa.16-close.md +307 -0
- spequa-0.9.0/.windsurf/workflows/spequa.2-problems.md +22 -0
- spequa-0.9.0/.windsurf/workflows/spequa.3-spequafy.md +293 -0
- spequa-0.9.0/.windsurf/workflows/spequa.3.0-diagnose.md +238 -0
- spequa-0.9.0/.windsurf/workflows/spequa.3.1-analyze-domain.md +121 -0
- spequa-0.9.0/.windsurf/workflows/spequa.4-clarify.md +177 -0
- spequa-0.9.0/.windsurf/workflows/spequa.4.1-expert-decision.md +157 -0
- spequa-0.9.0/.windsurf/workflows/spequa.5-plan.md +92 -0
- spequa-0.9.0/.windsurf/workflows/spequa.5.1-research.md +112 -0
- spequa-0.9.0/.windsurf/workflows/spequa.6-tasks.md +191 -0
- spequa-0.9.0/.windsurf/workflows/spequa.6.1-taskstoissues.md +29 -0
- spequa-0.9.0/.windsurf/workflows/spequa.7-checklist.md +295 -0
- spequa-0.9.0/.windsurf/workflows/spequa.8-analyze.md +184 -0
- spequa-0.9.0/.windsurf/workflows/spequa.9-test.md +361 -0
- spequa-0.9.0/AGENTS.md +436 -0
- spequa-0.9.0/CHANGELOG.md +297 -0
- spequa-0.9.0/CLAUDE.md +223 -0
- spequa-0.9.0/CODE_OF_CONDUCT.md +74 -0
- spequa-0.9.0/CONTRIBUTING.md +455 -0
- spequa-0.9.0/LICENSE +22 -0
- spequa-0.9.0/PKG-INFO +210 -0
- spequa-0.9.0/README.md +175 -0
- spequa-0.9.0/SECURITY.md +75 -0
- spequa-0.9.0/SUPPORT.md +33 -0
- spequa-0.9.0/commands/analyze.md +1 -0
- spequa-0.9.0/commands/checklist.md +1 -0
- spequa-0.9.0/commands/clarify.md +1 -0
- spequa-0.9.0/commands/close.md +1 -0
- spequa-0.9.0/commands/comet-review.md +1 -0
- spequa-0.9.0/commands/constitution.md +1 -0
- spequa-0.9.0/commands/create-pull-request.md +1 -0
- spequa-0.9.0/commands/diagnose.md +1 -0
- spequa-0.9.0/commands/docs.md +1 -0
- spequa-0.9.0/commands/expert-decision.md +1 -0
- spequa-0.9.0/commands/implement.md +1 -0
- spequa-0.9.0/commands/pipeline.md +1 -0
- spequa-0.9.0/commands/plan.md +1 -0
- spequa-0.9.0/commands/specify.md +1 -0
- spequa-0.9.0/commands/spequafy.md +1 -0
- spequa-0.9.0/commands/tasks.md +1 -0
- spequa-0.9.0/commands/test.md +1 -0
- spequa-0.9.0/docs/.gitignore +9 -0
- spequa-0.9.0/docs/README.md +38 -0
- spequa-0.9.0/docs/archive/DRAFT-pr-review-from-salt-platform.md +295 -0
- spequa-0.9.0/docs/docfx.json +71 -0
- spequa-0.9.0/docs/existing-project.md +352 -0
- spequa-0.9.0/docs/index.md +52 -0
- spequa-0.9.0/docs/installation.md +292 -0
- spequa-0.9.0/docs/pipeline.md +272 -0
- spequa-0.9.0/docs/quickstart.md +186 -0
- spequa-0.9.0/docs/toc.yml +17 -0
- spequa-0.9.0/docs/upgrade.md +287 -0
- spequa-0.9.0/extensions/EXTENSION-API-REFERENCE.md +714 -0
- spequa-0.9.0/extensions/EXTENSION-DEVELOPMENT-GUIDE.md +651 -0
- spequa-0.9.0/extensions/EXTENSION-PUBLISHING-GUIDE.md +548 -0
- spequa-0.9.0/extensions/EXTENSION-USER-GUIDE.md +891 -0
- spequa-0.9.0/extensions/README.md +123 -0
- spequa-0.9.0/extensions/RFC-EXTENSION-SYSTEM.md +1848 -0
- spequa-0.9.0/extensions/catalog.community.json +137 -0
- spequa-0.9.0/extensions/catalog.json +29 -0
- spequa-0.9.0/extensions/spequafy-mcp/.gitignore +15 -0
- spequa-0.9.0/extensions/spequafy-mcp/CHANGELOG.md +22 -0
- spequa-0.9.0/extensions/spequafy-mcp/CLAUDE-DESKTOP-UPDATE.md +148 -0
- spequa-0.9.0/extensions/spequafy-mcp/INSTALL.md +536 -0
- spequa-0.9.0/extensions/spequafy-mcp/INSTALLATION-GUIDE.md +332 -0
- spequa-0.9.0/extensions/spequafy-mcp/LICENSE +21 -0
- spequa-0.9.0/extensions/spequafy-mcp/MCP-README.md +277 -0
- spequa-0.9.0/extensions/spequafy-mcp/README.md +164 -0
- spequa-0.9.0/extensions/spequafy-mcp/USAGE.md +497 -0
- spequa-0.9.0/extensions/spequafy-mcp/claude_desktop_config_update.json +12 -0
- spequa-0.9.0/extensions/spequafy-mcp/commands/analyze-domain.md +165 -0
- spequa-0.9.0/extensions/spequafy-mcp/commands/constitution.md +187 -0
- spequa-0.9.0/extensions/spequafy-mcp/commands/initialize.md +157 -0
- spequa-0.9.0/extensions/spequafy-mcp/commands/plan.md +136 -0
- spequa-0.9.0/extensions/spequafy-mcp/commands/specify.md +141 -0
- spequa-0.9.0/extensions/spequafy-mcp/commands/spequafy.md +141 -0
- spequa-0.9.0/extensions/spequafy-mcp/commands/tasks.md +164 -0
- spequa-0.9.0/extensions/spequafy-mcp/commands/validate.md +165 -0
- spequa-0.9.0/extensions/spequafy-mcp/config-template.yml +46 -0
- spequa-0.9.0/extensions/spequafy-mcp/extension.yml +83 -0
- spequa-0.9.0/extensions/spequafy-mcp/manifest.json +109 -0
- spequa-0.9.0/extensions/spequafy-mcp/requirements.txt +17 -0
- spequa-0.9.0/extensions/spequafy-mcp/spequa-mcp-config.json +247 -0
- spequa-0.9.0/extensions/spequafy-mcp/spequa-mcp-pyproject.toml +127 -0
- spequa-0.9.0/extensions/template/.gitignore +39 -0
- spequa-0.9.0/extensions/template/CHANGELOG.md +39 -0
- spequa-0.9.0/extensions/template/EXAMPLE-README.md +158 -0
- spequa-0.9.0/extensions/template/LICENSE +21 -0
- spequa-0.9.0/extensions/template/README.md +79 -0
- spequa-0.9.0/extensions/template/commands/example.md +210 -0
- spequa-0.9.0/extensions/template/config-template.yml +75 -0
- spequa-0.9.0/extensions/template/extension.yml +97 -0
- spequa-0.9.0/media/bootstrap-claude-code.gif +0 -0
- spequa-0.9.0/media/equa-spec-video-header.jpg +0 -0
- spequa-0.9.0/media/logo_large.webp +0 -0
- spequa-0.9.0/media/logo_small.webp +0 -0
- spequa-0.9.0/media/spequafy_cli.gif +0 -0
- spequa-0.9.0/pyproject.toml +78 -0
- spequa-0.9.0/sample-data/README.md +260 -0
- spequa-0.9.0/sample-data/crm/activities.json +118 -0
- spequa-0.9.0/sample-data/crm/contacts.json +118 -0
- spequa-0.9.0/sample-data/crm/opportunities.csv +6 -0
- spequa-0.9.0/sample-data/ecommerce/customers.json +143 -0
- spequa-0.9.0/sample-data/ecommerce/orders.json +197 -0
- spequa-0.9.0/sample-data/ecommerce/products.csv +11 -0
- spequa-0.9.0/sample-data/financial/invoices.json +112 -0
- spequa-0.9.0/sample-data/financial/payments.json +54 -0
- spequa-0.9.0/sample-data/financial/reconciliation.csv +5 -0
- spequa-0.9.0/sample-data/financial/suppliers.csv +6 -0
- spequa-0.9.0/scripts/bash/analyze-domain.sh +218 -0
- spequa-0.9.0/scripts/bash/check-concurrent-runs.sh +133 -0
- spequa-0.9.0/scripts/bash/check-prerequisites.sh +166 -0
- spequa-0.9.0/scripts/bash/close-spec.sh +206 -0
- spequa-0.9.0/scripts/bash/common.sh +356 -0
- spequa-0.9.0/scripts/bash/create-new-feature.sh +313 -0
- spequa-0.9.0/scripts/bash/generate-scorecard.sh +559 -0
- spequa-0.9.0/scripts/bash/lint-config-refs.sh +44 -0
- spequa-0.9.0/scripts/bash/pipeline-state.sh +347 -0
- spequa-0.9.0/scripts/bash/run-baseline-tests.sh +207 -0
- spequa-0.9.0/scripts/bash/run-closure-checks.sh +206 -0
- spequa-0.9.0/scripts/bash/score-docs-ci.sh +115 -0
- spequa-0.9.0/scripts/bash/setup-plan.sh +61 -0
- spequa-0.9.0/scripts/bash/spequa-bootstrap.sh +140 -0
- spequa-0.9.0/scripts/bash/spequa-common.sh +232 -0
- spequa-0.9.0/scripts/bash/spequa-link.sh +221 -0
- spequa-0.9.0/scripts/bash/spequa-pin.sh +109 -0
- spequa-0.9.0/scripts/bash/spequa-sync.sh +82 -0
- spequa-0.9.0/scripts/bash/sync-templates.sh +229 -0
- spequa-0.9.0/scripts/bash/update-agent-context.sh +837 -0
- spequa-0.9.0/scripts/powershell/analyze-domain.ps1 +240 -0
- spequa-0.9.0/scripts/powershell/check-concurrent-runs.ps1 +124 -0
- spequa-0.9.0/scripts/powershell/check-prerequisites.ps1 +148 -0
- spequa-0.9.0/scripts/powershell/close-spec.ps1 +190 -0
- spequa-0.9.0/scripts/powershell/common.ps1 +254 -0
- spequa-0.9.0/scripts/powershell/create-new-feature.ps1 +305 -0
- spequa-0.9.0/scripts/powershell/generate-scorecard.ps1 +359 -0
- spequa-0.9.0/scripts/powershell/lint-config-refs.ps1 +43 -0
- spequa-0.9.0/scripts/powershell/pipeline-state.ps1 +325 -0
- spequa-0.9.0/scripts/powershell/run-baseline-tests.ps1 +182 -0
- spequa-0.9.0/scripts/powershell/run-closure-checks.ps1 +159 -0
- spequa-0.9.0/scripts/powershell/score-docs-ci.ps1 +103 -0
- spequa-0.9.0/scripts/powershell/setup-plan.ps1 +61 -0
- spequa-0.9.0/scripts/powershell/spequa-bootstrap.ps1 +84 -0
- spequa-0.9.0/scripts/powershell/spequa-common.ps1 +106 -0
- spequa-0.9.0/scripts/powershell/spequa-link.ps1 +101 -0
- spequa-0.9.0/scripts/powershell/spequa-pin.ps1 +68 -0
- spequa-0.9.0/scripts/powershell/spequa-sync.ps1 +52 -0
- spequa-0.9.0/scripts/powershell/sync-templates.ps1 +177 -0
- spequa-0.9.0/scripts/powershell/update-agent-context.ps1 +466 -0
- spequa-0.9.0/spec-driven.md +217 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/clarify.md +202 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/closure-report.md +54 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/contracts/script-interfaces.md +121 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/contracts/spequa-json-schema.json +26 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/data-model.md +80 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/plan.md +146 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/quickstart.md +166 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/research.md +34 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/spec.md +134 -0
- spequa-0.9.0/specs/001-shared-toolkit-sync/tasks.md +209 -0
- spequa-0.9.0/specs/002-docs-discoverability/closure-report.md +43 -0
- spequa-0.9.0/specs/002-docs-discoverability/plan.md +149 -0
- spequa-0.9.0/specs/002-docs-discoverability/quality-rubric.md +127 -0
- spequa-0.9.0/specs/002-docs-discoverability/spec.md +116 -0
- spequa-0.9.0/specs/002-docs-discoverability/tasks.md +102 -0
- spequa-0.9.0/specs/003-test-coverage/checklists/requirements.md +37 -0
- spequa-0.9.0/specs/003-test-coverage/closure-report.md +52 -0
- spequa-0.9.0/specs/003-test-coverage/contracts/test-conventions.md +124 -0
- spequa-0.9.0/specs/003-test-coverage/data-model.md +75 -0
- spequa-0.9.0/specs/003-test-coverage/plan.md +232 -0
- spequa-0.9.0/specs/003-test-coverage/quickstart.md +77 -0
- spequa-0.9.0/specs/003-test-coverage/research.md +118 -0
- spequa-0.9.0/specs/003-test-coverage/spec.md +116 -0
- spequa-0.9.0/specs/003-test-coverage/tasks.md +241 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/checklists/requirements.md +42 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/closure-report.md +46 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/contracts/baseline-tests-format.md +44 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/contracts/diagnose-artifact-format.md +90 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/contracts/doc-score-report-format.md +50 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/data-model.md +137 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/plan.md +129 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/quickstart.md +86 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/research.md +90 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/spec.md +141 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/tasks.md +211 -0
- spequa-0.9.0/specs/004-pipeline-quality-gates/tests.md +75 -0
- spequa-0.9.0/specs/005-spec-closure-gate/baseline-tests.md +13 -0
- spequa-0.9.0/specs/005-spec-closure-gate/checklists/comprehensive.md +90 -0
- spequa-0.9.0/specs/005-spec-closure-gate/checklists/requirements.md +36 -0
- spequa-0.9.0/specs/005-spec-closure-gate/closure-report.md +73 -0
- spequa-0.9.0/specs/005-spec-closure-gate/contracts/closure-report-format.md +95 -0
- spequa-0.9.0/specs/005-spec-closure-gate/data-model.md +87 -0
- spequa-0.9.0/specs/005-spec-closure-gate/doc-scores.md +18 -0
- spequa-0.9.0/specs/005-spec-closure-gate/plan.md +200 -0
- spequa-0.9.0/specs/005-spec-closure-gate/quickstart.md +70 -0
- spequa-0.9.0/specs/005-spec-closure-gate/research.md +60 -0
- spequa-0.9.0/specs/005-spec-closure-gate/spec.md +170 -0
- spequa-0.9.0/specs/005-spec-closure-gate/tasks.md +191 -0
- spequa-0.9.0/specs/006-layered-command-composition/baseline-tests.md +13 -0
- spequa-0.9.0/specs/006-layered-command-composition/checklists/requirements.md +37 -0
- spequa-0.9.0/specs/006-layered-command-composition/clarifications.md +111 -0
- spequa-0.9.0/specs/006-layered-command-composition/closure-report.md +75 -0
- spequa-0.9.0/specs/006-layered-command-composition/contracts/config-resolution.md +98 -0
- spequa-0.9.0/specs/006-layered-command-composition/contracts/config-schema.json +66 -0
- spequa-0.9.0/specs/006-layered-command-composition/contracts/project-detection.md +54 -0
- spequa-0.9.0/specs/006-layered-command-composition/data-model.md +139 -0
- spequa-0.9.0/specs/006-layered-command-composition/plan.md +103 -0
- spequa-0.9.0/specs/006-layered-command-composition/quickstart.md +99 -0
- spequa-0.9.0/specs/006-layered-command-composition/research.md +142 -0
- spequa-0.9.0/specs/006-layered-command-composition/spec.md +166 -0
- spequa-0.9.0/specs/006-layered-command-composition/tasks.md +243 -0
- spequa-0.9.0/specs/007-docs-validation-gate/baseline-tests.md +15 -0
- spequa-0.9.0/specs/007-docs-validation-gate/checklists/requirements.md +36 -0
- spequa-0.9.0/specs/007-docs-validation-gate/closure-report.md +73 -0
- spequa-0.9.0/specs/007-docs-validation-gate/data-model.md +114 -0
- spequa-0.9.0/specs/007-docs-validation-gate/plan.md +223 -0
- spequa-0.9.0/specs/007-docs-validation-gate/quickstart.md +88 -0
- spequa-0.9.0/specs/007-docs-validation-gate/research.md +106 -0
- spequa-0.9.0/specs/007-docs-validation-gate/spec.md +145 -0
- spequa-0.9.0/specs/007-docs-validation-gate/tasks.md +223 -0
- spequa-0.9.0/specs/007-docs-validation-gate/tests.md +95 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/baseline-tests.md +15 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/checklists/requirements.md +40 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/closure-report.md +78 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/data-model.md +212 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/plan.md +302 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/quickstart.md +59 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/research.md +150 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/scratchpad.md +499 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/spec.md +206 -0
- spequa-0.9.0/specs/008-sequential-pipeline-loop/tasks.md +251 -0
- spequa-0.9.0/specs/009-version-bump-release/audit-trail.md +13 -0
- spequa-0.9.0/specs/009-version-bump-release/closure-report.md +44 -0
- spequa-0.9.0/specs/009-version-bump-release/micro-constitution.md +37 -0
- spequa-0.9.0/specs/009-version-bump-release/plan.md +18 -0
- spequa-0.9.0/specs/009-version-bump-release/spec.md +45 -0
- spequa-0.9.0/specs/009-version-bump-release/tasks.md +9 -0
- spequa-0.9.0/specs/010-package-distribution/.pipeline-state.json +51 -0
- spequa-0.9.0/specs/010-package-distribution/audit-trail.md +87 -0
- spequa-0.9.0/specs/010-package-distribution/closure-report.md +66 -0
- spequa-0.9.0/specs/010-package-distribution/micro-constitution.md +38 -0
- spequa-0.9.0/specs/010-package-distribution/plan.md +157 -0
- spequa-0.9.0/specs/010-package-distribution/research.md +113 -0
- spequa-0.9.0/specs/010-package-distribution/scorecard.md +35 -0
- spequa-0.9.0/specs/010-package-distribution/spec.md +107 -0
- spequa-0.9.0/specs/010-package-distribution/tasks.md +52 -0
- spequa-0.9.0/specs/011-headless-pipeline-orchestration/audit-trail.md +8 -0
- spequa-0.9.0/specs/011-headless-pipeline-orchestration/closure-report.md +73 -0
- spequa-0.9.0/specs/011-headless-pipeline-orchestration/evidence/demo-steps.md +29 -0
- spequa-0.9.0/specs/011-headless-pipeline-orchestration/micro-constitution.md +38 -0
- spequa-0.9.0/specs/011-headless-pipeline-orchestration/plan.md +115 -0
- spequa-0.9.0/specs/011-headless-pipeline-orchestration/research.md +31 -0
- spequa-0.9.0/specs/011-headless-pipeline-orchestration/scorecard.md +26 -0
- spequa-0.9.0/specs/011-headless-pipeline-orchestration/spec.md +145 -0
- spequa-0.9.0/specs/011-headless-pipeline-orchestration/tasks.md +60 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/.pipeline-state.json +113 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/audit-trail.md +99 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/checklists/requirements.md +44 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/closure-report.md +72 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/comet-dispatch.json +9 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/data-model.md +83 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/evidence/demo-steps.md +49 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/micro-constitution.md +53 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/plan.md +166 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/research.md +94 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/scorecard.md +49 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/spec.md +122 -0
- spequa-0.9.0/specs/012-pipeline-comet-control/tasks.md +87 -0
- spequa-0.9.0/specs/013-publish-to-PyPI/closure-report.md +64 -0
- spequa-0.9.0/specs/013-publish-to-PyPI/research.md +264 -0
- spequa-0.9.0/specs/013-publish-to-PyPI/spec.md +30 -0
- spequa-0.9.0/specs/README.md +16 -0
- spequa-0.9.0/spequa.code-workspace +7 -0
- spequa-0.9.0/src/spequa_mcp/__init__.py +15 -0
- spequa-0.9.0/src/spequa_mcp/server.py +73 -0
- spequa-0.9.0/src/spequa_mcp/spequa-mcp-server.py +1205 -0
- spequa-0.9.0/src/spequa_mcp/tools/__init__.py +81 -0
- spequa-0.9.0/src/spequa_mcp/tools/analyze.py +228 -0
- spequa-0.9.0/src/spequa_mcp/tools/analyze_domain.py +263 -0
- spequa-0.9.0/src/spequa_mcp/tools/plan.py +184 -0
- spequa-0.9.0/src/spequa_mcp/tools/spequafy.py +133 -0
- spequa-0.9.0/src/spequa_mcp/tools/tasks.py +265 -0
- spequa-0.9.0/src/spequafy_cli/__init__.py +3066 -0
- spequa-0.9.0/src/spequafy_cli/_comet_integration.py +224 -0
- spequa-0.9.0/src/spequafy_cli/_command_install.py +89 -0
- spequa-0.9.0/src/spequafy_cli/_data/__init__.py +1 -0
- spequa-0.9.0/src/spequafy_cli/_package_data.py +64 -0
- spequa-0.9.0/src/spequafy_cli/_pipeline.py +554 -0
- spequa-0.9.0/src/spequafy_cli/domain_analysis.py +659 -0
- spequa-0.9.0/src/spequafy_cli/domain_config.py +392 -0
- spequa-0.9.0/src/spequafy_cli/error_handling.py +392 -0
- spequa-0.9.0/src/spequafy_cli/extensions.py +1820 -0
- spequa-0.9.0/src/spequafy_cli/interactive_domain_analysis.py +631 -0
- spequa-0.9.0/src/spequafy_cli/mcp_enhancements.py +66 -0
- spequa-0.9.0/src/spequafy_cli/template_populator.py +314 -0
- spequa-0.9.0/templates/agent-file-template.md +28 -0
- spequa-0.9.0/templates/audit-trail-template.md +48 -0
- spequa-0.9.0/templates/checklist-template.md +40 -0
- spequa-0.9.0/templates/closure-report-template.md +68 -0
- spequa-0.9.0/templates/commands/0-pipeline.md +1123 -0
- spequa-0.9.0/templates/commands/1-constitution.md +84 -0
- spequa-0.9.0/templates/commands/10-implement.md +212 -0
- spequa-0.9.0/templates/commands/11-docs.md +200 -0
- spequa-0.9.0/templates/commands/12-score-docs.md +124 -0
- spequa-0.9.0/templates/commands/13-code-review.md +168 -0
- spequa-0.9.0/templates/commands/14-create-pull-request.md +243 -0
- spequa-0.9.0/templates/commands/14.1-pr-checks.md +158 -0
- spequa-0.9.0/templates/commands/15-comet-review.md +306 -0
- spequa-0.9.0/templates/commands/15.1-comet-pr-review.md +163 -0
- spequa-0.9.0/templates/commands/16-close.md +310 -0
- spequa-0.9.0/templates/commands/2-problems.md +29 -0
- spequa-0.9.0/templates/commands/3-spequafy.md +304 -0
- spequa-0.9.0/templates/commands/3.0-diagnose.md +249 -0
- spequa-0.9.0/templates/commands/3.1-analyze-domain.md +124 -0
- spequa-0.9.0/templates/commands/4-clarify.md +184 -0
- spequa-0.9.0/templates/commands/4.1-expert-decision.md +157 -0
- spequa-0.9.0/templates/commands/5-plan.md +106 -0
- spequa-0.9.0/templates/commands/5.1-research.md +112 -0
- spequa-0.9.0/templates/commands/6-tasks.md +203 -0
- spequa-0.9.0/templates/commands/6.1-taskstoissues.md +33 -0
- spequa-0.9.0/templates/commands/7-checklist.md +298 -0
- spequa-0.9.0/templates/commands/8-analyze.md +187 -0
- spequa-0.9.0/templates/commands/9-test.md +369 -0
- spequa-0.9.0/templates/config-template.yml +39 -0
- spequa-0.9.0/templates/constitution-template.md +66 -0
- spequa-0.9.0/templates/diagnose-template.md +123 -0
- spequa-0.9.0/templates/examples/override-example.md +73 -0
- spequa-0.9.0/templates/micro-constitution-template.md +43 -0
- spequa-0.9.0/templates/plan-template.md +104 -0
- spequa-0.9.0/templates/scorecard-template.md +43 -0
- spequa-0.9.0/templates/spec-template.md +118 -0
- spequa-0.9.0/templates/tasks-template.md +251 -0
- spequa-0.9.0/templates/vscode-settings.json +14 -0
- spequa-0.9.0/tests/__init__.py +1 -0
- spequa-0.9.0/tests/conftest.py +66 -0
- spequa-0.9.0/tests/data/sample/invoices.json +34 -0
- spequa-0.9.0/tests/data/sample/payments.json +18 -0
- spequa-0.9.0/tests/data/sample/suppliers.csv +3 -0
- spequa-0.9.0/tests/hooks/.spequafy/extensions.yml +34 -0
- spequa-0.9.0/tests/hooks/TESTING.md +30 -0
- spequa-0.9.0/tests/hooks/plan.md +3 -0
- spequa-0.9.0/tests/hooks/spec.md +1 -0
- spequa-0.9.0/tests/hooks/tasks.md +1 -0
- spequa-0.9.0/tests/requirements.txt +3 -0
- spequa-0.9.0/tests/test_agent_config_consistency.py +109 -0
- spequa-0.9.0/tests/test_ai_skills.py +772 -0
- spequa-0.9.0/tests/test_cli_check.py +338 -0
- spequa-0.9.0/tests/test_cli_extensions.py +840 -0
- spequa-0.9.0/tests/test_cli_helpers.py +667 -0
- spequa-0.9.0/tests/test_cli_init.py +663 -0
- spequa-0.9.0/tests/test_cli_utilities.py +384 -0
- spequa-0.9.0/tests/test_closure_checks.py +670 -0
- spequa-0.9.0/tests/test_comet_integration.py +202 -0
- spequa-0.9.0/tests/test_concurrent_runs.py +114 -0
- spequa-0.9.0/tests/test_config.py +149 -0
- spequa-0.9.0/tests/test_config_commands.py +95 -0
- spequa-0.9.0/tests/test_config_preservation.py +137 -0
- spequa-0.9.0/tests/test_config_subcommand.py +65 -0
- spequa-0.9.0/tests/test_config_validation.py +126 -0
- spequa-0.9.0/tests/test_cursor_frontmatter.py +263 -0
- spequa-0.9.0/tests/test_docs_validation_gate.py +233 -0
- spequa-0.9.0/tests/test_domain_analysis.py +263 -0
- spequa-0.9.0/tests/test_domain_analysis_extended.py +596 -0
- spequa-0.9.0/tests/test_domain_config.py +605 -0
- spequa-0.9.0/tests/test_download_template.py +176 -0
- spequa-0.9.0/tests/test_error_handling_extended.py +274 -0
- spequa-0.9.0/tests/test_extensions.py +1135 -0
- spequa-0.9.0/tests/test_extensions_extended.py +1472 -0
- spequa-0.9.0/tests/test_interactive_domain_analysis.py +372 -0
- spequa-0.9.0/tests/test_interactive_domain_extended.py +692 -0
- spequa-0.9.0/tests/test_mcp_enhancements.py +104 -0
- spequa-0.9.0/tests/test_mcp_server_legacy.py +797 -0
- spequa-0.9.0/tests/test_mcp_server_modern.py +1087 -0
- spequa-0.9.0/tests/test_mcp_tools.py +590 -0
- spequa-0.9.0/tests/test_overrides.py +153 -0
- spequa-0.9.0/tests/test_package_distribution.py +258 -0
- spequa-0.9.0/tests/test_pipeline_cli.py +304 -0
- spequa-0.9.0/tests/test_pipeline_quality_gates.py +544 -0
- spequa-0.9.0/tests/test_pipeline_state.py +182 -0
- spequa-0.9.0/tests/test_project_detection.py +158 -0
- spequa-0.9.0/tests/test_scorecard.py +194 -0
- spequa-0.9.0/tests/test_shell_integration.py +476 -0
- spequa-0.9.0/tests/test_spequa_scripts.py +617 -0
- spequa-0.9.0/tests/test_template_populator.py +790 -0
|
@@ -0,0 +1,1120 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Autonomous sequential pipeline loop — generates micro-constitution, executes 10 phases with gate checks, self-corrects on failures, pauses for clarification, and scores against R1-R10 rubric.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## User Input
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
$ARGUMENTS
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
This is a **fully autonomous sequential pipeline** that runs the complete Spec-Driven Development lifecycle end-to-end. It executes 10 phases (0-9) in strict sequential order, where each phase's output automatically becomes the next phase's input. The pipeline self-corrects on gate failures, pauses only for genuine ambiguities or constitution conflicts, and produces a scored evaluation of the completed work.
|
|
16
|
+
|
|
17
|
+
**Core guarantee**: A developer provides a feature description and walks away. The pipeline produces a deployed feature with a scorecard — zero intermediate manual actions required.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 1. User Input and Configuration Parsing
|
|
22
|
+
|
|
23
|
+
### 1.1 Parse Feature Description
|
|
24
|
+
|
|
25
|
+
Extract the feature description from `$ARGUMENTS`. This is the primary input — the problem statement that drives the entire pipeline.
|
|
26
|
+
|
|
27
|
+
### 1.2 Parse Optional Flags
|
|
28
|
+
|
|
29
|
+
| Flag | Values | Default | Description |
|
|
30
|
+
|------|--------|---------|-------------|
|
|
31
|
+
| `--autonomy` | HIGH / MEDIUM / LOW | HIGH | How aggressively to auto-resolve ambiguity |
|
|
32
|
+
| `--timeout` | 15-180 (minutes) | 60 | Max wall-clock time per pipeline run |
|
|
33
|
+
| `--deploy-target` | production / staging / none | none | Where to deploy on completion |
|
|
34
|
+
| `--score-threshold` | 8-10 | 10 | Minimum passing score (out of applicable requirements) |
|
|
35
|
+
| `--max-retries` | 1-5 | 3 | Self-correction attempts before escalating |
|
|
36
|
+
| `--resume` | flag (no value) | — | Resume a paused pipeline |
|
|
37
|
+
| `--queue` | comma-separated descriptions | — | Batch-process multiple specs sequentially |
|
|
38
|
+
|
|
39
|
+
### 1.3 Load Configuration Defaults
|
|
40
|
+
|
|
41
|
+
1. Check for `.spequa/config.yml` in the repo root
|
|
42
|
+
2. Read the `pipeline:` section if present:
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
pipeline:
|
|
46
|
+
autonomy_level: "HIGH"
|
|
47
|
+
max_retries_per_phase: 3
|
|
48
|
+
timeout_minutes: 60
|
|
49
|
+
deploy_target: "none"
|
|
50
|
+
score_threshold: 10
|
|
51
|
+
pause_on_destructive: true
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
3. CLI flags override config.yml values. Config.yml overrides built-in defaults.
|
|
55
|
+
|
|
56
|
+
### 1.4 If --queue Flag Is Present
|
|
57
|
+
|
|
58
|
+
Skip to **Section 20: Spec Queue** below. Queue mode wraps the entire pipeline in a loop.
|
|
59
|
+
|
|
60
|
+
### 1.5 If --resume Flag Is Present
|
|
61
|
+
|
|
62
|
+
Skip to **Section 16: Resume Logic** below.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 2. Pre-Flight Validation
|
|
67
|
+
|
|
68
|
+
Before any phase executes, validate the environment.
|
|
69
|
+
|
|
70
|
+
### 2.1 Clean Working Tree (FR-018)
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
git status --porcelain
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
- If output is **non-empty**: STOP immediately. Report: `[PIPELINE] REJECTED: Working tree is dirty. Commit or stash changes before running the pipeline.`
|
|
77
|
+
- If output is **empty**: proceed.
|
|
78
|
+
|
|
79
|
+
### 2.2 Concurrency Lock (FR-017)
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
scripts/bash/check-concurrent-runs.sh --json --feature-dir
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
- If another pipeline run is active (lock held by a live process): STOP immediately. Report: `[PIPELINE] REJECTED: Another pipeline run is active (PID: <pid>). Wait for it to complete or release the lock.`
|
|
86
|
+
- If lock is stale (PID no longer running): acquire lock and proceed.
|
|
87
|
+
- If no lock exists: acquire lock and proceed.
|
|
88
|
+
|
|
89
|
+
### 2.3 Record Start Time
|
|
90
|
+
|
|
91
|
+
Record the current timestamp. All timeout checks compare elapsed time against `config.timeout_minutes` from this moment.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 3. Phase 0: Trigger / Micro-Constitution (FR-002, FR-008)
|
|
96
|
+
|
|
97
|
+
**Purpose**: Generate the immutable contract that governs all agent behavior for this run.
|
|
98
|
+
|
|
99
|
+
### 3.1 Auto-Detect Spec Number (FR-007)
|
|
100
|
+
|
|
101
|
+
Determine the next available spec number by checking:
|
|
102
|
+
|
|
103
|
+
1. Existing directories in `specs/` (e.g., `specs/001-*`, `specs/002-*`)
|
|
104
|
+
2. Local branches matching `NNN-*` pattern
|
|
105
|
+
3. Remote branches matching `NNN-*` pattern
|
|
106
|
+
|
|
107
|
+
Use the highest number found + 1. Format as zero-padded 3-digit string (e.g., `009`).
|
|
108
|
+
|
|
109
|
+
### 3.2 Generate Micro-Constitution
|
|
110
|
+
|
|
111
|
+
Create `specs/NNN-feature-name/micro-constitution.md` from `templates/micro-constitution-template.md`.
|
|
112
|
+
|
|
113
|
+
Fill all required fields:
|
|
114
|
+
|
|
115
|
+
| Field | Source |
|
|
116
|
+
|-------|--------|
|
|
117
|
+
| Spec ID | Auto-detected (step 3.1) |
|
|
118
|
+
| Feature Name | Derived from user's feature description (slug format) |
|
|
119
|
+
| Problem Statement | User's original description verbatim |
|
|
120
|
+
| Target Repository | Current repo path |
|
|
121
|
+
| Branch Convention | `{NNN}-{feature-name}` from `{branch_from}` |
|
|
122
|
+
| Autonomy Level | From config (section 1) |
|
|
123
|
+
| Timeout | From config (section 1) |
|
|
124
|
+
| Deploy Target | From config (section 1) |
|
|
125
|
+
| Score Threshold | From config (section 1) |
|
|
126
|
+
| Quality Standards | Inherited from `.spequa/memory/constitution.md` |
|
|
127
|
+
| Constitution Constraints | Key principles from `.spequa/memory/constitution.md` |
|
|
128
|
+
| Success Criteria | Populated after Phase 1 (spec generates SC-NNN items) |
|
|
129
|
+
|
|
130
|
+
### 3.3 Initialize Pipeline State
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
scripts/bash/pipeline-state.sh init --spec-id NNN --feature-name "feature-name" --config '{"autonomy_level":"HIGH","max_retries_per_phase":3,"timeout_minutes":60,"deploy_target":"none","score_threshold":10,"pause_on_destructive":true}'
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
This creates `.pipeline-state.json` in the feature directory with status `running`, all phases set to `pending`, empty decisions/retries arrays, and the concurrency lock.
|
|
137
|
+
|
|
138
|
+
### 3.4 Initialize Audit Trail
|
|
139
|
+
|
|
140
|
+
Create `specs/NNN-feature-name/audit-trail.md` from `templates/audit-trail-template.md`. Add the first entry:
|
|
141
|
+
|
|
142
|
+
```markdown
|
|
143
|
+
## Phase 0: Trigger
|
|
144
|
+
- **Started**: [ISO 8601 timestamp]
|
|
145
|
+
- **Completed**: [ISO 8601 timestamp]
|
|
146
|
+
- **Gate Result**: PASS
|
|
147
|
+
- **Artifacts**: micro-constitution.md, .pipeline-state.json, audit-trail.md
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 3.5 Gate Check
|
|
151
|
+
|
|
152
|
+
- **PASS condition**: All required micro-constitution fields are populated (non-empty).
|
|
153
|
+
- **FAIL action**: Identify which fields are missing. If the user's description is too vague to derive a problem statement, enter the retry loop (section 14).
|
|
154
|
+
- **PAUSE condition**: Never — Phase 0 always has user input.
|
|
155
|
+
|
|
156
|
+
### 3.6 Report Progress
|
|
157
|
+
|
|
158
|
+
```text
|
|
159
|
+
[PIPELINE] Phase 0/9 COMPLETE: trigger ✓ → Proceeding to Phase 1: spequafy
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 4. Phase 1: Spequafy
|
|
165
|
+
|
|
166
|
+
**Purpose**: Create the feature specification, requirements checklist, and baseline test results.
|
|
167
|
+
|
|
168
|
+
### 4.1 Create Branch and Scaffold
|
|
169
|
+
|
|
170
|
+
Run `{SCRIPT}` from repo root (the `create-new-feature.sh` invocation from frontmatter). Parse the JSON output for `BRANCH_NAME`, `SPEC_FILE`, `FEATURE_NUM`, `FEATURE_DIR`. All paths must be absolute.
|
|
171
|
+
|
|
172
|
+
### 4.2 Write Specification
|
|
173
|
+
|
|
174
|
+
Read `templates/spec-template.md` and write `spec.md` in the feature directory:
|
|
175
|
+
|
|
176
|
+
- Fill all sections from the user's feature description
|
|
177
|
+
- Create prioritized user stories (P1, P2, P3) with independent test criteria
|
|
178
|
+
- Define measurable success criteria (SC-NNN)
|
|
179
|
+
- Define functional requirements (FR-NNN)
|
|
180
|
+
- For areas where information is insufficient, mark `[NEEDS CLARIFICATION]` (max 3)
|
|
181
|
+
|
|
182
|
+
### 4.3 Generate Requirements Checklist
|
|
183
|
+
|
|
184
|
+
Create `FEATURE_DIR/checklists/requirements.md` using `templates/checklist-template.md`. Validate requirements quality — each requirement must be testable, unambiguous, and traceable.
|
|
185
|
+
|
|
186
|
+
### 4.4 Run Baseline Tests
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
scripts/bash/run-baseline-tests.sh
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Record the baseline test results. These are compared against at implementation completion to detect regressions.
|
|
193
|
+
|
|
194
|
+
### 4.5 Update Micro-Constitution
|
|
195
|
+
|
|
196
|
+
Add the Success Criteria (SC-NNN items) from the spec to the micro-constitution's Success Criteria section. This is the **only** permitted modification — all other fields are immutable.
|
|
197
|
+
|
|
198
|
+
### 4.6 Gate Check
|
|
199
|
+
|
|
200
|
+
- **PASS condition**: All spec sections complete. Zero `[TODO]` markers. All user stories have independent test criteria. All success criteria are measurable.
|
|
201
|
+
- **FAIL action**: Identify incomplete sections. Auto-fill from the user's description or infer from codebase context. Retry.
|
|
202
|
+
- **PAUSE condition**: The user's description is too ambiguous to produce a complete spec even after inference.
|
|
203
|
+
|
|
204
|
+
### 4.7 Save and Report
|
|
205
|
+
|
|
206
|
+
Save state via `pipeline-state.sh update`. Append audit trail entry. Report:
|
|
207
|
+
|
|
208
|
+
```text
|
|
209
|
+
[PIPELINE] Phase 1/9 COMPLETE: spequafy ✓ → Proceeding to Phase 2: clarify
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 5. Phase 2: Clarify
|
|
215
|
+
|
|
216
|
+
**Purpose**: Scan for ambiguities and resolve them per the autonomy level matrix.
|
|
217
|
+
|
|
218
|
+
### 5.1 Scan for Ambiguities
|
|
219
|
+
|
|
220
|
+
Read the spec and identify:
|
|
221
|
+
|
|
222
|
+
- All `[NEEDS CLARIFICATION]` markers
|
|
223
|
+
- Implicit ambiguities (requirements that could be interpreted multiple ways)
|
|
224
|
+
- Missing edge cases
|
|
225
|
+
- Undefined behavior for error conditions
|
|
226
|
+
|
|
227
|
+
### 5.2 Apply Autonomy Level Matrix (FR-012)
|
|
228
|
+
|
|
229
|
+
For EACH ambiguity, execute this resolution sequence:
|
|
230
|
+
|
|
231
|
+
**Step A — Context Research**:
|
|
232
|
+
|
|
233
|
+
- Scan the existing codebase for patterns, conventions, and prior decisions
|
|
234
|
+
- Read `.spequa/memory/constitution.md` for relevant principles
|
|
235
|
+
- Check existing specs in `specs/` for precedent decisions
|
|
236
|
+
- Analyze the tech stack, dependencies, and project structure
|
|
237
|
+
|
|
238
|
+
**Step B — Expert Decision Analysis**:
|
|
239
|
+
|
|
240
|
+
- Identify ALL viable options (typically 2-5)
|
|
241
|
+
- For each option evaluate: alignment with project patterns, risk, effort, best practices
|
|
242
|
+
- Score each option on these dimensions
|
|
243
|
+
|
|
244
|
+
**Step C — Confidence Evaluation and Resolution**:
|
|
245
|
+
|
|
246
|
+
| Scenario | HIGH Autonomy | MEDIUM Autonomy | LOW Autonomy |
|
|
247
|
+
|----------|---------------|-----------------|--------------|
|
|
248
|
+
| Evidence clearly supports one option (>70% confidence) | Auto-resolve | Auto-resolve | **PAUSE** |
|
|
249
|
+
| No clear winner, no strong evidence | Auto-resolve (best guess) | **PAUSE** | **PAUSE** |
|
|
250
|
+
| Architecture-level decision | Auto-resolve | **PAUSE** | **PAUSE** |
|
|
251
|
+
| Constitution conflict | **PAUSE** (always) | **PAUSE** (always) | **PAUSE** (always) |
|
|
252
|
+
| Destructive operation | Check `pause_on_destructive` | **PAUSE** | **PAUSE** |
|
|
253
|
+
|
|
254
|
+
**For auto-resolved decisions**: Replace `[NEEDS CLARIFICATION]` with the chosen approach. Log the decision:
|
|
255
|
+
|
|
256
|
+
- Question, answer, confidence level, evidence (file:line citations)
|
|
257
|
+
- Write to both `.pipeline-state.json` decisions array and `audit-trail.md`
|
|
258
|
+
|
|
259
|
+
**For PAUSE decisions**: Enter the Pause Handler (section 15).
|
|
260
|
+
|
|
261
|
+
### 5.3 Gate Check
|
|
262
|
+
|
|
263
|
+
- **PASS condition**: Zero unresolved high-impact questions remain.
|
|
264
|
+
- **FAIL action**: Re-examine unresolved items with broader search scope. Retry.
|
|
265
|
+
- **PAUSE condition**: Confidence below threshold per autonomy level.
|
|
266
|
+
|
|
267
|
+
### 5.4 Save and Report
|
|
268
|
+
|
|
269
|
+
```text
|
|
270
|
+
[PIPELINE] Phase 2/9 COMPLETE: clarify ✓ → Proceeding to Phase 3: research
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 6. Phase 3: Research
|
|
276
|
+
|
|
277
|
+
**Purpose**: Extract unknowns from the spec and resolve them through codebase research.
|
|
278
|
+
|
|
279
|
+
### 6.1 Extract Unknowns
|
|
280
|
+
|
|
281
|
+
Read the spec and identify:
|
|
282
|
+
|
|
283
|
+
- Technical unknowns (library choices, API designs, data models)
|
|
284
|
+
- Integration points with existing code
|
|
285
|
+
- Performance implications
|
|
286
|
+
- Security considerations
|
|
287
|
+
|
|
288
|
+
### 6.2 Research Codebase
|
|
289
|
+
|
|
290
|
+
For each unknown:
|
|
291
|
+
|
|
292
|
+
- Search the codebase for related patterns and prior implementations
|
|
293
|
+
- Check existing specs for precedent decisions
|
|
294
|
+
- Identify reusable components, utilities, and patterns
|
|
295
|
+
- Document findings with file:line citations
|
|
296
|
+
|
|
297
|
+
### 6.3 Generate Research Artifact
|
|
298
|
+
|
|
299
|
+
Create `FEATURE_DIR/research.md` with:
|
|
300
|
+
|
|
301
|
+
- Each unknown identified
|
|
302
|
+
- Research findings with citations
|
|
303
|
+
- Recommended approach with rationale
|
|
304
|
+
- Alternatives considered and why they were rejected
|
|
305
|
+
|
|
306
|
+
### 6.4 Gate Check
|
|
307
|
+
|
|
308
|
+
- **PASS condition**: All `NEEDS_CLARIFICATION` markers resolved with evidence-backed answers.
|
|
309
|
+
- **FAIL action**: Research with different search strategies (broader keywords, adjacent files, git history). Retry.
|
|
310
|
+
- **PAUSE condition**: Conflicting evidence requires human judgment.
|
|
311
|
+
|
|
312
|
+
### 6.5 Save and Report
|
|
313
|
+
|
|
314
|
+
```text
|
|
315
|
+
[PIPELINE] Phase 3/9 COMPLETE: research ✓ → Proceeding to Phase 4: plan
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 7. Phase 4: Plan
|
|
321
|
+
|
|
322
|
+
**Purpose**: Generate the technical implementation plan, data model, and contracts.
|
|
323
|
+
|
|
324
|
+
### 7.1 Setup Plan
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
scripts/bash/setup-plan.sh --json
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
Parse JSON output for `FEATURE_SPEC`, `IMPL_PLAN`, `SPECS_DIR`, `BRANCH`.
|
|
331
|
+
|
|
332
|
+
### 7.2 Generate Plan Artifacts
|
|
333
|
+
|
|
334
|
+
Read the completed spec, research.md, and `.spequa/memory/constitution.md`. Generate:
|
|
335
|
+
|
|
336
|
+
1. **plan.md** — Full implementation plan following `templates/plan-template.md`:
|
|
337
|
+
- Technical context (language, dependencies, storage, testing)
|
|
338
|
+
- Constitution check (verify compliance with all Articles)
|
|
339
|
+
- Project structure with file paths
|
|
340
|
+
- Phase-by-phase implementation approach
|
|
341
|
+
- Complexity tracking
|
|
342
|
+
|
|
343
|
+
2. **data-model.md** — Entity schemas, relationships, state machines (if applicable)
|
|
344
|
+
|
|
345
|
+
3. **contracts/** — API contracts, interface definitions (if applicable)
|
|
346
|
+
|
|
347
|
+
### 7.3 Update Agent Context
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
scripts/bash/update-agent-context.sh --agent-type <detected_agent>
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### 7.4 Gate Check
|
|
354
|
+
|
|
355
|
+
- **PASS condition**: Plan covers 100% of acceptance criteria from the spec. Constitution check passes. All artifacts generated (plan.md and data-model.md at minimum).
|
|
356
|
+
- **FAIL action**: Identify uncovered acceptance criteria. Add plan sections to address them. Retry.
|
|
357
|
+
- **PAUSE condition**: Architecture decision with no clear winner, or constitution violation detected.
|
|
358
|
+
|
|
359
|
+
### 7.5 Save and Report
|
|
360
|
+
|
|
361
|
+
```text
|
|
362
|
+
[PIPELINE] Phase 4/9 COMPLETE: plan ✓ → Proceeding to Phase 5: tasks
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## 8. Phase 5: Tasks
|
|
368
|
+
|
|
369
|
+
**Purpose**: Generate the dependency-ordered task breakdown.
|
|
370
|
+
|
|
371
|
+
### 8.1 Load Prerequisites
|
|
372
|
+
|
|
373
|
+
```bash
|
|
374
|
+
scripts/bash/check-prerequisites.sh --json
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
Parse JSON for `FEATURE_DIR` and `AVAILABLE_DOCS`. Load plan.md, spec.md, data-model.md, and all generated artifacts.
|
|
378
|
+
|
|
379
|
+
### 8.2 Generate Tasks
|
|
380
|
+
|
|
381
|
+
Create `tasks.md` following `templates/tasks-template.md`:
|
|
382
|
+
|
|
383
|
+
- Organize tasks by user story (P1 then P2 then P3)
|
|
384
|
+
- Use strict checklist format: ``- [ ] **TaskID** [labels] description — `file/path` ``
|
|
385
|
+
- Mark parallel-safe tasks with `[P]`
|
|
386
|
+
- Include dependency graph showing which tasks block which
|
|
387
|
+
- Map every acceptance criterion to at least one task
|
|
388
|
+
- Map every task to at least one acceptance criterion
|
|
389
|
+
|
|
390
|
+
### 8.3 Gate Check
|
|
391
|
+
|
|
392
|
+
- **PASS condition**: Every acceptance criterion maps to at least one task. Every task maps to at least one acceptance criterion. No circular dependencies. All tasks have file paths.
|
|
393
|
+
- **FAIL action**: Add missing tasks for uncovered ACs, or remove orphan tasks. Retry.
|
|
394
|
+
- **PAUSE condition**: Task estimation uncertainty exceeds 4 hours (MEDIUM/LOW autonomy only).
|
|
395
|
+
|
|
396
|
+
### 8.4 Save and Report
|
|
397
|
+
|
|
398
|
+
```text
|
|
399
|
+
[PIPELINE] Phase 5/9 COMPLETE: tasks ✓ → Proceeding to Phase 6: implement
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## 9. Phase 6: Implement
|
|
405
|
+
|
|
406
|
+
**Purpose**: Execute the task plan — write code, tests, and documentation.
|
|
407
|
+
|
|
408
|
+
### 9.1 Pre-Implementation Checks
|
|
409
|
+
|
|
410
|
+
1. Scan `FEATURE_DIR/checklists/` for checklist files. Count completed vs incomplete items.
|
|
411
|
+
- All pass: proceed
|
|
412
|
+
- Non-blocking incomplete: proceed with note
|
|
413
|
+
- Blocking incomplete: STOP for human
|
|
414
|
+
2. Check for extension hooks: `before_implement` in `.spequa/config.yml` — execute if present.
|
|
415
|
+
|
|
416
|
+
### 9.2 Execute Tasks Sequentially
|
|
417
|
+
|
|
418
|
+
Process tasks in dependency order from `tasks.md`:
|
|
419
|
+
|
|
420
|
+
1. **Setup tasks**: Project structure, dependencies, configuration files
|
|
421
|
+
2. **Foundational tasks**: Blocking prerequisites (data models, base classes)
|
|
422
|
+
3. **User story tasks**: Implement each story in priority order (P1, P2, P3)
|
|
423
|
+
- Write tests first (if test-first approach specified in plan)
|
|
424
|
+
- Models, then services, then endpoints, then integration
|
|
425
|
+
4. **Polish tasks**: Cross-cutting concerns, documentation updates
|
|
426
|
+
|
|
427
|
+
For each task:
|
|
428
|
+
|
|
429
|
+
- Execute the implementation
|
|
430
|
+
- Mark as `[x]` in tasks.md when complete
|
|
431
|
+
- If a task fails: attempt recovery. Log the failure. If unrecoverable after 3 attempts, enter the pause handler.
|
|
432
|
+
- For parallel tasks `[P]`: execute them, report any failures separately
|
|
433
|
+
|
|
434
|
+
### 9.3 Post-Implementation Checks
|
|
435
|
+
|
|
436
|
+
1. Check extension hooks: `after_implement` in `.spequa/config.yml` — execute if present.
|
|
437
|
+
2. Run the full test suite. All tests must pass.
|
|
438
|
+
3. Scan for `TODO` and `FIXME` markers in new/modified code — zero allowed.
|
|
439
|
+
|
|
440
|
+
### 9.4 Gate Check
|
|
441
|
+
|
|
442
|
+
- **PASS condition**: All tasks marked `[x]`. All tests pass. Zero `TODO`/`FIXME` in new code.
|
|
443
|
+
- **FAIL action**: Fix failing tests or incomplete tasks. Remove or resolve TODO markers. Retry.
|
|
444
|
+
- **PAUSE condition**: Constitution conflict in implementation approach, or security concern requiring human review.
|
|
445
|
+
|
|
446
|
+
### 9.5 Save and Report
|
|
447
|
+
|
|
448
|
+
```text
|
|
449
|
+
[PIPELINE] Phase 6/9 COMPLETE: implement ✓ → Proceeding to Phase 7: review
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
---
|
|
453
|
+
|
|
454
|
+
## 10. Phase 7: Review
|
|
455
|
+
|
|
456
|
+
**Purpose**: Run the full PR review checklist, documentation quality gate, and create the pull request.
|
|
457
|
+
|
|
458
|
+
### 10.1 Run 14-Gate PR Checklist
|
|
459
|
+
|
|
460
|
+
Execute the complete checklist from `templates/commands/create-pull-request.md`:
|
|
461
|
+
|
|
462
|
+
1. Branch naming convention
|
|
463
|
+
2. Commit message format
|
|
464
|
+
3. Spec artifact completeness
|
|
465
|
+
4. Task completion (100%)
|
|
466
|
+
5. Test coverage
|
|
467
|
+
6. Linter passes (ruff, markdownlint)
|
|
468
|
+
7. Security scan (no leaked credentials, no hardcoded secrets)
|
|
469
|
+
8. Cross-platform parity (bash + powershell if applicable)
|
|
470
|
+
9. Template integrity (no template markers remain)
|
|
471
|
+
10. Constitution compliance
|
|
472
|
+
11. Documentation updates
|
|
473
|
+
12. CHANGELOG entry (if applicable)
|
|
474
|
+
13. CI pipeline configuration
|
|
475
|
+
14. Self-review diff walkthrough
|
|
476
|
+
|
|
477
|
+
### 10.2 Documentation Quality Gate
|
|
478
|
+
|
|
479
|
+
If standard doc files were modified (README.md, CHANGELOG.md, docs/*):
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
scripts/bash/score-docs-ci.sh
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
- Composite score must be >= 9.0 with no individual dimension < 8
|
|
486
|
+
- If gate fails: fix documentation gaps automatically, re-score
|
|
487
|
+
- Record results in `FEATURE_DIR/doc-scores.md`
|
|
488
|
+
|
|
489
|
+
### 10.3 Structural Validation
|
|
490
|
+
|
|
491
|
+
Run doc structural validation per `templates/commands/docs.md`:
|
|
492
|
+
|
|
493
|
+
- Cross-reference integrity (no broken links)
|
|
494
|
+
- Audience boundary compliance (user docs contain no dev-only content)
|
|
495
|
+
|
|
496
|
+
### 10.4 Create Pull Request
|
|
497
|
+
|
|
498
|
+
1. Stage all changes: `git add -A`
|
|
499
|
+
2. Create commit: `git commit -m "feat(NNN): implement <feature-name>"`
|
|
500
|
+
3. Push: `git push -u origin <BRANCH_NAME>`
|
|
501
|
+
4. Create PR via `gh pr create`:
|
|
502
|
+
- **Title**: `feat: <feature-name> (Spec NNN)`
|
|
503
|
+
- **Body**: Auto-generated from spec.md, plan.md, tasks.md — feature overview, user stories, technical approach, task completion summary, checklist results, spec link
|
|
504
|
+
- **Base**: repository default branch
|
|
505
|
+
- **Head**: feature branch
|
|
506
|
+
|
|
507
|
+
### 10.5 Comet Browser Review (if enabled)
|
|
508
|
+
|
|
509
|
+
After the PR is created and pushed, delegate a full browser-based review via the standalone Comet review command:
|
|
510
|
+
|
|
511
|
+
**Step 1 — Check Configuration**:
|
|
512
|
+
|
|
513
|
+
Read `.spequa/config.yml` for `pipeline.comet.enabled`. If Comet is disabled, skip this section entirely and proceed to Gate Check.
|
|
514
|
+
|
|
515
|
+
**Step 2 — Invoke `/spequa.15-comet-review`**:
|
|
516
|
+
|
|
517
|
+
Execute the standalone Comet review command:
|
|
518
|
+
|
|
519
|
+
```
|
|
520
|
+
/spequa.15-comet-review <PR_NUMBER> --spec <NNN>
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
This command handles the full workflow: connect to Comet, navigate to the PR, dispatch the 14-gate checklist to the sidecar, parse the response, write `comet-review-report.md`, and capture evidence screenshots. See `templates/commands/comet-review.md` for the complete command specification.
|
|
524
|
+
|
|
525
|
+
**Step 3 — Read Verdict**:
|
|
526
|
+
|
|
527
|
+
After `/spequa.15-comet-review` completes, read `FEATURE_DIR/comet-review-report.md` and extract the verdict.
|
|
528
|
+
|
|
529
|
+
**Step 4 — Act on Verdict**:
|
|
530
|
+
|
|
531
|
+
| Verdict | Action |
|
|
532
|
+
|---------|--------|
|
|
533
|
+
| **APPROVED** | Log success. Proceed to Gate Check. |
|
|
534
|
+
| **CHANGES_REQUIRED** | Log findings. Enter self-correction retry loop to address the failing gates. After fixes, re-push and re-run `/spequa.15-comet-review`. |
|
|
535
|
+
| **INCONCLUSIVE** | Log warning: "Comet review inconclusive — proceeding with pipeline self-review only." Proceed to Gate Check. |
|
|
536
|
+
|
|
537
|
+
**Step 5 — Log to Audit Trail**:
|
|
538
|
+
|
|
539
|
+
Append to `audit-trail.md`:
|
|
540
|
+
|
|
541
|
+
```markdown
|
|
542
|
+
### Comet Review
|
|
543
|
+
- **Command**: /spequa.15-comet-review <PR_NUMBER> --spec <NNN>
|
|
544
|
+
- **Verdict**: [APPROVED|CHANGES_REQUIRED|INCONCLUSIVE]
|
|
545
|
+
- **Gates Passed**: N/14
|
|
546
|
+
- **Report**: comet-review-report.md
|
|
547
|
+
- **Timestamp**: [ISO 8601]
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
### 10.6 Gate Check
|
|
551
|
+
|
|
552
|
+
- **PASS condition**: All 14 gates pass. CI green (or CI not configured — excluded). PR created successfully. Comet review APPROVED or INCONCLUSIVE (non-blocking).
|
|
553
|
+
- **FAIL action**: Fix gate failures (lint errors, test failures, doc scores). Retry.
|
|
554
|
+
- **PAUSE condition**: Security finding requiring human review.
|
|
555
|
+
|
|
556
|
+
### 10.7 Save and Report
|
|
557
|
+
|
|
558
|
+
```text
|
|
559
|
+
[PIPELINE] Phase 7/9 COMPLETE: review ✓ → Proceeding to Phase 8: deploy
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
---
|
|
563
|
+
|
|
564
|
+
## 11. Phase 8: Deploy
|
|
565
|
+
|
|
566
|
+
**Purpose**: Deploy and verify (or skip if deploy_target is none).
|
|
567
|
+
|
|
568
|
+
### 11.1 Check Deploy Target
|
|
569
|
+
|
|
570
|
+
Read `deploy_target` from micro-constitution:
|
|
571
|
+
|
|
572
|
+
- If `none`: Mark phase as **skipped** in pipeline state. Report and advance:
|
|
573
|
+
|
|
574
|
+
```text
|
|
575
|
+
[PIPELINE] Phase 8/9 SKIPPED: deploy (deploy_target=none) → Proceeding to Phase 9: score
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
- If `staging` or `production`: proceed to deployment.
|
|
579
|
+
|
|
580
|
+
### 11.2 Execute Deployment
|
|
581
|
+
|
|
582
|
+
Deploy using the project's deployment mechanism (detected from project structure — e.g., `deploy.sh`, CI/CD pipeline trigger, platform CLI).
|
|
583
|
+
|
|
584
|
+
### 11.3 Verify Health Check
|
|
585
|
+
|
|
586
|
+
After deployment, verify the service is healthy:
|
|
587
|
+
|
|
588
|
+
- Hit the health endpoint (if web service)
|
|
589
|
+
- Run smoke tests (if configured)
|
|
590
|
+
- Check deployment logs for errors
|
|
591
|
+
|
|
592
|
+
### 11.4 Gate Check
|
|
593
|
+
|
|
594
|
+
- **PASS condition**: Health check passes (or phase skipped).
|
|
595
|
+
- **FAIL action**: Check deployment logs, fix configuration issues, retry deployment.
|
|
596
|
+
- **PAUSE condition**: Deploy environment unavailable or health check fails after max retries.
|
|
597
|
+
|
|
598
|
+
### 11.5 Comet Evidence Capture (if enabled)
|
|
599
|
+
|
|
600
|
+
If Comet was connected during Phase 7 and `pipeline.comet.evidence_capture` is true:
|
|
601
|
+
|
|
602
|
+
1. **Navigate to merged PR**: Call `comet_navigate` with the PR URL.
|
|
603
|
+
2. **Capture screenshot**: Call `comet_screenshot` and save the result to `FEATURE_DIR/evidence/pr-merged.png`.
|
|
604
|
+
3. **Capture CI status**: If CI checks are visible, call `comet_screenshot` and save to `FEATURE_DIR/evidence/ci-status.png`.
|
|
605
|
+
4. **Log evidence capture**: Append to `audit-trail.md`:
|
|
606
|
+
|
|
607
|
+
```markdown
|
|
608
|
+
### Evidence Capture
|
|
609
|
+
- **Tool Calls**: comet_navigate(PR_URL), comet_screenshot()
|
|
610
|
+
- **Screenshots**: evidence/pr-merged.png, evidence/ci-status.png
|
|
611
|
+
- **Timestamp**: [ISO 8601]
|
|
612
|
+
```
|
|
613
|
+
|
|
614
|
+
If Comet is unavailable: skip with notation "Browser automation unavailable — evidence capture skipped" (non-blocking per Constitution Article VI).
|
|
615
|
+
|
|
616
|
+
### 11.6 Save and Report
|
|
617
|
+
|
|
618
|
+
```text
|
|
619
|
+
[PIPELINE] Phase 8/9 COMPLETE: deploy ✓ → Proceeding to Phase 9: score
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
---
|
|
623
|
+
|
|
624
|
+
## 12. Phase 9: Score
|
|
625
|
+
|
|
626
|
+
**Purpose**: Evaluate the completed pipeline run against the R1-R10 rubric.
|
|
627
|
+
|
|
628
|
+
### 12.1 Generate Scorecard
|
|
629
|
+
|
|
630
|
+
```bash
|
|
631
|
+
scripts/bash/generate-scorecard.sh --spec-dir FEATURE_DIR --state-file .pipeline-state.json
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
This evaluates each requirement against concrete artifacts:
|
|
635
|
+
|
|
636
|
+
| # | Requirement | Check Method | Excluded When |
|
|
637
|
+
|---|-------------|--------------|---------------|
|
|
638
|
+
| R1 | Autonomous Execution | Audit trail shows zero manual phase transitions | Never |
|
|
639
|
+
| R2 | Spec Completeness | spec.md has all required fields, zero TODOs | Never |
|
|
640
|
+
| R3 | Clarification Resolution | All decisions have evidence or were human-resolved | Never |
|
|
641
|
+
| R4 | Plan-to-Spec Traceability | tasks.md maps every AC to task and vice versa | Never |
|
|
642
|
+
| R5 | Implementation Correctness | Tests pass, no TODOs in code, ACs addressed | Never |
|
|
643
|
+
| R6 | CI/CD Pipeline Green | CI checks pass at merge time | No CI configured |
|
|
644
|
+
| R7 | 14-Gate PR Review | PR checklist passes | Never |
|
|
645
|
+
| R8 | Deployment Verification | Health check passes post-deploy | deploy_target=none |
|
|
646
|
+
| R9 | Self-Correction Integrity | All retries used different approaches, within budget | No retries occurred (auto-PASS) |
|
|
647
|
+
| R10 | Audit Trail and Scorecard | All phases have entries, all decisions cite evidence | Never |
|
|
648
|
+
|
|
649
|
+
### 12.2 Determine Verdict
|
|
650
|
+
|
|
651
|
+
Calculate: `score = total_passed / total_applicable`
|
|
652
|
+
|
|
653
|
+
| Score | Verdict | Action |
|
|
654
|
+
|-------|---------|--------|
|
|
655
|
+
| N/N (100%) | PRODUCTION_READY | Pipeline complete. Report success. |
|
|
656
|
+
| >= threshold | CONDITIONAL_PASS | Identify lowest-scoring requirement. Loop back to re-execute its phase. Re-score. Max 1 loop-back. |
|
|
657
|
+
| >= 50% but < threshold | NEEDS_REMEDIATION | Pause pipeline. Set status `paused`. Generate diagnostic report. Surface to user. |
|
|
658
|
+
| < 50% | CRITICAL_FAILURE | Set status `failed`. Generate post-mortem. Surface to user. |
|
|
659
|
+
|
|
660
|
+
### 12.3 Conditional Pass Loop-Back
|
|
661
|
+
|
|
662
|
+
If verdict is CONDITIONAL_PASS:
|
|
663
|
+
|
|
664
|
+
1. Identify the requirement with the lowest score (the FAIL item closest to PASS)
|
|
665
|
+
2. Determine which phase is responsible for that requirement
|
|
666
|
+
3. Re-execute that single phase with the explicit goal of satisfying the failing requirement
|
|
667
|
+
4. Re-run scoring
|
|
668
|
+
5. This loop-back happens at most once. If still not PRODUCTION_READY after one loop-back, set verdict to NEEDS_REMEDIATION and pause.
|
|
669
|
+
|
|
670
|
+
### 12.4 Write Scorecard
|
|
671
|
+
|
|
672
|
+
Generate `FEATURE_DIR/scorecard.md` from `templates/scorecard-template.md` with:
|
|
673
|
+
|
|
674
|
+
- Run metadata (run ID, timestamps, configuration)
|
|
675
|
+
- Per-requirement verdicts with proof artifact links
|
|
676
|
+
- Diagnostics for each FAIL (root cause, what would achieve PASS)
|
|
677
|
+
- Execution summary (duration, phases completed, retries used, decisions made)
|
|
678
|
+
|
|
679
|
+
### 12.5 Gate Check
|
|
680
|
+
|
|
681
|
+
- **PASS condition**: Score >= threshold (after any loop-back).
|
|
682
|
+
- **FAIL action**: Loop-back (if not yet attempted) or escalate.
|
|
683
|
+
- **PAUSE condition**: N/A — this is the final phase.
|
|
684
|
+
|
|
685
|
+
### 12.6 Save and Report
|
|
686
|
+
|
|
687
|
+
Release the concurrency lock. Set pipeline status to `completed` (or `failed`/`paused` per verdict).
|
|
688
|
+
|
|
689
|
+
```text
|
|
690
|
+
[PIPELINE] Phase 9/9 COMPLETE: score ✓ — Pipeline finished with verdict: PRODUCTION_READY
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
---
|
|
694
|
+
|
|
695
|
+
## 13. Sequential Phase Loop Engine
|
|
696
|
+
|
|
697
|
+
This is the core execution model. For each phase 0 through 9, the pipeline executor performs these steps in order:
|
|
698
|
+
|
|
699
|
+
### 13.1 Check Idempotent Skip
|
|
700
|
+
|
|
701
|
+
Read `.pipeline-state.json`. If this phase's status is `completed` or `skipped`, skip it entirely. This enables idempotent resume after pause or crash.
|
|
702
|
+
|
|
703
|
+
### 13.2 Check Timeout (FR-014)
|
|
704
|
+
|
|
705
|
+
Calculate elapsed time since pipeline start. If elapsed >= `config.timeout_minutes`:
|
|
706
|
+
|
|
707
|
+
1. Save current state
|
|
708
|
+
2. Set pipeline status to `paused`
|
|
709
|
+
3. Set pause reason to `timeout`
|
|
710
|
+
4. Release concurrency lock
|
|
711
|
+
5. Report: `[PIPELINE] TIMEOUT: Pipeline exceeded {N} minute limit at Phase {current}. Run with --resume to continue.`
|
|
712
|
+
6. STOP execution.
|
|
713
|
+
|
|
714
|
+
### 13.3 Execute Phase
|
|
715
|
+
|
|
716
|
+
Run the phase logic as defined in sections 3-12 above.
|
|
717
|
+
|
|
718
|
+
### 13.4 Evaluate Gate
|
|
719
|
+
|
|
720
|
+
Each phase produces a gate result: **PASS**, **FAIL**, or **PAUSE**.
|
|
721
|
+
|
|
722
|
+
- **PASS**: Save state (mark phase completed, record artifacts). Append audit trail entry (phase name, timestamps, gate result, artifacts produced). Advance to next phase.
|
|
723
|
+
- **FAIL**: Enter Self-Correction Retry Loop (section 14).
|
|
724
|
+
- **PAUSE**: Enter Pause Handler (section 15).
|
|
725
|
+
|
|
726
|
+
### 13.5 Report Progress
|
|
727
|
+
|
|
728
|
+
After each successful phase:
|
|
729
|
+
|
|
730
|
+
```text
|
|
731
|
+
[PIPELINE] Phase N/9 COMPLETE: <phase_name> ✓ → Proceeding to Phase N+1: <next_phase>
|
|
732
|
+
```
|
|
733
|
+
|
|
734
|
+
After the final phase:
|
|
735
|
+
|
|
736
|
+
```text
|
|
737
|
+
[PIPELINE] Pipeline run complete. Verdict: <verdict>. Score: <passed>/<applicable>.
|
|
738
|
+
```
|
|
739
|
+
|
|
740
|
+
---
|
|
741
|
+
|
|
742
|
+
## 14. Self-Correction Retry Loop (FR-004)
|
|
743
|
+
|
|
744
|
+
When a gate returns FAIL, the pipeline enters this loop:
|
|
745
|
+
|
|
746
|
+
### 14.1 Increment Retry Count
|
|
747
|
+
|
|
748
|
+
Read current `retry_count` for this phase from `.pipeline-state.json`. If `retry_count >= config.max_retries_per_phase`:
|
|
749
|
+
|
|
750
|
+
1. Generate a diagnostic report covering all retry attempts (diagnoses, strategies, outcomes)
|
|
751
|
+
2. Set pipeline status to `paused`
|
|
752
|
+
3. Set pause reason to `retry_exhausted`
|
|
753
|
+
4. Release concurrency lock
|
|
754
|
+
5. Surface the diagnostic report to the user with resume instructions
|
|
755
|
+
6. STOP execution
|
|
756
|
+
|
|
757
|
+
### 14.2 Diagnose Root Cause
|
|
758
|
+
|
|
759
|
+
Analyze the gate failure to identify the **root cause**, not just the symptom. For example:
|
|
760
|
+
|
|
761
|
+
- Symptom: "test_auth_flow fails" → Root cause: "auth middleware missing token refresh logic"
|
|
762
|
+
- Symptom: "spec section 3 is empty" → Root cause: "user description did not mention persistence layer"
|
|
763
|
+
|
|
764
|
+
### 14.3 Apply Graduated Retry Strategy
|
|
765
|
+
|
|
766
|
+
| Retry # | Strategy | Approach |
|
|
767
|
+
|----------|----------|----------|
|
|
768
|
+
| 1 | **Targeted fix** | Fix the specific failure identified by the gate check |
|
|
769
|
+
| 2 | **Assumption re-examination** | Re-read the previous phase's output for misinterpretation or missed context |
|
|
770
|
+
| 3 | **Alternative approach** | Broader scope — consider a fundamentally different approach to the entire phase |
|
|
771
|
+
|
|
772
|
+
### 14.4 Verify Differentiation
|
|
773
|
+
|
|
774
|
+
Before executing each retry: compare the planned approach against all previous attempts for this phase. The retry **must be measurably different** — not an identical re-execution. Log the differentiation rationale.
|
|
775
|
+
|
|
776
|
+
### 14.5 Log Retry
|
|
777
|
+
|
|
778
|
+
Append to both `.pipeline-state.json` retries array and `audit-trail.md`:
|
|
779
|
+
|
|
780
|
+
- Phase number and attempt number
|
|
781
|
+
- Failure diagnosis (root cause)
|
|
782
|
+
- Strategy chosen and how it differs from previous attempts
|
|
783
|
+
- Outcome (resolved or failed)
|
|
784
|
+
- Timestamp
|
|
785
|
+
|
|
786
|
+
### 14.6 Re-Execute and Re-Gate
|
|
787
|
+
|
|
788
|
+
Re-run the phase logic. Re-evaluate the gate. If PASS, exit the retry loop and continue normal execution. If FAIL, loop back to step 14.1.
|
|
789
|
+
|
|
790
|
+
---
|
|
791
|
+
|
|
792
|
+
## 15. Pause Handler (FR-006, FR-009)
|
|
793
|
+
|
|
794
|
+
When a gate returns PAUSE or a constitution conflict is detected:
|
|
795
|
+
|
|
796
|
+
### 15.1 Save Pause State
|
|
797
|
+
|
|
798
|
+
Write to `.pipeline-state.json`:
|
|
799
|
+
|
|
800
|
+
- `pause.active`: true
|
|
801
|
+
- `pause.phase`: current phase number
|
|
802
|
+
- `pause.reason`: one of `clarification`, `constitution_conflict`, `timeout`, `retry_exhausted`, `destructive_op`
|
|
803
|
+
- `pause.question`: the specific question (if clarification)
|
|
804
|
+
- `pause.options`: 2+ resolution options with evidence
|
|
805
|
+
- `pause.paused_at`: ISO 8601 timestamp
|
|
806
|
+
|
|
807
|
+
Set pipeline status to `paused`.
|
|
808
|
+
|
|
809
|
+
### 15.2 Release Lock
|
|
810
|
+
|
|
811
|
+
Release the concurrency lock so other operations are not blocked.
|
|
812
|
+
|
|
813
|
+
### 15.3 Surface Question to User
|
|
814
|
+
|
|
815
|
+
Present to the user:
|
|
816
|
+
|
|
817
|
+
- The specific question or conflict
|
|
818
|
+
- 2+ resolution options with pros/cons and supporting evidence
|
|
819
|
+
- The agent's recommended option with reasoning (if applicable)
|
|
820
|
+
- Why this decision requires human judgment
|
|
821
|
+
- Context about what the pipeline has completed so far
|
|
822
|
+
|
|
823
|
+
### 15.4 Provide Resume Instructions
|
|
824
|
+
|
|
825
|
+
```text
|
|
826
|
+
[PIPELINE] Phase N/9 PAUSED: <phase_name> — Human Decision Required
|
|
827
|
+
|
|
828
|
+
To resume: Run /spequa.0-pipeline --resume
|
|
829
|
+
Provide your answer to the question above when resuming.
|
|
830
|
+
```
|
|
831
|
+
|
|
832
|
+
### 15.5 STOP Execution
|
|
833
|
+
|
|
834
|
+
The pipeline stops here. No further phases execute until the user resumes.
|
|
835
|
+
|
|
836
|
+
---
|
|
837
|
+
|
|
838
|
+
## 16. Resume Logic
|
|
839
|
+
|
|
840
|
+
When `--resume` flag is present:
|
|
841
|
+
|
|
842
|
+
### 16.1 Locate Pipeline State
|
|
843
|
+
|
|
844
|
+
Find the `.pipeline-state.json` file by scanning `specs/*/` directories for one with `pause.active: true`.
|
|
845
|
+
|
|
846
|
+
### 16.2 Validate Pause State
|
|
847
|
+
|
|
848
|
+
- If no paused pipeline found: Report `[PIPELINE] No paused pipeline found. Start a new run without --resume.` and STOP.
|
|
849
|
+
- If `pause.active` is not `true`: Report the same and STOP.
|
|
850
|
+
|
|
851
|
+
### 16.3 Acquire Lock
|
|
852
|
+
|
|
853
|
+
Run concurrency lock acquisition. If another run has taken the lock, STOP.
|
|
854
|
+
|
|
855
|
+
### 16.4 Process User's Answer
|
|
856
|
+
|
|
857
|
+
If the pause reason was `clarification` or `constitution_conflict`:
|
|
858
|
+
|
|
859
|
+
1. Read the user's answer from `$ARGUMENTS` (the text after `--resume`)
|
|
860
|
+
2. Encode the answer into the relevant artifact (spec.md, plan.md, etc.)
|
|
861
|
+
3. Log the decision as a human-resolved entry in `.pipeline-state.json` and `audit-trail.md`
|
|
862
|
+
|
|
863
|
+
### 16.5 Clear Pause and Resume
|
|
864
|
+
|
|
865
|
+
1. Set `pause.active` to `false`
|
|
866
|
+
2. Clear `pause.question`, `pause.options`, `pause.paused_at`
|
|
867
|
+
3. Set pipeline status to `running`
|
|
868
|
+
4. Detect completed phases from state (all phases with status `completed` or `skipped`)
|
|
869
|
+
5. Resume execution from `pause.phase` — re-enter the Sequential Phase Loop (section 13) starting at the paused phase
|
|
870
|
+
|
|
871
|
+
---
|
|
872
|
+
|
|
873
|
+
## 17. Constitution Conflict Detection (FR-009)
|
|
874
|
+
|
|
875
|
+
At **every decision point** throughout the pipeline, validate the proposed action against:
|
|
876
|
+
|
|
877
|
+
1. **micro-constitution.md** — the run-scoped contract (section 3)
|
|
878
|
+
2. **`.spequa/memory/constitution.md`** — the project-level principles
|
|
879
|
+
|
|
880
|
+
### 17.1 Conflict Triggers
|
|
881
|
+
|
|
882
|
+
A constitution conflict exists when:
|
|
883
|
+
|
|
884
|
+
- A proposed implementation violates a constitutional Article
|
|
885
|
+
- A clarification resolution contradicts a constitutional principle
|
|
886
|
+
- A design decision is incompatible with established constraints
|
|
887
|
+
- Scope has changed beyond what the micro-constitution permits
|
|
888
|
+
|
|
889
|
+
### 17.2 Conflict Resolution
|
|
890
|
+
|
|
891
|
+
Constitution conflicts **always trigger PAUSE** regardless of autonomy level. This is non-negotiable.
|
|
892
|
+
|
|
893
|
+
When a conflict is detected:
|
|
894
|
+
|
|
895
|
+
1. Identify the specific Article or principle being violated
|
|
896
|
+
2. Explain the conflict clearly
|
|
897
|
+
3. Present options: modify the approach to comply, or request a constitution amendment
|
|
898
|
+
4. Enter the Pause Handler (section 15) with reason `constitution_conflict`
|
|
899
|
+
|
|
900
|
+
---
|
|
901
|
+
|
|
902
|
+
## 18. Autonomy Level Matrix (FR-012)
|
|
903
|
+
|
|
904
|
+
This matrix governs all decision-making throughout the pipeline:
|
|
905
|
+
|
|
906
|
+
| Scenario | HIGH | MEDIUM | LOW |
|
|
907
|
+
|----------|------|--------|-----|
|
|
908
|
+
| Clarification with codebase evidence (>70% confidence) | Auto-resolve | Auto-resolve | PAUSE |
|
|
909
|
+
| Clarification without strong evidence | Auto-resolve (best guess with rationale) | PAUSE | PAUSE |
|
|
910
|
+
| Architecture decision | Auto-resolve | PAUSE | PAUSE |
|
|
911
|
+
| Constitution conflict | PAUSE (always) | PAUSE (always) | PAUSE (always) |
|
|
912
|
+
| Destructive operation (force push, delete, overwrite) | Check `pause_on_destructive` config | PAUSE | PAUSE |
|
|
913
|
+
|
|
914
|
+
**All auto-resolved decisions** must be logged with: question, answer, confidence, evidence (file:line citations), and timestamp. No silent decisions.
|
|
915
|
+
|
|
916
|
+
---
|
|
917
|
+
|
|
918
|
+
## 19. Audit Trail (FR-015)
|
|
919
|
+
|
|
920
|
+
The audit trail is an append-only Markdown file at `FEATURE_DIR/audit-trail.md`.
|
|
921
|
+
|
|
922
|
+
### 19.1 Phase Entries
|
|
923
|
+
|
|
924
|
+
After each phase completion, append:
|
|
925
|
+
|
|
926
|
+
```markdown
|
|
927
|
+
## Phase N: <name>
|
|
928
|
+
- **Started**: <ISO 8601>
|
|
929
|
+
- **Completed**: <ISO 8601>
|
|
930
|
+
- **Duration**: <HH:MM:SS>
|
|
931
|
+
- **Gate Result**: PASS | FAIL (retry N) | SKIPPED
|
|
932
|
+
- **Artifacts**: <comma-separated list of files produced>
|
|
933
|
+
- **Retry Count**: <N>
|
|
934
|
+
```
|
|
935
|
+
|
|
936
|
+
### 19.2 Decision Entries
|
|
937
|
+
|
|
938
|
+
For auto-resolved decisions:
|
|
939
|
+
|
|
940
|
+
```markdown
|
|
941
|
+
### Decision: <short description>
|
|
942
|
+
- **Phase**: <N>
|
|
943
|
+
- **Question**: <the ambiguity>
|
|
944
|
+
- **Resolution**: Auto-resolved
|
|
945
|
+
- **Answer**: <chosen option>
|
|
946
|
+
- **Confidence**: <HIGH|MEDIUM> (<percentage>)
|
|
947
|
+
- **Evidence**: <file:line citation>
|
|
948
|
+
- **Timestamp**: <ISO 8601>
|
|
949
|
+
```
|
|
950
|
+
|
|
951
|
+
For human-resolved decisions:
|
|
952
|
+
|
|
953
|
+
```markdown
|
|
954
|
+
### Decision: <short description>
|
|
955
|
+
- **Phase**: <N>
|
|
956
|
+
- **Question**: <the ambiguity>
|
|
957
|
+
- **Resolution**: Human-resolved
|
|
958
|
+
- **Options Presented**: <list>
|
|
959
|
+
- **Answer**: <user's choice>
|
|
960
|
+
- **Timestamp**: <ISO 8601>
|
|
961
|
+
```
|
|
962
|
+
|
|
963
|
+
### 19.3 Retry Entries
|
|
964
|
+
|
|
965
|
+
```markdown
|
|
966
|
+
### Retry: Phase <N>, Attempt <M>
|
|
967
|
+
- **Diagnosis**: <root cause>
|
|
968
|
+
- **Strategy**: <approach taken>
|
|
969
|
+
- **Differentiation**: <how this differs from previous attempt>
|
|
970
|
+
- **Outcome**: Resolved | Failed
|
|
971
|
+
- **Timestamp**: <ISO 8601>
|
|
972
|
+
```
|
|
973
|
+
|
|
974
|
+
### 19.4 Dual Persistence
|
|
975
|
+
|
|
976
|
+
All decisions and retries are also written to the corresponding arrays in `.pipeline-state.json` for programmatic access by scripts and resume logic.
|
|
977
|
+
|
|
978
|
+
---
|
|
979
|
+
|
|
980
|
+
## 20. Spec Queue (FR-013)
|
|
981
|
+
|
|
982
|
+
When `--queue` flag is present with comma-separated feature descriptions:
|
|
983
|
+
|
|
984
|
+
### 20.1 Initialize Queue
|
|
985
|
+
|
|
986
|
+
1. Parse the comma-separated descriptions into an ordered list
|
|
987
|
+
2. Create `.pipeline-queue.json` at the repo root:
|
|
988
|
+
|
|
989
|
+
```json
|
|
990
|
+
{
|
|
991
|
+
"queue_id": "queue-<unix_timestamp>",
|
|
992
|
+
"specs": [
|
|
993
|
+
{"input": "<description>", "spec_id": null, "status": "pending", "scorecard_path": null}
|
|
994
|
+
],
|
|
995
|
+
"current_index": 0,
|
|
996
|
+
"halted_reason": null
|
|
997
|
+
}
|
|
998
|
+
```
|
|
999
|
+
|
|
1000
|
+
### 20.2 Process Queue Sequentially
|
|
1001
|
+
|
|
1002
|
+
For each spec in the queue:
|
|
1003
|
+
|
|
1004
|
+
1. Set the spec's status to `running` and update `current_index`
|
|
1005
|
+
2. Run the **full pipeline** (sections 2-12) for this spec independently — its own branch, artifacts, micro-constitution, and scorecard
|
|
1006
|
+
3. After scoring, check the verdict:
|
|
1007
|
+
- **PRODUCTION_READY**: Set spec status to `completed`. Advance to next spec.
|
|
1008
|
+
- **CONDITIONAL_PASS** (after loop-back): Set spec status to `completed`. Advance to next spec.
|
|
1009
|
+
- **Below threshold** (NEEDS_REMEDIATION or CRITICAL_FAILURE): Set spec status to `halted`. Set `halted_reason`. STOP the queue — do not advance to next spec.
|
|
1010
|
+
- **Paused** (clarification needed): Set spec status to `paused`. STOP the queue. User must resume this spec before the queue continues.
|
|
1011
|
+
|
|
1012
|
+
### 20.3 Queue Summary
|
|
1013
|
+
|
|
1014
|
+
After all specs complete (or queue halts), report:
|
|
1015
|
+
|
|
1016
|
+
```text
|
|
1017
|
+
=== QUEUE SUMMARY ===
|
|
1018
|
+
Queue ID: <id>
|
|
1019
|
+
Total Specs: <N>
|
|
1020
|
+
Completed: <N>
|
|
1021
|
+
Failed/Halted: <N>
|
|
1022
|
+
Remaining: <N>
|
|
1023
|
+
|
|
1024
|
+
Spec 1: <description> — PRODUCTION_READY (10/10) — specs/NNN-feature/scorecard.md
|
|
1025
|
+
Spec 2: <description> — HALTED (6/10) — specs/NNN-feature/scorecard.md
|
|
1026
|
+
Spec 3: <description> — PENDING (not started)
|
|
1027
|
+
=====================
|
|
1028
|
+
```
|
|
1029
|
+
|
|
1030
|
+
---
|
|
1031
|
+
|
|
1032
|
+
## 21. Exit Conditions (FR-016)
|
|
1033
|
+
|
|
1034
|
+
The pipeline terminates when ANY of these conditions is met:
|
|
1035
|
+
|
|
1036
|
+
1. **Score meets threshold**: Verdict is PRODUCTION_READY or CONDITIONAL_PASS (after loop-back). Status: `completed`.
|
|
1037
|
+
2. **Max retries exhausted**: A phase failed `max_retries_per_phase` times with escalation. Status: `paused` (awaiting human input).
|
|
1038
|
+
3. **Timeout exceeded**: Wall-clock time exceeds `timeout_minutes`. Status: `paused` (can resume).
|
|
1039
|
+
4. **User abort**: User terminates the session. State is saved; can resume later.
|
|
1040
|
+
5. **NEEDS_REMEDIATION**: Score is 50-below-threshold%. Status: `paused`.
|
|
1041
|
+
6. **CRITICAL_FAILURE**: Score below 50%. Status: `failed`.
|
|
1042
|
+
|
|
1043
|
+
On ANY termination, the pipeline:
|
|
1044
|
+
|
|
1045
|
+
1. Saves current state to `.pipeline-state.json`
|
|
1046
|
+
2. Appends final entry to `audit-trail.md`
|
|
1047
|
+
3. Releases the concurrency lock
|
|
1048
|
+
4. Outputs the Final Report (section below)
|
|
1049
|
+
|
|
1050
|
+
---
|
|
1051
|
+
|
|
1052
|
+
## 22. Behavioral Rules
|
|
1053
|
+
|
|
1054
|
+
These rules are **non-negotiable** and apply throughout all phases:
|
|
1055
|
+
|
|
1056
|
+
1. **NEVER fabricate** requirements, constraints, code patterns, or technical decisions (FR-010). All decisions must be derived from the codebase, the spec, or the user's input.
|
|
1057
|
+
|
|
1058
|
+
2. **NEVER modify the micro-constitution** during a run (FR-008). The only exception is adding Success Criteria after Phase 1 spec generation.
|
|
1059
|
+
|
|
1060
|
+
3. **Save artifacts to disk after EVERY phase** (FR-005). A crash or timeout must lose at most one phase of work.
|
|
1061
|
+
|
|
1062
|
+
4. **All decisions must cite evidence**. Auto-resolved decisions cite codebase evidence (file:line). Human-resolved decisions cite the user's input.
|
|
1063
|
+
|
|
1064
|
+
5. **Phase outputs automatically feed the next phase** (FR-001). No manual transfer, no copy-paste, no agent switching.
|
|
1065
|
+
|
|
1066
|
+
6. **Constitution is non-negotiable**. Never auto-resolve in a way that violates constitution principles. Constitution conflicts always PAUSE — regardless of autonomy level.
|
|
1067
|
+
|
|
1068
|
+
7. **Research before asking**. Always attempt autonomous resolution via codebase research, expert analysis, and pattern matching before pausing for human input.
|
|
1069
|
+
|
|
1070
|
+
8. **Every retry must be different**. Identical re-execution wastes the retry budget. Each attempt must use a measurably different approach.
|
|
1071
|
+
|
|
1072
|
+
9. **Idempotent execution**. If a phase is already complete (per state file), skip it. Never re-execute completed phases during resume.
|
|
1073
|
+
|
|
1074
|
+
10. **Transparency over speed**. Log all decisions, retries, and gate results. The audit trail must be complete enough for post-run review.
|
|
1075
|
+
|
|
1076
|
+
---
|
|
1077
|
+
|
|
1078
|
+
## Pipeline Status Reporting
|
|
1079
|
+
|
|
1080
|
+
At each phase transition, output a compact status line:
|
|
1081
|
+
|
|
1082
|
+
```text
|
|
1083
|
+
[PIPELINE] Phase N/9 COMPLETE: <phase_name> ✓ → Proceeding to Phase N+1: <next_phase>
|
|
1084
|
+
```
|
|
1085
|
+
|
|
1086
|
+
When stopping for human input:
|
|
1087
|
+
|
|
1088
|
+
```text
|
|
1089
|
+
[PIPELINE] Phase N/9 PAUSED: <phase_name> ⏸️ — Human Decision Required
|
|
1090
|
+
```
|
|
1091
|
+
|
|
1092
|
+
When a phase is skipped:
|
|
1093
|
+
|
|
1094
|
+
```text
|
|
1095
|
+
[PIPELINE] Phase N/9 SKIPPED: <phase_name> (reason) → Proceeding to Phase N+1: <next_phase>
|
|
1096
|
+
```
|
|
1097
|
+
|
|
1098
|
+
---
|
|
1099
|
+
|
|
1100
|
+
## Final Report
|
|
1101
|
+
|
|
1102
|
+
After the pipeline terminates (by any exit condition), output:
|
|
1103
|
+
|
|
1104
|
+
```text
|
|
1105
|
+
=== PIPELINE SUMMARY ===
|
|
1106
|
+
Feature: <name>
|
|
1107
|
+
Spec ID: <NNN>
|
|
1108
|
+
Branch: <branch_name>
|
|
1109
|
+
Spec: <spec_path>
|
|
1110
|
+
PR: <pr_url> (or "N/A — pipeline paused at Phase N")
|
|
1111
|
+
Scorecard: <scorecard_path> (or "N/A — pipeline did not reach scoring")
|
|
1112
|
+
Verdict: <PRODUCTION_READY | CONDITIONAL_PASS | NEEDS_REMEDIATION | CRITICAL_FAILURE | PAUSED | TIMED_OUT>
|
|
1113
|
+
Score: <passed>/<applicable>
|
|
1114
|
+
Phases Completed: N/10
|
|
1115
|
+
Auto-Resolved Decisions: X
|
|
1116
|
+
Human Decisions Required: Y
|
|
1117
|
+
Retries Used: Z across M phases
|
|
1118
|
+
Total Duration: HH:MM:SS
|
|
1119
|
+
========================
|
|
1120
|
+
```
|