hatch3r 1.7.5 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -56
- package/dist/cli/index.js +13554 -13329
- package/dist/cli/index.js.map +1 -1
- package/{agents → dist/content/agents}/hatch3r-a11y-auditor.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-ci-watcher.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-context-rules.md +25 -9
- package/{agents → dist/content/agents}/hatch3r-creator.md +17 -16
- package/{agents → dist/content/agents}/hatch3r-dependency-auditor.md +1 -1
- package/{agents → dist/content/agents}/hatch3r-devops.md +3 -3
- package/{agents → dist/content/agents}/hatch3r-fixer.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-handoff-loader.md +12 -12
- package/{agents → dist/content/agents}/hatch3r-handoff-preparer.md +7 -7
- package/{agents → dist/content/agents}/hatch3r-implementer.md +10 -2
- package/{agents → dist/content/agents}/hatch3r-learnings-loader.md +12 -12
- package/{agents → dist/content/agents}/hatch3r-lint-fixer.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-researcher.md +3 -3
- package/{agents → dist/content/agents}/hatch3r-reviewer.md +6 -4
- package/{agents → dist/content/agents}/hatch3r-security-auditor.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-test-writer.md +2 -2
- package/{agents → dist/content/agents}/shared/external-knowledge.md +1 -1
- package/{agents → dist/content/agents}/shared/injection-patterns.md +1 -1
- package/{agents → dist/content/agents}/shared/quality-charter.md +31 -3
- package/{agents → dist/content/agents}/shared/user-content-templates.md +41 -11
- package/{agents → dist/content/agents}/shared/user-question-protocol.md +2 -0
- package/{commands → dist/content/commands}/board/pickup-azure-devops.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-delegation-multi.md +4 -4
- package/{commands → dist/content/commands}/board/pickup-delegation.md +3 -3
- package/{commands → dist/content/commands}/board/pickup-github.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-gitlab.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-post-impl.md +2 -2
- package/{commands → dist/content/commands}/board/shared-azure-devops.md +1 -1
- package/{commands → dist/content/commands}/board/shared-github.md +2 -2
- package/{commands → dist/content/commands}/board/shared-gitlab.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-api-spec.md +8 -1
- package/{commands → dist/content/commands}/hatch3r-benchmark.md +8 -1
- package/{commands → dist/content/commands}/hatch3r-board-fill.md +14 -7
- package/{commands → dist/content/commands}/hatch3r-board-pickup.md +14 -6
- package/{commands → dist/content/commands}/hatch3r-bug-plan.md +12 -5
- package/{commands → dist/content/commands}/hatch3r-codebase-map.md +10 -2
- package/{commands → dist/content/commands}/hatch3r-create.md +68 -15
- package/{commands → dist/content/commands}/hatch3r-debug.md +18 -11
- package/{commands → dist/content/commands}/hatch3r-feature-plan.md +12 -5
- package/{commands → dist/content/commands}/hatch3r-handoff.md +16 -9
- package/{commands → dist/content/commands}/hatch3r-healthcheck.md +5 -1
- package/{commands → dist/content/commands}/hatch3r-hooks.md +16 -12
- package/{commands → dist/content/commands}/hatch3r-learn.md +27 -11
- package/{commands → dist/content/commands}/hatch3r-migration-plan.md +9 -2
- package/{commands → dist/content/commands}/hatch3r-onboard.md +14 -7
- package/{commands → dist/content/commands}/hatch3r-pr-resolve.md +16 -9
- package/{commands → dist/content/commands}/hatch3r-project-spec.md +11 -3
- package/{commands → dist/content/commands}/hatch3r-quick-change.md +14 -7
- package/{commands → dist/content/commands}/hatch3r-refactor-plan.md +11 -4
- package/{commands → dist/content/commands}/hatch3r-report.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-revision.md +14 -7
- package/{commands → dist/content/commands}/hatch3r-roadmap.md +10 -2
- package/{commands → dist/content/commands}/hatch3r-security-audit.md +6 -2
- package/{commands → dist/content/commands}/hatch3r-test-plan.md +12 -5
- package/{commands → dist/content/commands}/hatch3r-workflow.md +18 -10
- package/{commands → dist/content/commands}/revision/revision-delegation.md +2 -2
- package/{commands → dist/content/commands}/revision/revision-quality.md +2 -2
- package/{github-agents → dist/content/github-agents}/hatch3r-docs-agent.md +1 -1
- package/{github-agents → dist/content/github-agents}/hatch3r-lint-agent.md +1 -1
- package/{github-agents → dist/content/github-agents}/hatch3r-security-agent.md +1 -1
- package/{github-agents → dist/content/github-agents}/hatch3r-test-agent.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-ci-failure.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-file-save.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-post-merge.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-pre-commit.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-pre-push.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-session-start.md +3 -3
- package/{rules → dist/content/rules}/hatch3r-accessibility-standards.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-accessibility-standards.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration-detail.md +5 -2
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration-detail.mdc +4 -1
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration.md +27 -4
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration.mdc +26 -3
- package/{rules → dist/content/rules}/hatch3r-ai-evals.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-ai-evals.mdc +2 -1
- package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-api-versioning.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-api-versioning.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-auth-patterns.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-auth-patterns.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-browser-verification.md +6 -10
- package/{rules → dist/content/rules}/hatch3r-browser-verification.mdc +6 -10
- package/{rules → dist/content/rules}/hatch3r-ci-cd.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-ci-cd.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-code-standards.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-component-conventions.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-container-hardening.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-container-hardening.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-contract-testing.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-contract-testing.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-data-classification.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-data-classification.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-deep-context.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-dependency-management.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-dependency-management.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-design-system-detection.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-design-system-detection.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-git-conventions.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-handoff-readiness.md +4 -4
- package/{rules → dist/content/rules}/hatch3r-handoff-readiness.mdc +3 -3
- package/{rules → dist/content/rules}/hatch3r-i18n.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-iteration-summary.md +3 -1
- package/{rules → dist/content/rules}/hatch3r-iteration-summary.mdc +2 -0
- package/{rules → dist/content/rules}/hatch3r-learning-consult.md +7 -7
- package/{rules → dist/content/rules}/hatch3r-learning-consult.mdc +6 -6
- package/{rules → dist/content/rules}/hatch3r-migrations.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-migrations.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-logging.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-logging.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-metrics.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-metrics.mdc +1 -0
- package/{rules/hatch3r-observability-tracing-detail.md → dist/content/rules/hatch3r-observability-tracing.md} +85 -10
- package/{rules/hatch3r-observability-tracing-detail.mdc → dist/content/rules/hatch3r-observability-tracing.mdc} +84 -9
- package/{rules → dist/content/rules}/hatch3r-operability.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-operability.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-passkey-server.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-passkey-server.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-performance-budgets.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-performance-budgets.mdc +1 -1
- package/{rules → dist/content/rules}/hatch3r-resilience-patterns.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-resilience-patterns.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-secrets-management.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-secrets-management.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-security-patterns.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-security-patterns.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-testing.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-testing.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-theming.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.md +4 -4
- package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.mdc +3 -3
- package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.mdc +1 -0
- package/{skills → dist/content/skills}/hatch3r-a11y-audit/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-ai-feature/SKILL.md +2 -0
- package/{skills → dist/content/skills}/hatch3r-api-spec/SKILL.md +68 -0
- package/{skills → dist/content/skills}/hatch3r-architecture-review/SKILL.md +1 -1
- package/{commands/hatch3r-board-groom.md → dist/content/skills/hatch3r-board-groom/SKILL.md} +7 -16
- package/{commands/hatch3r-board-init.md → dist/content/skills/hatch3r-board-init/SKILL.md} +62 -24
- package/{commands/hatch3r-board-refresh.md → dist/content/skills/hatch3r-board-refresh/SKILL.md} +7 -16
- package/{commands/hatch3r-board-shared.md → dist/content/skills/hatch3r-board-shared/SKILL.md} +13 -20
- package/{skills → dist/content/skills}/hatch3r-bug-fix/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-cli-fd/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-cli-fzf/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-cli-gh/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-cli-jq/SKILL.md +7 -3
- package/{skills → dist/content/skills}/hatch3r-cli-ripgrep/SKILL.md +3 -3
- package/dist/content/skills/hatch3r-cli-toolbox/SKILL.md +269 -0
- package/{skills → dist/content/skills}/hatch3r-context-health/SKILL.md +18 -2
- package/{skills → dist/content/skills}/hatch3r-cost-tracking/SKILL.md +59 -7
- package/{skills → dist/content/skills}/hatch3r-customize/SKILL.md +6 -4
- package/{skills → dist/content/skills}/hatch3r-dep-audit/SKILL.md +6 -2
- package/{skills → dist/content/skills}/hatch3r-design-system-detect/SKILL.md +3 -1
- package/{skills → dist/content/skills}/hatch3r-feature/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/azure-devops.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/gitlab-ci.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-handoff-prepare/SKILL.md +9 -9
- package/{skills → dist/content/skills}/hatch3r-handoff-resume/SKILL.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-incident-response/SKILL.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-issue-workflow/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-migration/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-observability-verify/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-perf-audit/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-pr-creation/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-qa-validation/SKILL.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-recipe/SKILL.md +82 -2
- package/{skills → dist/content/skills}/hatch3r-refactor/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-release/SKILL.md +35 -2
- package/{skills → dist/content/skills}/hatch3r-reliability-verify/SKILL.md +2 -0
- package/{skills → dist/content/skills}/hatch3r-ui-ux-verify/SKILL.md +3 -1
- package/{skills → dist/content/skills}/hatch3r-visual-refactor/SKILL.md +1 -1
- package/package.json +13 -22
- package/commands/hatch3r-agent-customize.md +0 -197
- package/commands/hatch3r-command-customize.md +0 -109
- package/commands/hatch3r-context-health.md +0 -142
- package/commands/hatch3r-cost-tracking.md +0 -163
- package/commands/hatch3r-dep-audit.md +0 -184
- package/commands/hatch3r-recipe.md +0 -190
- package/commands/hatch3r-release.md +0 -345
- package/commands/hatch3r-rule-customize.md +0 -129
- package/commands/hatch3r-skill-customize.md +0 -108
- package/prompts/hatch3r-bug-triage.md +0 -158
- package/prompts/hatch3r-code-review.md +0 -134
- package/prompts/hatch3r-pr-description.md +0 -176
- package/rules/hatch3r-observability-tracing.md +0 -87
- package/rules/hatch3r-observability-tracing.mdc +0 -82
- package/rules/hatch3r-observability.md +0 -20
- package/rules/hatch3r-observability.mdc +0 -14
- package/skills/hatch3r-agent-customize/SKILL.md +0 -13
- package/skills/hatch3r-cli-aichat/SKILL.md +0 -84
- package/skills/hatch3r-cli-ast-grep/SKILL.md +0 -85
- package/skills/hatch3r-cli-az-devops/SKILL.md +0 -89
- package/skills/hatch3r-cli-bat/SKILL.md +0 -85
- package/skills/hatch3r-cli-comby/SKILL.md +0 -85
- package/skills/hatch3r-cli-csvkit/SKILL.md +0 -84
- package/skills/hatch3r-cli-delta/SKILL.md +0 -86
- package/skills/hatch3r-cli-difftastic/SKILL.md +0 -84
- package/skills/hatch3r-cli-docker/SKILL.md +0 -89
- package/skills/hatch3r-cli-duckdb/SKILL.md +0 -84
- package/skills/hatch3r-cli-glab/SKILL.md +0 -89
- package/skills/hatch3r-cli-lazygit/SKILL.md +0 -78
- package/skills/hatch3r-cli-llm/SKILL.md +0 -84
- package/skills/hatch3r-cli-miller/SKILL.md +0 -84
- package/skills/hatch3r-cli-mods/SKILL.md +0 -84
- package/skills/hatch3r-cli-overview/SKILL.md +0 -60
- package/skills/hatch3r-cli-playwright/SKILL.md +0 -89
- package/skills/hatch3r-cli-podman/SKILL.md +0 -84
- package/skills/hatch3r-cli-rtk/SKILL.md +0 -91
- package/skills/hatch3r-cli-sd/SKILL.md +0 -85
- package/skills/hatch3r-cli-stagehand/SKILL.md +0 -79
- package/skills/hatch3r-cli-taplo/SKILL.md +0 -84
- package/skills/hatch3r-cli-xsv/SKILL.md +0 -89
- package/skills/hatch3r-cli-yq/SKILL.md +0 -85
- package/skills/hatch3r-cli-zstd/SKILL.md +0 -85
- package/skills/hatch3r-command-customize/SKILL.md +0 -13
- package/skills/hatch3r-rule-customize/SKILL.md +0 -13
- package/skills/hatch3r-skill-customize/SKILL.md +0 -13
- /package/{agents → dist/content/agents}/hatch3r-architect.md +0 -0
- /package/{agents → dist/content/agents}/hatch3r-docs-writer.md +0 -0
- /package/{agents → dist/content/agents}/hatch3r-perf-profiler.md +0 -0
- /package/{agents → dist/content/agents}/modes/architecture.md +0 -0
- /package/{agents → dist/content/agents}/modes/boundary-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/codebase-impact.md +0 -0
- /package/{agents → dist/content/agents}/modes/complexity-risk.md +0 -0
- /package/{agents → dist/content/agents}/modes/coverage-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/current-state.md +0 -0
- /package/{agents → dist/content/agents}/modes/feature-design.md +0 -0
- /package/{agents → dist/content/agents}/modes/impact-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/library-docs.md +0 -0
- /package/{agents → dist/content/agents}/modes/migration-path.md +0 -0
- /package/{agents → dist/content/agents}/modes/prior-art.md +0 -0
- /package/{agents → dist/content/agents}/modes/refactoring-strategy.md +0 -0
- /package/{agents → dist/content/agents}/modes/regression.md +0 -0
- /package/{agents → dist/content/agents}/modes/requirements-elicitation.md +0 -0
- /package/{agents → dist/content/agents}/modes/risk-assessment.md +0 -0
- /package/{agents → dist/content/agents}/modes/risk-prioritization.md +0 -0
- /package/{agents → dist/content/agents}/modes/root-cause.md +0 -0
- /package/{agents → dist/content/agents}/modes/similar-implementation.md +0 -0
- /package/{agents → dist/content/agents}/modes/symptom-trace.md +0 -0
- /package/{agents → dist/content/agents}/modes/test-pattern.md +0 -0
- /package/{agents → dist/content/agents}/modes/user-flows.md +0 -0
- /package/{agents → dist/content/agents}/shared/efficiency-patterns.md +0 -0
- /package/{agents → dist/content/agents}/shared/prompt-structure.md +0 -0
- /package/{checks → dist/content/checks}/README.md +0 -0
- /package/{checks → dist/content/checks}/accessibility.md +0 -0
- /package/{checks → dist/content/checks}/code-quality.md +0 -0
- /package/{checks → dist/content/checks}/performance.md +0 -0
- /package/{checks → dist/content/checks}/security.md +0 -0
- /package/{checks → dist/content/checks}/testing.md +0 -0
- /package/{commands → dist/content/commands}/board/pickup-modes.md +0 -0
- /package/{commands → dist/content/commands}/board/shared-board-overview.md +0 -0
- /package/{commands → dist/content/commands}/revision/revision-board-integration.md +0 -0
- /package/{commands → dist/content/commands}/revision/revision-modes.md +0 -0
- /package/{mcp → dist/content/mcp}/mcp.json +0 -0
- /package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-api-design.md +0 -0
- /package/{rules → dist/content/rules}/hatch3r-api-design.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-code-standards.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-component-conventions.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-deep-context.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-feature-flags.md +0 -0
- /package/{rules → dist/content/rules}/hatch3r-feature-flags.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-git-conventions.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-i18n.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-progressive-delivery.md +0 -0
- /package/{rules → dist/content/rules}/hatch3r-progressive-delivery.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-theming.mdc +0 -0
- /package/{skills → dist/content/skills}/hatch3r-a11y-audit/references/manual-audit-checklist.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-ci-pipeline/SKILL.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-issue-workflow/references/delegation-patterns.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-logical-refactor/SKILL.md +0 -0
|
@@ -4,7 +4,7 @@ type: agent
|
|
|
4
4
|
description: Expert code reviewer for the project. Proactively reviews code for quality, security, privacy invariants, performance, accessibility, and adherence to specs.
|
|
5
5
|
protected: true
|
|
6
6
|
model: standard
|
|
7
|
-
tags: [
|
|
7
|
+
tags: [review, floor:protocol]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
9
9
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
10
10
|
efficiency_tier: standard
|
|
@@ -36,7 +36,7 @@ Prompt structure follows `agents/shared/prompt-structure.md` — `<task>`, `<con
|
|
|
36
36
|
|
|
37
37
|
## Project Quality Checks
|
|
38
38
|
|
|
39
|
-
Before completing a review, consult the project quality checks in
|
|
39
|
+
Before completing a review, consult the project quality checks in `checks/` (code-quality.md, security.md, testing.md) and verify the implementation meets the defined standards. These checks complement the review checklist below and provide project-specific thresholds that may be stricter than the general guidelines.
|
|
40
40
|
|
|
41
41
|
</context>
|
|
42
42
|
|
|
@@ -50,7 +50,7 @@ Before reviewing, scan `docs/specs/` (if present) for specifications relevant to
|
|
|
50
50
|
|
|
51
51
|
## Review Checklist
|
|
52
52
|
|
|
53
|
-
Verify compliance with
|
|
53
|
+
Verify compliance with `rules/hatch3r-security-patterns.md`, `rules/hatch3r-code-standards.md`, and `rules/hatch3r-testing.md` across all review items:
|
|
54
54
|
|
|
55
55
|
1. **Correctness:** Does the code do what the issue/spec requires?
|
|
56
56
|
2. **Privacy invariants:** No sensitive content in events/cloud data. Metadata allowlisted. Redaction defaults. Sensitive collections deny-all client access.
|
|
@@ -79,7 +79,7 @@ Verify compliance with `.agents/rules/hatch3r-security-patterns.md`, `.agents/ru
|
|
|
79
79
|
- **SLO + burn-rate alert:** user-facing route has an SLO file and a multi-window multi-burn-rate alert (2%/5%/10%); raw threshold alerts on a critical route flagged as Warning.
|
|
80
80
|
- **Error tracker wired:** unhandled errors reach Sentry-class tooling with `release` tag, source maps, and PII scrubber. Releases without the release tag are Critical.
|
|
81
81
|
|
|
82
|
-
Cross-reference: `skills/hatch3r-observability-verify` and `rules/hatch3r-observability.md`. Findings reuse the severity vocabulary above.
|
|
82
|
+
Cross-reference: `skills/hatch3r-observability-verify` and `rules/hatch3r-observability-metrics.md`. Findings reuse the severity vocabulary above.
|
|
83
83
|
|
|
84
84
|
14. **migration.review:** Evaluate schema and event-schema changes for safe deploy semantics:
|
|
85
85
|
- **Expand-contract pattern:** the diff stages expand, migrate, contract across separate deploys; a single-deploy destructive change is Critical.
|
|
@@ -260,6 +260,8 @@ This agent participates in the Phase 3 review loop (see `hatch3r-agent-orchestra
|
|
|
260
260
|
|
|
261
261
|
Accurate severity classification directly affects loop termination. Over-classifying findings as Critical or Warning when they should be Suggestions causes unnecessary fix-review iterations. Under-classifying causes real issues to slip through. Use structured reasoning (above) when severity is non-obvious.
|
|
262
262
|
|
|
263
|
+
After the loop exits clean, Phase 4 specialists run bounded by `max_phase4_parallel` (default `3`, env-overridable via `HATCH3R_MAX_PHASE4_PARALLEL`). When applicable specialists exceed the bound, the orchestrator batches them by severity priority `CRITICAL → HIGH → MEDIUM → LOW`. Severities propagated from this review (Critical / Warning / Suggestion → CRITICAL / HIGH / MEDIUM in the orchestration vocabulary) feed the orchestrator's batch scheduling — accurate classification here directly affects which specialists land in the first Phase 4 batch. See `rules/hatch3r-agent-orchestration.md` Phase 4 — Final Quality for batching semantics.
|
|
264
|
+
|
|
263
265
|
<rules>
|
|
264
266
|
|
|
265
267
|
## Boundaries
|
|
@@ -4,7 +4,7 @@ type: agent
|
|
|
4
4
|
description: Security analyst who audits database rules, cloud functions, event metadata, and data flows. Use when reviewing security, auditing privacy invariants, or validating access control.
|
|
5
5
|
protected: true
|
|
6
6
|
model: standard
|
|
7
|
-
tags: [review, security]
|
|
7
|
+
tags: [review, floor:security]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
9
9
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
10
10
|
efficiency_tier: standard
|
|
@@ -28,7 +28,7 @@ Before any action, scan the brief for unresolved questions in scope, acceptance
|
|
|
28
28
|
|
|
29
29
|
## Critical Invariants to Enforce
|
|
30
30
|
|
|
31
|
-
Follow the security patterns defined in
|
|
31
|
+
Follow the security patterns defined in `rules/hatch3r-security-patterns.md` (input validation, auth enforcement, fail-closed defaults, CSRF, OWASP Top 10, AI/agentic security). In addition, enforce these project-specific invariants:
|
|
32
32
|
|
|
33
33
|
- **Data pipeline:** No sensitive content anywhere in the data pipeline
|
|
34
34
|
- **Metadata:** Event metadata validated against allowlist (client AND server)
|
|
@@ -4,7 +4,7 @@ type: agent
|
|
|
4
4
|
description: QA engineer who writes deterministic, isolated tests. Covers unit, integration, E2E, security rules, and contract tests.
|
|
5
5
|
model: standard
|
|
6
6
|
protected: true
|
|
7
|
-
tags: [
|
|
7
|
+
tags: [review, floor:protocol]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
9
9
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
10
10
|
efficiency_tier: standard
|
|
@@ -37,7 +37,7 @@ Before any action, scan the brief for unresolved questions in scope, acceptance
|
|
|
37
37
|
|
|
38
38
|
## Test Standards
|
|
39
39
|
|
|
40
|
-
Follow the full testing standards defined in
|
|
40
|
+
Follow the full testing standards defined in `rules/hatch3r-testing.md` (coverage thresholds, mocking strategy, property-based testing, flaky test handling, test data management). Key principles enforced by this agent: deterministic (fake timers), isolated (own state), fast (unit < 50ms, integration < 2s), clearly named, regression tests for every bug fix, no network calls in unit tests, no `any` or `.skip` without a linked issue.
|
|
41
41
|
|
|
42
42
|
## Commands
|
|
43
43
|
|
|
@@ -10,7 +10,7 @@ cache_friendly: true
|
|
|
10
10
|
See [Tooling Hierarchy](../../rules/hatch3r-tooling-hierarchy.md) for the canonical reference (Platform MCP-first, documentation MCP, web research, browser verification, knowledge augmentation priority). Summary:
|
|
11
11
|
|
|
12
12
|
- Follow the tooling hierarchy (specs > codebase > Context7 MCP > web research).
|
|
13
|
-
- Use the project's configured platform CLI (check `platform` in `.
|
|
13
|
+
- Use the project's configured platform CLI (check `platform` in `.hatch3r/hatch.json`): GitHub (`gh`), Azure DevOps (`az devops` / `az boards` / `az repos`), GitLab (`glab`).
|
|
14
14
|
- Fall back to platform MCP only for operations not covered by the CLI (e.g., sub-issue management, project field mutations).
|
|
15
15
|
|
|
16
16
|
## Context7 MCP Protocol
|
|
@@ -41,7 +41,7 @@ Adding a pipeline pattern: append a new `P-PIPE-NN` row here, add the RegExp ent
|
|
|
41
41
|
|
|
42
42
|
### Section B — Learnings Storage Patterns (learningsValidation.ts)
|
|
43
43
|
|
|
44
|
-
Scope: content written to `.
|
|
44
|
+
Scope: content written to `.hatch3r/learnings/` files. These patterns defend against ASI06 (memory & context poisoning) — poisoned learnings load into every future session via the learnings-loader.
|
|
45
45
|
|
|
46
46
|
| Pattern ID | Description | Regex (code canonical form) | ASI control |
|
|
47
47
|
|-----------|-------------|-----------------------------|-------------|
|
|
@@ -6,6 +6,8 @@ efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
|
6
6
|
cache_friendly: true
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
> Last updated: 2026-05-26
|
|
10
|
+
|
|
9
11
|
## Agent Quality Charter
|
|
10
12
|
|
|
11
13
|
All agents operating under hatch3r should embody these behavioral standards. This charter is the single source of truth for agent conduct — referenced by content artifacts and verified by the weekly audit cycle.
|
|
@@ -60,6 +62,8 @@ Every recommendation should account for its impact on:
|
|
|
60
62
|
|
|
61
63
|
When stakeholder interests conflict, note the tradeoff explicitly and recommend based on the project's stated priorities.
|
|
62
64
|
|
|
65
|
+
Apply the subset of stakeholders relevant to the project's declared maturity tier (solo / team / scaleup / enterprise per `hatch3r config maturity`). **Solo:** end user + maintaining developer (you). **Team:** + team lead. **Scaleup:** + ops team. **Enterprise:** + compliance + security review. When the tier is unknown, default to solo and ask via `agents/shared/user-question-protocol.md`.
|
|
66
|
+
|
|
63
67
|
### 6. Fail Gracefully
|
|
64
68
|
|
|
65
69
|
When prerequisites are missing, inputs are invalid, or unexpected conditions arise:
|
|
@@ -98,7 +102,11 @@ When modifying code that is consumed by other modules, agents, or external syste
|
|
|
98
102
|
- If a contract change is necessary, document it explicitly in the structured output and flag for reviewer attention.
|
|
99
103
|
- Prefer additive changes (new optional fields, overloaded signatures) over breaking changes.
|
|
100
104
|
|
|
101
|
-
### 10.
|
|
105
|
+
### 10. Consult Prior Learnings
|
|
106
|
+
|
|
107
|
+
Before answering project-specific questions about prior work, decisions, or resolved issues, read `.hatch3r/learnings/INDEX.md` (when present) and any topic-applies index entries matched against the current task. Cite the consulted entry IDs in the structured output. Implementer + Reviewer + Researcher agents are bound; other roles consult when context applies.
|
|
108
|
+
|
|
109
|
+
### 11. Standardized Iteration Summary
|
|
102
110
|
|
|
103
111
|
Every user-facing iteration ends with the canonical Iteration Summary block defined in `rules/hatch3r-iteration-summary.md`.
|
|
104
112
|
|
|
@@ -106,6 +114,26 @@ Required fields: Status (closed enum: SUCCESS | PARTIAL | FAILED | BLOCKED), Out
|
|
|
106
114
|
|
|
107
115
|
Never substitute a prose paragraph for the block. Never silently skip Not Done — if scope was fully completed, write `None — full scope completed`. Never inflate confidence — if you did not verify, say medium and name the unknown.
|
|
108
116
|
|
|
117
|
+
### 12. Anti-Duplication Procedure
|
|
118
|
+
|
|
119
|
+
Before writing implementation code: run a codebase pattern search (grep for similar function names, similar type shapes, similar comment headers); report findings in the structured output. After writing: run a duplication scan (jscpd or equivalent) against the affected directories; flag any block matching ≥30 lines or ≥80% similarity with existing code. Refactor or justify before merge; silent duplication is a P4 violation.
|
|
120
|
+
|
|
121
|
+
### 13. Adversarial Thinking
|
|
122
|
+
|
|
123
|
+
For any non-trivial design choice, hold an internal adversarial review: what is the strongest case AGAINST this approach? What edge case breaks it? What stakeholder loses under this choice? Surface the counter-argument in the structured output alongside the chosen approach.
|
|
124
|
+
|
|
125
|
+
### 14. Severity Discipline
|
|
126
|
+
|
|
127
|
+
When classifying issues (bugs, code smells, design concerns), apply the severity taxonomy from `governance/AUDIT.md` §Severity Taxonomy (Critical / High / Medium / Low / Info). Calibrate against blast radius + reversibility + user impact. Critical reserved for production-blocking; Low/Info for cosmetic-only.
|
|
128
|
+
|
|
129
|
+
### 15. Currency Verification
|
|
130
|
+
|
|
131
|
+
Every external claim (library version, API behavior, platform feature) is verified against current official documentation (≤180 days). When sources conflict, prefer the publication with the most recent access date. CLI tools (`gh`, `curl`, `jq`) preferred over training-data recall.
|
|
132
|
+
|
|
133
|
+
### 16. Senior-Engineer Outside-In Posture
|
|
134
|
+
|
|
135
|
+
Approach every task from the perspective of a senior engineer with an outside-in user-facing perspective: the user judges by user-visible quality (UI/UX, performance, error recovery), not internal cleverness. Solve for user-visible quality first; refactor for maintainability second. When trade-offs surface between internal elegance and user-facing correctness, choose user-facing correctness.
|
|
136
|
+
|
|
109
137
|
### UI/UX quality (for agent-produced output in end-user projects)
|
|
110
138
|
|
|
111
139
|
When an agent produces UI for an end-user project, the charter binds it to these criteria. Each is measurable; each is a regression if missed.
|
|
@@ -123,8 +151,8 @@ Cross-reference: this section is audited under D10 SA10.9 (`governance/audit/dom
|
|
|
123
151
|
|
|
124
152
|
When an agent produces a service that handles a request, the charter binds it to these criteria. Each is measurable.
|
|
125
153
|
|
|
126
|
-
- **OpenTelemetry spans on request path:** every inbound request and every outbound call (DB, HTTP, queue, RPC) emits an OTel span with `trace_id` and `span_id` propagated end-to-end; instrumented-route ratio = 100% (no silent paths). Reference `rules/hatch3r-observability.md`.
|
|
127
|
-
- **Structured logs with trace correlation:** every log line is JSON, carries `trace_id`, includes service name + version + environment, and uses log levels mapped to severity. Stack traces emitted on `error`. Reference `rules/hatch3r-observability.md`.
|
|
154
|
+
- **OpenTelemetry spans on request path:** every inbound request and every outbound call (DB, HTTP, queue, RPC) emits an OTel span with `trace_id` and `span_id` propagated end-to-end; instrumented-route ratio = 100% (no silent paths). Reference `rules/hatch3r-observability-tracing.md` and `rules/hatch3r-observability-logging.md`.
|
|
155
|
+
- **Structured logs with trace correlation:** every log line is JSON, carries `trace_id`, includes service name + version + environment, and uses log levels mapped to severity. Stack traces emitted on `error`. Reference `rules/hatch3r-observability-tracing.md` and `rules/hatch3r-observability-logging.md`.
|
|
128
156
|
- **RED + USE metrics on user-facing services:** Rate, Errors, Duration per route plus Utilization, Saturation, Errors per resource. Histograms over averages on latency.
|
|
129
157
|
- **SLO with multi-window multi-burn-rate alerts:** every user-facing service declares an availability + latency SLO; alerts use the 2%/5%/10% multi-window multi-burn-rate pattern (Google SRE workbook), not raw threshold alerts.
|
|
130
158
|
- **Error tracker with PII scrubbing:** Sentry-class tooling with source-map upload, release tag, environment tag, and an allowlist scrubber for known PII fields before egress.
|
|
@@ -12,7 +12,7 @@ Canonical reference for the body and frontmatter shapes `hatch3r-creator` produc
|
|
|
12
12
|
|
|
13
13
|
### 1. Agent Skeleton
|
|
14
14
|
|
|
15
|
-
**Path:** `.
|
|
15
|
+
**Path:** `.hatch3r/overrides/agents/<NAME>.md`. **Required:** `id`, `description`, `model`, `tags`. **Optional:** `protected` (always `false` for user agents), `quality_charter` (auto-injected), `adapters` (restricts adapter propagation when present).
|
|
16
16
|
|
|
17
17
|
```yaml
|
|
18
18
|
---
|
|
@@ -55,11 +55,36 @@ Prompt structure follows `agents/shared/prompt-structure.md` — `<task>`, `<con
|
|
|
55
55
|
- **Always:** <ALWAYS-1>
|
|
56
56
|
- **Never:** <NEVER-1>
|
|
57
57
|
</rules>
|
|
58
|
+
|
|
59
|
+
## Confidence Expression
|
|
60
|
+
Per `agents/shared/quality-charter.md` §1 and `governance/audit/templates/rigor-contract.md`, rate every recommendation and decision as **high**, **medium**, or **low** confidence and name the basis (direct measurement, sampled observation, inference from analogue).
|
|
61
|
+
|
|
62
|
+
- **High:** Verified against the specific code/document path read this turn (<FILE-OR-FIXTURE-VERIFIED>).
|
|
63
|
+
- **Medium:** Pattern-based on convention or analogue (<NAMED-PATTERN-OR-ANALOGUE>); not fully traced.
|
|
64
|
+
- **Low:** Best professional judgment without verification (<UNKNOWN-OR-MISSING-INPUT>); recommend human review before acting.
|
|
65
|
+
|
|
66
|
+
Emit confidence in the structured result block above. Dropping the field is a charter violation.
|
|
67
|
+
|
|
68
|
+
## Failure Modes
|
|
69
|
+
| Failure | Status | Recovery |
|
|
70
|
+
|---|---|---|
|
|
71
|
+
| <KNOWN-FAILURE-1> | BLOCKED | <RECOVERY-1> |
|
|
72
|
+
| <KNOWN-FAILURE-2> | PARTIAL | <RECOVERY-2> |
|
|
73
|
+
| Ambiguous input that maps to ≥2 reasonable interpretations | BLOCKED | Apply `agents/shared/user-question-protocol.md` before any write. |
|
|
74
|
+
| Required input missing | BLOCKED | Surface a single multiple-choice question naming the missing field and a safe default. |
|
|
75
|
+
| Underlying tool error (filesystem, network, sub-agent timeout) | BLOCKED | Surface the error verbatim; do not silent-retry. |
|
|
76
|
+
|
|
77
|
+
## Quality Charter
|
|
78
|
+
This agent inherits `agents/shared/quality-charter.md` via the frontmatter `quality_charter:` field. The charter binds: §1 confidence levels, §4 root-cause reporting, §6 fail-gracefully, §7 measurable criteria, §8 escalate-ambiguity-early, §10 standardized iteration summary. List below any agent-specific section overrides — if none, write `None — full charter applies`:
|
|
79
|
+
|
|
80
|
+
- <CHARTER-OVERRIDE-OR-NONE>
|
|
58
81
|
```
|
|
59
82
|
|
|
83
|
+
The three sections above (Confidence Expression, Failure Modes, Quality Charter) are required on every user-authored agent. `hatch3r-creator` injects placeholders during composition and reports `gentleWarnings` when any section is missing or left unsubstituted at save time.
|
|
84
|
+
|
|
60
85
|
### 2. Skill Skeleton
|
|
61
86
|
|
|
62
|
-
**Path:** `.
|
|
87
|
+
**Path:** `.hatch3r/overrides/skills/<NAME>/SKILL.md` inside a new directory created via `mkdir -p`. The layout matches the canonical pattern at `skills/hatch3r-<name>/SKILL.md`. **Required:** `id`, `description`, `tags`. **Optional:** `quality_charter` (auto-injected).
|
|
63
88
|
|
|
64
89
|
```yaml
|
|
65
90
|
---
|
|
@@ -100,7 +125,7 @@ Recommended step count: 3-7. Skills with more than 7 steps trigger a gentle warn
|
|
|
100
125
|
|
|
101
126
|
### 3. Rule Skeleton
|
|
102
127
|
|
|
103
|
-
**Path:** `.
|
|
128
|
+
**Path:** `.hatch3r/overrides/rules/<NAME>.md` plus the auto-generated companion `.hatch3r/overrides/rules/<NAME>.mdc`. The `.md` is canonical; `.mdc` is generated by `saveUserContent` using the `.md → .mdc` scope transform from `rules/hatch3r-content-authoring.md`. **Required:** `id`, `type`, `description`, `scope`, `tags`. **Required when scope=conditional:** `globs`. **Optional:** `precedence` (default `normal`), `quality_charter` (auto-injected).
|
|
104
129
|
|
|
105
130
|
Three scope shapes (pick one):
|
|
106
131
|
|
|
@@ -143,10 +168,10 @@ The body bytes of `.md` and `.mdc` must match exactly (paired-file parity is a s
|
|
|
143
168
|
|
|
144
169
|
### 4. Command Skeleton
|
|
145
170
|
|
|
146
|
-
**Path:** `.
|
|
171
|
+
**Path:** `.hatch3r/overrides/commands/<NAME>.md`. **Required:** `id`, `type`, `description`, `orchestrator`, `tags`. **Required when orchestrator=true:** `agentPipeline` (non-empty array). **Optional:** `quality_charter` (auto-injected). Two variants follow; pick by the `orchestrator` value.
|
|
147
172
|
|
|
148
173
|
```yaml
|
|
149
|
-
# 4a. Inline command — orchestrator: false. Modeled after commands/hatch3r-
|
|
174
|
+
# 4a. Inline command — orchestrator: false. Modeled after commands/hatch3r-debug.md.
|
|
150
175
|
---
|
|
151
176
|
id: <NAME>
|
|
152
177
|
type: command
|
|
@@ -158,7 +183,7 @@ quality_charter: agents/shared/quality-charter.md
|
|
|
158
183
|
```
|
|
159
184
|
|
|
160
185
|
```yaml
|
|
161
|
-
# 4b. Orchestrator command — orchestrator: true. Modeled after commands/hatch3r-board-
|
|
186
|
+
# 4b. Orchestrator command — orchestrator: true. Modeled after commands/hatch3r-board-fill.md.
|
|
162
187
|
---
|
|
163
188
|
id: <NAME>
|
|
164
189
|
type: command
|
|
@@ -190,9 +215,12 @@ This command runs as a single orchestrator without sub-agent delegation.
|
|
|
190
215
|
- <GUARDRAIL-1>
|
|
191
216
|
```
|
|
192
217
|
|
|
193
|
-
Body skeleton — 4b orchestrator (Phase 1 collect, Phase 2 delegate, Phase 3 housekeeping):
|
|
218
|
+
Body skeleton — 4b orchestrator (Step 0 detect ambiguity, Phase 1 collect, Phase 2 delegate, Phase 3 housekeeping):
|
|
194
219
|
|
|
195
220
|
```markdown
|
|
221
|
+
## §0 Detect Ambiguity (P8 B1)
|
|
222
|
+
Before any action, scan the user's request for unresolved questions in scope, target artifact, irreversibility, or constraint conflicts (multiple matching files, missing acceptance criteria, ambiguous "small" boundary, conflicting requirements). If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md` — do not proceed under silent assumption. This is the default path, not an exception. Acceptable to proceed without asking ONLY when scope is single-target, single-concern, and the brief alone is testable. ASK rules in Phase 1 remain in force for residual ambiguity discovered mid-workflow.
|
|
223
|
+
|
|
196
224
|
## Agent Pipeline
|
|
197
225
|
This command runs as an orchestrator. After collecting inputs in Phase 1, it delegates to <AGENT-ID-1> via the Task tool.
|
|
198
226
|
# <TITLE>
|
|
@@ -211,11 +239,13 @@ Use the Task tool to invoke <AGENT-ID-1>. Pass collected slots as structured inp
|
|
|
211
239
|
- <GUARDRAIL-1>
|
|
212
240
|
```
|
|
213
241
|
|
|
242
|
+
The §0 block is required on every user-authored orchestrator command per CONSTITUTION §2 P8 B1 (Clarification-First, Default-Path). It must reference `agents/shared/user-question-protocol.md` verbatim — `hatch3r-creator` rejects orchestrator commands whose §0 block is missing the reference (strict gate, see D20 SA20.1 audit checklist).
|
|
243
|
+
|
|
214
244
|
The strict gate `validateCommandOrchestratorFrontmatter` (`src/cli/commands/validate.ts:171`) rejects `orchestrator: true` without a non-empty `agentPipeline` array.
|
|
215
245
|
|
|
216
246
|
### 5. Hook Skeleton
|
|
217
247
|
|
|
218
|
-
**Path:** `.
|
|
248
|
+
**Path:** `.hatch3r/overrides/hooks/<NAME>.md`. **Required:** `id`, `type`, `event`, `agent`, `description`, `tags`. **Optional:** `globs` (file-save filtering), `condition`, `quality_charter` (auto-injected). **Event enum:** `pre-commit | post-merge | ci-failure | file-save | session-start | pre-push`, enforced by `isValidHookEvent` (`src/hooks/types.ts:30`).
|
|
219
249
|
|
|
220
250
|
```yaml
|
|
221
251
|
---
|
|
@@ -244,14 +274,14 @@ When this hook fires, the assigned agent should:
|
|
|
244
274
|
<DESCRIBES-WHAT-THE-AGENT-RETURNS-OR-WRITES>
|
|
245
275
|
```
|
|
246
276
|
|
|
247
|
-
The `agent` field must reference an existing agent — canonical (e.g., `lint-fixer` resolves to `agents/hatch3r-lint-fixer.md`) or under `.
|
|
277
|
+
The `agent` field must reference an existing agent — canonical (e.g., `lint-fixer` resolves to `agents/hatch3r-lint-fixer.md`) or under `.hatch3r/overrides/agents/`. Missing references are rejected at strict-gate time.
|
|
248
278
|
|
|
249
279
|
## Reference Implementations
|
|
250
280
|
|
|
251
|
-
For each user type, mirror the canonical shape below — minus the `hatch3r-` filename prefix; the user-tier path is always under `.
|
|
281
|
+
For each user type, mirror the canonical shape below — minus the `hatch3r-` filename prefix; the user-tier path is always under `.hatch3r/overrides/{type}/`:
|
|
252
282
|
|
|
253
283
|
- **Agent:** `agents/hatch3r-implementer.md` (full body) or `agents/hatch3r-fixer.md` (compact body).
|
|
254
284
|
- **Skill:** `skills/hatch3r-bug-fix/SKILL.md` or `skills/hatch3r-feature/SKILL.md`.
|
|
255
285
|
- **Rule:** `rules/hatch3r-deep-context.md` (`scope: always`) or `rules/hatch3r-component-conventions.md` (`scope: conditional`).
|
|
256
|
-
- **Command:** `commands/hatch3r-
|
|
286
|
+
- **Command:** `commands/hatch3r-debug.md` (inline) or `commands/hatch3r-board-fill.md` (orchestrator).
|
|
257
287
|
- **Hook:** `hooks/hatch3r-pre-commit.md` (with globs) or `hooks/hatch3r-session-start.md` (always-fire).
|
|
@@ -6,6 +6,8 @@ tags: [shared, ux, p1, p4]
|
|
|
6
6
|
cache_friendly: true
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
> Last updated: 2026-05-26
|
|
10
|
+
|
|
9
11
|
## Purpose
|
|
10
12
|
|
|
11
13
|
This protocol defines how hatch3r agents and commands surface clarifying or triage questions to the user across the 15 supported AI coding platforms. It is the single source of truth for the *how* of asking; the *whether* is governed by [quality-charter §3 "Question Unclear Requirements"](./quality-charter.md) and §8 "Escalate Ambiguity Early". Files that reference this protocol: the requirements-elicitation mode (`agents/modes/requirements-elicitation.md`), the five ASK-checkpoint commands, and the four ask-prone agents — researcher, fixer, architect, implementer.
|
|
@@ -56,7 +56,7 @@ Follow the **Azure Boards Work Item State Sync** from `commands/board/shared-azu
|
|
|
56
56
|
**Create PR:**
|
|
57
57
|
`az repos pr create --org https://dev.azure.com/{namespace} --project {project} --source-branch {branch} --target-branch {base} --title "..." --description "..."` (fall back to `create_pull_request` MCP).
|
|
58
58
|
|
|
59
|
-
`{base}` = `board.defaultBranch` from `.
|
|
59
|
+
`{base}` = `board.defaultBranch` from `.hatch3r/hatch.json` (fallback: `"main"`).
|
|
60
60
|
|
|
61
61
|
**Link PR to epic:**
|
|
62
62
|
`az boards work-item relation add --id {epic_id} --relation-type "ArtifactLink" --target-id {pr_id}` or link via PR description.
|
|
@@ -78,8 +78,8 @@ For each dependency level, starting at Level 1:
|
|
|
78
78
|
- **Blast radius data** from enhanced `codebase-impact` (Tier 3) — transitive dependency trace and API consumer map.
|
|
79
79
|
- Documentation references relevant to this sub-issue.
|
|
80
80
|
- Instruction to follow the hatch3r-implementer agent protocol.
|
|
81
|
-
- All `scope: always` rule directives from
|
|
82
|
-
- Relevant learnings from `.
|
|
81
|
+
- All `scope: always` rule directives from `rules/` — subagents do not inherit rules automatically.
|
|
82
|
+
- Relevant learnings from `.hatch3r/learnings/` (from Step 6.pre).
|
|
83
83
|
- Instruction to use GitHub MCP for issue reads, and follow the project's tooling hierarchy for external knowledge augmentation.
|
|
84
84
|
- Explicit instruction: do NOT create branches, commits, or PRs.
|
|
85
85
|
- Confidence expression requirement: rate every recommendation and finding as high/medium/low confidence per the quality charter (`agents/shared/quality-charter.md`). High = verified against current code. Medium = pattern-based, not fully verified. Low = best judgment, recommend human review.
|
|
@@ -147,8 +147,8 @@ For each dependency level, starting at Level 1:
|
|
|
147
147
|
- **Blast radius data** from enhanced `codebase-impact` (Tier 3).
|
|
148
148
|
- Documentation references relevant to this issue.
|
|
149
149
|
- Instruction to follow the **hatch3r-implementer agent protocol**.
|
|
150
|
-
- All `scope: always` rule directives from
|
|
151
|
-
- Relevant learnings from `.
|
|
150
|
+
- All `scope: always` rule directives from `rules/` — subagents do not inherit rules automatically.
|
|
151
|
+
- Relevant learnings from `.hatch3r/learnings/` (from Step 6.pre).
|
|
152
152
|
- Explicit instruction: do NOT create branches, commits, or PRs.
|
|
153
153
|
- Confidence expression requirement: rate every recommendation and finding as high/medium/low confidence per the quality charter (`agents/shared/quality-charter.md`). High = verified against current code. Medium = pattern-based, not fully verified. Low = best judgment, recommend human review.
|
|
154
154
|
|
|
@@ -57,8 +57,8 @@ The implementer sub-agent prompt MUST include:
|
|
|
57
57
|
- **Blast radius data** from enhanced `codebase-impact` (Tier 3) — transitive dependency trace and API consumer map.
|
|
58
58
|
- Documentation references relevant to this issue.
|
|
59
59
|
- Instruction to follow the **hatch3r-implementer agent protocol**.
|
|
60
|
-
- All `scope: always` rule directives from
|
|
61
|
-
- Relevant learnings from `.
|
|
60
|
+
- All `scope: always` rule directives from `rules/` — subagents do not inherit rules automatically.
|
|
61
|
+
- Relevant learnings from `.hatch3r/learnings/` (from Step 6.pre).
|
|
62
62
|
- Explicit instruction: do NOT create branches, commits, or PRs.
|
|
63
63
|
- Confidence expression requirement: rate every recommendation and finding as high/medium/low confidence per the quality charter (`agents/shared/quality-charter.md`). High = verified against current code. Medium = pattern-based, not fully verified. Low = best judgment, recommend human review.
|
|
64
64
|
|
|
@@ -97,7 +97,7 @@ Launch as many independent sub-agents in parallel as the platform supports.
|
|
|
97
97
|
|
|
98
98
|
Each specialist sub-agent prompt MUST include:
|
|
99
99
|
- The agent protocol to follow (e.g., "Follow the hatch3r-reviewer agent protocol").
|
|
100
|
-
- All `scope: always` rule directives from
|
|
100
|
+
- All `scope: always` rule directives from `rules/` (subagents do not inherit rules automatically).
|
|
101
101
|
- The diff or file changes to review.
|
|
102
102
|
- The issue's acceptance criteria.
|
|
103
103
|
- Confidence expression requirement: rate every recommendation and finding as high/medium/low confidence per the quality charter (`agents/shared/quality-charter.md`). High = verified against current code. Medium = pattern-based, not fully verified. Low = best judgment, recommend human review.
|
|
@@ -56,7 +56,7 @@ Follow the **GitHub Projects V2 Sync** from `commands/board/shared-github.md` fo
|
|
|
56
56
|
**Create PR:**
|
|
57
57
|
`gh pr create -R {owner}/{repo} --head {branch} --base {base} --title "..." --body "..."` (fall back to `create_pull_request` MCP).
|
|
58
58
|
|
|
59
|
-
`{base}` = `board.defaultBranch` from `.
|
|
59
|
+
`{base}` = `board.defaultBranch` from `.hatch3r/hatch.json` (fallback: `"main"`).
|
|
60
60
|
|
|
61
61
|
**Link PR to epic:**
|
|
62
62
|
`gh issue comment {epic} -R {owner}/{repo} --body "PR: #{pr_number}"` (fall back to `add_issue_comment` MCP).
|
|
@@ -56,7 +56,7 @@ Follow the **GitLab Board Label-Based Sync** from `commands/board/shared-gitlab.
|
|
|
56
56
|
**Create MR:**
|
|
57
57
|
`glab mr create -R {namespace}/{project} --source-branch {branch} --target-branch {base} --title "..." --description "..."`. Use `Closes #N` syntax in the description for auto-close on merge.
|
|
58
58
|
|
|
59
|
-
`{base}` = `board.defaultBranch` from `.
|
|
59
|
+
`{base}` = `board.defaultBranch` from `.hatch3r/hatch.json` (fallback: `"main"`).
|
|
60
60
|
|
|
61
61
|
**Link MR to epic:**
|
|
62
62
|
Reference the epic issue number in the MR description. GitLab auto-links MRs to issues mentioned with `Closes #N`.
|
|
@@ -118,7 +118,7 @@ After the PR merges and `Closes #N` auto-closes the referenced issue(s), confirm
|
|
|
118
118
|
```
|
|
119
119
|
Record the mutation in the run cache under `updated_issues`.
|
|
120
120
|
|
|
121
|
-
2. **Board state check.** Read `board.workflows.itemClosedEnabled` from `.
|
|
121
|
+
2. **Board state check.** Read `board.workflows.itemClosedEnabled` from `.hatch3r/hatch.json`:
|
|
122
122
|
- **If true:** The V2 built-in "Item closed" workflow has already set the board status to Done. Skip to step 3.
|
|
123
123
|
- **If false or absent:** The workflow is not enabled (board-init should have halted, but this is a defensive fallback). Apply the full **Board Sync Procedure** from `hatch3r-board-shared` for each issue, target status = Done.
|
|
124
124
|
|
|
@@ -142,7 +142,7 @@ After PR creation, capture learnings from this development session.
|
|
|
142
142
|
- Were any pitfalls discovered that should be avoided next time?
|
|
143
143
|
|
|
144
144
|
2. If learnings are identified:
|
|
145
|
-
- Create learning files in `.
|
|
145
|
+
- Create learning files in `.hatch3r/learnings/` following the learning file format (see `hatch3r-learn` command).
|
|
146
146
|
- Include the issue number as `source-issue`.
|
|
147
147
|
- Tag with relevant area labels from the issue.
|
|
148
148
|
- **ASK:** "Learnings captured: {list}. Anything else to note? (add more / done)"
|
|
@@ -56,7 +56,7 @@ Use `az devops` / `az boards` / `az repos` CLI. Issues = Work Items. PRs = Pull
|
|
|
56
56
|
|
|
57
57
|
## Azure DevOps Context
|
|
58
58
|
|
|
59
|
-
Derived from `.
|
|
59
|
+
Derived from `.hatch3r/hatch.json` board config:
|
|
60
60
|
|
|
61
61
|
- **Organization:** top-level `owner` (maps to Azure DevOps organization name)
|
|
62
62
|
- **Project:** top-level `repo` (maps to Azure DevOps project name)
|
|
@@ -56,7 +56,7 @@ Use `gh` CLI and GitHub MCP tools. Issues = GitHub Issues. PRs = Pull Requests.
|
|
|
56
56
|
|
|
57
57
|
## GitHub Context
|
|
58
58
|
|
|
59
|
-
Derived from `.
|
|
59
|
+
Derived from `.hatch3r/hatch.json` board config:
|
|
60
60
|
|
|
61
61
|
- **Owner:** top-level `owner` (fallback: `board.owner`)
|
|
62
62
|
- **Repository:** top-level `repo` (fallback: `board.repo`)
|
|
@@ -89,7 +89,7 @@ If `board.projectNumber` is not null, verify via `gh project view {board.project
|
|
|
89
89
|
|
|
90
90
|
**Status label → Projects v2 option mapping:**
|
|
91
91
|
|
|
92
|
-
Read the mapping from `board.statusOptions` in `.
|
|
92
|
+
Read the mapping from `board.statusOptions` in `.hatch3r/hatch.json`:
|
|
93
93
|
|
|
94
94
|
| Label | Option ID from hatch.json |
|
|
95
95
|
| -------------------- | ---------------------------------- |
|
|
@@ -49,7 +49,7 @@ GitLab MCP tools are not currently available. All operations use the `glab` CLI.
|
|
|
49
49
|
|
|
50
50
|
## GitLab Context
|
|
51
51
|
|
|
52
|
-
Derived from `.
|
|
52
|
+
Derived from `.hatch3r/hatch.json` board config:
|
|
53
53
|
|
|
54
54
|
- **Namespace:** top-level `owner` (GitLab group or user namespace)
|
|
55
55
|
- **Project:** top-level `repo` (GitLab project name)
|
|
@@ -10,8 +10,15 @@ efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
|
10
10
|
cache_friendly: true
|
|
11
11
|
parallel_tool_default: true
|
|
12
12
|
triage_tiers: [1, 2, 3]
|
|
13
|
+
sub_agents_spawned:
|
|
14
|
+
count: 3
|
|
15
|
+
rationale: Three-stage pipeline per agentPipeline — researcher scans routes, docs-writer assembles the OpenAPI spec, reviewer validates structure; researcher and reviewer fanned out concurrently around the shared docs-writer dependency.
|
|
13
16
|
---
|
|
14
17
|
|
|
18
|
+
## §0 Detect Ambiguity (P8 B1)
|
|
19
|
+
|
|
20
|
+
Before any action, scan the user's request and provided context for unresolved questions in scope, acceptance criteria, irreversibility, or constraint conflicts (contradictory inputs, missing target, unknown convention). If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md` — do not proceed under silent assumption. This is the default path, not an exception. Acceptable to proceed without asking ONLY when scope is single-target, single-concern, and the brief alone is testable. Any residual ambiguity discovered mid-workflow invokes the same protocol.
|
|
21
|
+
|
|
15
22
|
## Agent Pipeline
|
|
16
23
|
|
|
17
24
|
| Stage | Agent(s) | Parallel | Required |
|
|
@@ -29,7 +36,7 @@ Take a codebase with HTTP or RPC endpoints and produce a complete OpenAPI 3.1 sp
|
|
|
29
36
|
|
|
30
37
|
## Shared Context
|
|
31
38
|
|
|
32
|
-
**Read the `hatch3r-board-shared`
|
|
39
|
+
**Read the `hatch3r-board-shared` skill at the start of the run** if it exists. Cache any values found (GitHub owner/repo, tooling directives).
|
|
33
40
|
|
|
34
41
|
**Read the `hatch3r-api-design` rule** if it exists. This rule contains the project's API design conventions (naming, versioning, error shapes, pagination patterns) that the generated spec must conform to.
|
|
35
42
|
|
|
@@ -10,8 +10,15 @@ efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
|
10
10
|
cache_friendly: true
|
|
11
11
|
parallel_tool_default: true
|
|
12
12
|
triage_tiers: [1, 2, 3]
|
|
13
|
+
sub_agents_spawned:
|
|
14
|
+
count: 3
|
|
15
|
+
rationale: Three-stage pipeline per agentPipeline — researcher gathers prior baselines, perf-profiler executes the suite, docs-writer assembles the report; each receives the run cache and emits a structured slice.
|
|
13
16
|
---
|
|
14
17
|
|
|
18
|
+
## §0 Detect Ambiguity (P8 B1)
|
|
19
|
+
|
|
20
|
+
Before any action, scan the user's request and provided context for unresolved questions in scope, acceptance criteria, irreversibility, or constraint conflicts (contradictory inputs, missing target, unknown convention). If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md` — do not proceed under silent assumption. This is the default path, not an exception. Acceptable to proceed without asking ONLY when scope is single-target, single-concern, and the brief alone is testable. Any residual ambiguity discovered mid-workflow invokes the same protocol.
|
|
21
|
+
|
|
15
22
|
## Agent Pipeline
|
|
16
23
|
|
|
17
24
|
| Stage | Agent(s) | Parallel | Required |
|
|
@@ -29,7 +36,7 @@ Run performance benchmarks against a target (file, function, endpoint, or full s
|
|
|
29
36
|
|
|
30
37
|
## Shared Context
|
|
31
38
|
|
|
32
|
-
**Read the `hatch3r-board-shared`
|
|
39
|
+
**Read the `hatch3r-board-shared` skill at the start of the run** if it exists. While this command does not perform board operations directly, it establishes patterns and context (GitHub owner/repo, tooling directives) that may be useful for regression issue creation. Cache any values found.
|
|
33
40
|
|
|
34
41
|
## Token-Saving Directives
|
|
35
42
|
|
|
@@ -4,14 +4,21 @@ type: command
|
|
|
4
4
|
orchestrator: true
|
|
5
5
|
agentPipeline: [hatch3r-reviewer, hatch3r-fixer]
|
|
6
6
|
description: Create epics and issues/work items from todo.md, reorganize the board with dependency analysis, readiness assessment, and implementation ordering. Supports GitHub, Azure DevOps, and GitLab.
|
|
7
|
-
tags: [board, team]
|
|
7
|
+
tags: [board, ctx:team-only]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
9
9
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
10
10
|
cache_friendly: true
|
|
11
11
|
parallel_tool_default: true
|
|
12
12
|
triage_tiers: [1, 2, 3]
|
|
13
|
+
sub_agents_spawned:
|
|
14
|
+
count: 2
|
|
15
|
+
rationale: Two specialist agents per issue — Step 7.9 fans out one hatch3r-reviewer per issue plus one hatch3r-fixer per accepted finding; batch mode scales reviewer count to N issues with serialization only on the per-issue reviewer→fixer hand-off.
|
|
13
16
|
---
|
|
14
17
|
|
|
18
|
+
## §0 Detect Ambiguity (P8 B1)
|
|
19
|
+
|
|
20
|
+
Before any action, scan the user's request and provided context for unresolved questions in scope, acceptance criteria, irreversibility, or constraint conflicts (contradictory inputs, missing target, unknown convention). If any are found, ask the user via the platform-native question tool per `agents/shared/user-question-protocol.md` — do not proceed under silent assumption. This is the default path, not an exception. Acceptable to proceed without asking ONLY when scope is single-target, single-concern, and the brief alone is testable. Any residual ambiguity discovered mid-workflow invokes the same protocol.
|
|
21
|
+
|
|
15
22
|
## Agent Pipeline
|
|
16
23
|
|
|
17
24
|
| Stage | Agent(s) | Parallel | Required |
|
|
@@ -24,7 +31,7 @@ All issue operations MUST follow the Board Sync Enforcement rules defined in `ha
|
|
|
24
31
|
|
|
25
32
|
# Board Fill -- Create Epics & Issues from todo.md + Board Reorganization
|
|
26
33
|
|
|
27
|
-
Create epics (with sub-issues) or standalone issues/work items from items in `todo.md`, using the platform's CLI and MCP tools against **{owner}/{repo}** (read from `.
|
|
34
|
+
Create epics (with sub-issues) or standalone issues/work items from items in `todo.md`, using the platform's CLI and MCP tools against **{owner}/{repo}** (read from `.hatch3r/hatch.json` board config). The `platform` field determines whether to use GitHub Issues, Azure DevOps Work Items, or GitLab Issues. Before creating anything, board-fill **triages each item through interactive questioning** to extract scope, intent, unknowns, and acceptance criteria from the user -- ensuring issues are genuinely ready for implementation, not just structurally complete. On every run, board-fill also performs a **full board reorganization**: grouping standalone issues into epics, decomposing oversized items, analyzing dependencies, setting implementation order, identifying parallel work, and marking issues as `status:ready` when all readiness criteria (structural + substantive) are met. AI proposes groupings, dependencies, and ordering; user confirms before anything is created or updated. Duplicate topics are detected and skipped.
|
|
28
35
|
|
|
29
36
|
---
|
|
30
37
|
|
|
@@ -45,7 +52,7 @@ GitHub Agentic Workflows and hatch3r are complementary: use agentic workflows fo
|
|
|
45
52
|
|
|
46
53
|
## Shared Context
|
|
47
54
|
|
|
48
|
-
**Read the `hatch3r-board-shared`
|
|
55
|
+
**Read the `hatch3r-board-shared` skill at the start of the run.** It contains Board Configuration, Platform Detection, Platform Context, Board Sync Procedure, and tooling directives. Cache all values for the duration of this run.
|
|
49
56
|
|
|
50
57
|
## Token-Saving Directives
|
|
51
58
|
|
|
@@ -79,7 +86,7 @@ If Tier 1, run only Steps 1–3, 5–6, and 7 (skip the heavy production-readine
|
|
|
79
86
|
|
|
80
87
|
#### 1a. Product Vision Input (Optional)
|
|
81
88
|
|
|
82
|
-
1. Check if a product vision document exists at `.
|
|
89
|
+
1. Check if a product vision document exists at `.hatch3r/product-vision.md`.
|
|
83
90
|
2. If found, read and cache the vision document for use in Steps 2.5 and 4.
|
|
84
91
|
3. If not found, check whether the user provided a vision statement inline with the board-fill invocation (e.g., as a quoted string or file path argument).
|
|
85
92
|
4. If a vision is available from either source, note: "Product vision loaded — will use for triage context and issue scoping."
|
|
@@ -269,7 +276,7 @@ If the user flagged unresolved unknowns or research needs in triage, consider wh
|
|
|
269
276
|
|
|
270
277
|
**Priority:** `priority:p0` (critical/security) / `priority:p1` (broken, no workaround) / `priority:p2` (degraded, default) / `priority:p3` (cosmetic, nice-to-have). Use the user's stated urgency and impact from triage (Value/Why answers) to override keyword defaults. Default `p2` only when both the todo text AND triage answers are ambiguous; security defaults to `p1`+.
|
|
271
278
|
|
|
272
|
-
**Area:** Read area labels from `board.areas` in `.
|
|
279
|
+
**Area:** Read area labels from `board.areas` in `.hatch3r/hatch.json`. If the list is empty, infer areas from the repository's directory structure. Assign all relevant area labels.
|
|
273
280
|
|
|
274
281
|
**Risk:** `risk:low` (isolated, easy rollback) / `risk:med` (shared modules, moderate scope) / `risk:high` (architectural, security-critical). Incorporate triage context: if the user surfaced unknowns, external dependencies, or broad blast radius, escalate risk accordingly. Items with unresolved spikes default to `risk:med`+.
|
|
275
282
|
|
|
@@ -293,7 +300,7 @@ Use explore subagents or direct file reads to understand the current state of so
|
|
|
293
300
|
|
|
294
301
|
#### 4b.5. Consult Project Learnings
|
|
295
302
|
|
|
296
|
-
1. If `.
|
|
303
|
+
1. If `.hatch3r/learnings/` exists, scan for learnings relevant to the areas touched by the todo items.
|
|
297
304
|
2. Match by `area` and `tags` in learning frontmatter against the area labels assigned in Step 3.
|
|
298
305
|
3. Surface relevant learnings in the Context Summary output:
|
|
299
306
|
- **Pitfalls** for areas being touched (highest priority -- include specific warnings)
|
|
@@ -778,7 +785,7 @@ If yes, edit `todo.md` to remove lines for created issues. Preserve skipped/excl
|
|
|
778
785
|
|
|
779
786
|
- **Never create issues for topics already covered** without explicit user approval.
|
|
780
787
|
- **Never skip ASK checkpoints.**
|
|
781
|
-
- **Use correct labels** from the label taxonomy defined in `.
|
|
788
|
+
- **Use correct labels** from the label taxonomy defined in `.hatch3r/hatch.json` (type, priority, area, risk, executor, status, has-dependencies, meta labels).
|
|
782
789
|
- **Keep issue bodies concise.** Acceptance criteria must be grounded in user-stated requirements from triage, not fabricated from the todo text alone.
|
|
783
790
|
- **No dependency cycles.** Flag and resolve before proceeding.
|
|
784
791
|
- **Never downgrade issue status.** Only upgrade `status:triage` → `status:ready`.
|