hatch3r 2.1.0 → 2.2.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 +3 -3
- package/dist/cli/index.js +77 -19
- package/dist/content/agents/hatch3r-brownfield-spec.md +1 -1
- package/dist/content/agents/hatch3r-fixer.md +21 -8
- package/dist/content/agents/hatch3r-handoff-loader.md +7 -2
- package/dist/content/agents/hatch3r-handoff-preparer.md +5 -16
- package/dist/content/agents/hatch3r-implementer.md +29 -3
- package/dist/content/agents/hatch3r-maintainability.md +2 -0
- package/dist/content/agents/hatch3r-researcher.md +1 -1
- package/dist/content/agents/hatch3r-reviewer.md +21 -13
- package/dist/content/agents/hatch3r-ui.md +1 -1
- package/dist/content/agents/hatch3r-ux.md +1 -1
- package/dist/content/agents/shared/cq-specialist-roster.md +2 -2
- package/dist/content/agents/shared/efficiency-patterns.md +1 -1
- package/dist/content/agents/shared/quality-charter.md +6 -5
- package/dist/content/agents/shared/quality-specialist-frame.md +1 -1
- package/dist/content/agents/shared/severity-mapping.md +1 -1
- package/dist/content/agents/shared/triage-vocabulary.md +1 -1
- package/dist/content/agents/shared/user-content-templates.md +1 -1
- package/dist/content/agents/shared/user-question-protocol.md +4 -3
- package/dist/content/checks/code-quality.md +11 -0
- package/dist/content/checks/security.md +5 -0
- package/dist/content/checks/testing.md +2 -0
- package/dist/content/commands/board/pickup-delegation-multi.md +18 -8
- package/dist/content/commands/board/pickup-delegation.md +5 -4
- package/dist/content/commands/hatch3r-api-spec.md +5 -17
- package/dist/content/commands/hatch3r-auth-scaffold.md +7 -20
- package/dist/content/commands/hatch3r-benchmark.md +5 -17
- package/dist/content/commands/hatch3r-board-fill.md +6 -18
- package/dist/content/commands/hatch3r-board-pickup.md +8 -19
- package/dist/content/commands/hatch3r-bug-pipeline.md +4 -16
- package/dist/content/commands/hatch3r-bug-plan.md +5 -17
- package/dist/content/commands/hatch3r-codebase-map.md +5 -17
- package/dist/content/commands/hatch3r-create.md +5 -17
- package/dist/content/commands/hatch3r-debug.md +5 -17
- package/dist/content/commands/hatch3r-design-system-create.md +254 -0
- package/dist/content/commands/hatch3r-diagnose.md +10 -18
- package/dist/content/commands/hatch3r-feature-plan.md +5 -17
- package/dist/content/commands/hatch3r-handoff.md +5 -17
- package/dist/content/commands/hatch3r-healthcheck.md +5 -17
- package/dist/content/commands/hatch3r-incident-response.md +3 -15
- package/dist/content/commands/hatch3r-migration-plan.md +5 -17
- package/dist/content/commands/hatch3r-onboard.md +6 -18
- package/dist/content/commands/hatch3r-pack-install.md +6 -29
- package/dist/content/commands/hatch3r-pr-resolve.md +77 -79
- package/dist/content/commands/hatch3r-project-spec.md +5 -17
- package/dist/content/commands/hatch3r-quick-change.md +5 -17
- package/dist/content/commands/hatch3r-refactor-plan.md +5 -17
- package/dist/content/commands/hatch3r-release.md +6 -16
- package/dist/content/commands/hatch3r-revision.md +11 -23
- package/dist/content/commands/hatch3r-roadmap.md +5 -17
- package/dist/content/commands/hatch3r-security-audit.md +5 -17
- package/dist/content/commands/hatch3r-slo-scaffold.md +8 -20
- package/dist/content/commands/hatch3r-spec.md +11 -16
- package/dist/content/commands/hatch3r-test-plan.md +5 -17
- package/dist/content/commands/hatch3r-workflow.md +16 -26
- package/dist/content/commands/revision/revision-quality.md +6 -5
- package/dist/content/commands/shared/orchestration-frame.md +2 -2
- package/dist/content/rules/hatch3r-agent-orchestration-detail.md +2 -2
- package/dist/content/rules/hatch3r-agent-orchestration-detail.mdc +2 -2
- package/dist/content/rules/hatch3r-agent-orchestration.md +15 -15
- package/dist/content/rules/hatch3r-agent-orchestration.mdc +15 -15
- package/dist/content/rules/hatch3r-anti-duplication.md +15 -4
- package/dist/content/rules/hatch3r-anti-duplication.mdc +15 -4
- package/dist/content/rules/hatch3r-clarification-default.md +8 -7
- package/dist/content/rules/hatch3r-clarification-default.mdc +8 -7
- package/dist/content/rules/hatch3r-code-standards.md +1 -1
- package/dist/content/rules/hatch3r-code-standards.mdc +1 -1
- package/dist/content/rules/hatch3r-contract-census.md +160 -0
- package/dist/content/rules/hatch3r-contract-census.mdc +160 -0
- package/dist/content/rules/hatch3r-cost-visibility.md +11 -4
- package/dist/content/rules/hatch3r-cost-visibility.mdc +11 -4
- package/dist/content/rules/hatch3r-deep-context.md +1 -0
- package/dist/content/rules/hatch3r-deep-context.mdc +1 -0
- package/dist/content/rules/hatch3r-dynamic-stack-verification.md +114 -0
- package/dist/content/rules/hatch3r-dynamic-stack-verification.mdc +109 -0
- package/dist/content/rules/hatch3r-enhancability.md +1 -1
- package/dist/content/rules/hatch3r-enhancability.mdc +1 -1
- package/dist/content/rules/hatch3r-findings-ledger.md +129 -0
- package/dist/content/rules/hatch3r-findings-ledger.mdc +129 -0
- package/dist/content/rules/hatch3r-handoff-readiness.md +1 -1
- package/dist/content/rules/hatch3r-handoff-readiness.mdc +1 -1
- package/dist/content/rules/hatch3r-i18n.md +4 -0
- package/dist/content/rules/hatch3r-i18n.mdc +4 -0
- package/dist/content/rules/hatch3r-iteration-summary.md +47 -49
- package/dist/content/rules/hatch3r-iteration-summary.mdc +47 -49
- package/dist/content/rules/hatch3r-learning-system.md +6 -6
- package/dist/content/rules/hatch3r-learning-system.mdc +6 -6
- package/dist/content/rules/hatch3r-migrations.md +1 -1
- package/dist/content/rules/hatch3r-migrations.mdc +1 -1
- package/dist/content/rules/hatch3r-reviewer-calibration.md +2 -2
- package/dist/content/rules/hatch3r-reviewer-calibration.mdc +2 -2
- package/dist/content/rules/hatch3r-security-patterns.md +4 -0
- package/dist/content/rules/hatch3r-security-patterns.mdc +4 -0
- package/dist/content/rules/hatch3r-testing.md +14 -0
- package/dist/content/rules/hatch3r-testing.mdc +14 -0
- package/dist/content/rules/hatch3r-tool-currency.md +1 -1
- package/dist/content/rules/hatch3r-tool-currency.mdc +1 -1
- package/dist/content/skills/hatch3r-adhoc-orchestrate/SKILL.md +1 -1
- package/dist/content/skills/hatch3r-design-system-detect/SKILL.md +2 -0
- package/dist/content/skills/hatch3r-handoff-prepare/SKILL.md +4 -4
- package/dist/content/skills/hatch3r-report/SKILL.md +1 -1
- package/package.json +2 -2
|
@@ -29,7 +29,7 @@ sub_agents_spawned:
|
|
|
29
29
|
| 2. Document Generation | `hatch3r-docs-writer` (refactoring spec, ADRs) | Yes | Yes |
|
|
30
30
|
| 3. Todo Generation | Orchestrator (inline) | No | Yes |
|
|
31
31
|
|
|
32
|
-
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes, deterministic aggregation, no shared mutable state.
|
|
32
|
+
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes (file- and contract-level), deterministic aggregation, no shared mutable state.
|
|
33
33
|
|
|
34
34
|
# Refactor Plan — Refactoring & Migration Specification from Problem to Phased Execution
|
|
35
35
|
|
|
@@ -91,7 +91,7 @@ cost_estimate:
|
|
|
91
91
|
estimated_duration_min: <int>
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
Post-execution actuals + delta land in the
|
|
94
|
+
Post-execution actuals + delta land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md` Post-Execution Actuals. Token telemetry sources from `src/pipeline/observability.ts`.
|
|
95
95
|
|
|
96
96
|
### Effort Override (Decision 17)
|
|
97
97
|
|
|
@@ -487,30 +487,18 @@ refactor-plan is long-running — a Tier 3 refactor brief fans out 5 parallel re
|
|
|
487
487
|
|
|
488
488
|
## Iteration Summary (mandatory output)
|
|
489
489
|
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
The 9 sections:
|
|
493
|
-
|
|
494
|
-
1. **Request** — verbatim restatement of the user's ask in one sentence.
|
|
495
|
-
2. **Fan-out + Cost** — `sub_agents_spawned: { count, rationale }` plus the `cost_estimate` / `cost_actuals` / `delta` blocks (see Cost Visibility below).
|
|
496
|
-
3. **Web Research** — every URL fetched with access date + trust tier per `agents/shared/rigor-contract.md` (0 acceptable when no research was needed).
|
|
497
|
-
4. **Files Mutated** — list with diff summary (lines added / removed / files created).
|
|
498
|
-
5. **Gates Passed / Failed** — explicit list per `.claude/rules/capability-lifecycle.md` Gate Checklist.
|
|
499
|
-
6. **Pillar Impact Attribution** — `progress_toward_pillar: <axis>.<pillar_id>+<delta>` per CONSTITUTION §6 Decision 17.
|
|
500
|
-
7. **Verification Commands** — exact commands run with exit codes plus key output lines (≤200 chars).
|
|
501
|
-
8. **Open Questions / Blockers** — explicit `None` if fully closed.
|
|
502
|
-
9. **Learnings Captured** — IDs of any learnings written to `.hatch3r/learnings/` this run per `rules/hatch3r-learning-system.md`.
|
|
490
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`: a 1–2 line recap (status, outcome, files · sub-agents · gates · cost delta) plus every exception line whose firing condition holds — silence asserts the default. Omitting the recap fails that rule's Validation Gate (CONSTITUTION §6 Decision 23, superseded in place 2026-07-06).
|
|
503
491
|
|
|
504
492
|
### Cost Visibility (Decision 24)
|
|
505
493
|
|
|
506
|
-
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in
|
|
494
|
+
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
507
495
|
|
|
508
496
|
## Cost estimate (Decision 24)
|
|
509
497
|
|
|
510
498
|
This command emits cost transparency per `rules/hatch3r-cost-visibility.md` and CONSTITUTION §6 Decision 24/29:
|
|
511
499
|
|
|
512
500
|
- **Pre-execution `cost_estimate`** — emitted in Step 0.5 before the first researcher dispatch.
|
|
513
|
-
- **Post-execution `cost_actuals` + `delta`** — appended to the
|
|
501
|
+
- **Post-execution `cost_actuals` + `delta`** — appended to the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
514
502
|
|
|
515
503
|
Per-tier `expected_sa_count` calibration (from frontmatter `sub_agents_spawned.count: 4` × tier heuristic in `rules/hatch3r-cost-visibility.md` Pre-Execution Estimate): Tier 1 ≈ 2 (reduced researcher set); Tier 2/3 spawn up to 4 parallel researcher modes (current-state + refactoring-strategy + migration-path + risk). Deltas beyond 25% absolute value carry `flagged_for_review: true`. Token telemetry sources from `src/pipeline/observability.ts`; estimation primitives from `src/pipeline/costEstimator.ts`.
|
|
516
504
|
|
|
@@ -55,7 +55,7 @@ This command is the delegating orchestrator around the single-pass `/h4tcher-rel
|
|
|
55
55
|
| 9. Marketplace-lane handoff (STOP before publish/merge) | Orchestrator (inline, presents the human-approval gate) | No | Yes |
|
|
56
56
|
| 10. Iteration Summary | Orchestrator (inline) | No | Yes |
|
|
57
57
|
|
|
58
|
-
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above (Step 7b testability + security; Step 7c docs-writer alongside 7b) holds all three — read-only or disjoint writes, deterministic aggregation, no shared mutable state. Step 2 (version bump) and Step 3 (changelog) serialize on a dependency edge: the changelog header must match the bumped `package.json` version, so version-bump precedes changelog.
|
|
58
|
+
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above (Step 7b testability + security; Step 7c docs-writer alongside 7b) holds all three — read-only or disjoint writes (file- and contract-level), deterministic aggregation, no shared mutable state. Step 2 (version bump) and Step 3 (changelog) serialize on a dependency edge: the changelog header must match the bumped `package.json` version, so version-bump precedes changelog.
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
@@ -121,7 +121,7 @@ cost_preview:
|
|
|
121
121
|
estimated_duration_min: <int>
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
-
Post-execution actuals + `delta_percent` land in the
|
|
124
|
+
Post-execution actuals + `delta_percent` land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`. Token telemetry sources from `src/pipeline/observability.ts`; estimation primitives from `src/pipeline/costEstimator.ts`.
|
|
125
125
|
|
|
126
126
|
### Effort Override (Decision 17)
|
|
127
127
|
|
|
@@ -336,19 +336,7 @@ The npm publish itself runs in CI (`.github/workflows/release.yml`) on the human
|
|
|
336
336
|
|
|
337
337
|
## Step 10: Iteration Summary (mandatory output)
|
|
338
338
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
The 9 sections:
|
|
342
|
-
|
|
343
|
-
1. **Request** — verbatim restatement of the user's ask in one sentence.
|
|
344
|
-
2. **Fan-out + Cost** — `sub_agents_spawned: { count, rationale }` plus the `cost_preview` / actuals / `delta_percent` blocks. Per-tier `expected_sa_count` (from frontmatter `sub_agents_spawned.count: 7` × tier heuristic in `rules/hatch3r-cost-visibility.md`): Tier 1 ≈ 3 (bump + changelog implementer, testability, security); Tier 2 ≈ 6 (+ review loop reviewer/fixer + ci-watcher when a gate trips); Tier 3 up to 7 (full pipeline incl. docs-writer). Token telemetry sources from `src/pipeline/observability.ts`.
|
|
345
|
-
3. **Web Research** — every URL fetched with access date + trust tier per `agents/shared/rigor-contract.md` (0 acceptable when no research was needed).
|
|
346
|
-
4. **Files Mutated** — list with diff summary (version files, CHANGELOG, SBOM, docs).
|
|
347
|
-
5. **Gates Passed / Failed** — explicit list (test, tsc, lint, validate, lockfile-lint, npm audit, hatch3r verify, review loop, testability, security).
|
|
348
|
-
6. **Pillar Impact Attribution** — `progress_toward_pillar: <axis>.<pillar_id>+<delta>` per CONSTITUTION §6 Decision 17.
|
|
349
|
-
7. **Verification Commands** — exact commands run with exit codes plus key output lines (≤200 chars).
|
|
350
|
-
8. **Open Questions / Blockers** — explicit `None` if fully closed; record the Step 9 human-owned next step here.
|
|
351
|
-
9. **Learnings Captured** — IDs of any learnings written to `.hatch3r/learnings/` this run per `rules/hatch3r-learning-system.md`.
|
|
339
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`: a 1–2 line recap (status, outcome, files · sub-agents · gates · cost delta) plus every exception line whose firing condition holds — silence asserts the default. Omitting the recap fails that rule's Validation Gate (CONSTITUTION §6 Decision 23, superseded in place 2026-07-06).
|
|
352
340
|
|
|
353
341
|
**Status enum:** SUCCESS (release assembled + committed on the branch, all gates green, awaiting human publish) | PARTIAL (a gate ended on a retry-limit miss or SBOM tooling absent) | FAILED (build broken, no release commit produced) | BLOCKED (review loop unresolved after 3 iterations, or a breaking-change decision needs the user). SUCCESS here means "ready for human publish" — never "published".
|
|
354
342
|
|
|
@@ -375,7 +363,9 @@ release is long-running — a Tier 3 release runs preflight, version bump, chang
|
|
|
375
363
|
This command emits cost transparency per `rules/hatch3r-cost-visibility.md` and CONSTITUTION §6 Decision 24/29:
|
|
376
364
|
|
|
377
365
|
- **Pre-execution `cost_preview`** — emitted in Step 0.5 before the Step 2 implementer dispatch.
|
|
378
|
-
- **Post-execution actuals + `delta_percent`** — appended to the
|
|
366
|
+
- **Post-execution actuals + `delta_percent`** — appended to the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`. Deltas >25% absolute value carry `flagged_for_review: true`.
|
|
367
|
+
|
|
368
|
+
Per-tier `expected_sa_count` (from frontmatter `sub_agents_spawned.count: 7` × tier heuristic in `rules/hatch3r-cost-visibility.md`): Tier 1 ≈ 3 (bump + changelog implementer, testability, security); Tier 2 ≈ 6 (+ review loop reviewer/fixer + ci-watcher when a gate trips); Tier 3 up to 7 (full pipeline incl. docs-writer). Token telemetry sources from `src/pipeline/observability.ts`.
|
|
379
369
|
|
|
380
370
|
---
|
|
381
371
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
id: hatch3r-revision
|
|
3
3
|
type: command
|
|
4
4
|
orchestrator: true
|
|
5
|
-
agentPipeline: [hatch3r-researcher, hatch3r-implementer, hatch3r-lint-fixer, hatch3r-testability, hatch3r-reviewer, hatch3r-fixer, hatch3r-security, hatch3r-docs-writer, hatch3r-ui, hatch3r-performance]
|
|
5
|
+
agentPipeline: [hatch3r-researcher, hatch3r-implementer, hatch3r-lint-fixer, hatch3r-testability, hatch3r-reviewer, hatch3r-fixer, hatch3r-security, hatch3r-docs-writer, hatch3r-ui, hatch3r-ux, hatch3r-performance]
|
|
6
6
|
description: User-guided revision of agent-implemented code in a fresh context window. Reconstructs what was done, interviews the user for feedback, fixes issues, cleans up leftovers, and drives toward merge readiness. Delegation, quality pipeline, modes, and board integration details are in commands/revision/.
|
|
7
7
|
tags: [implementation, ctx:team-only]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
@@ -13,8 +13,8 @@ efficiency_tier: deep
|
|
|
13
13
|
triage_tiers: [1, 2, 3]
|
|
14
14
|
supports_resume: true
|
|
15
15
|
sub_agents_spawned:
|
|
16
|
-
count:
|
|
17
|
-
rationale: Per-revision fanout — researcher (conditional, Tier 2/3 pre-implementation context per commands/revision/revision-delegation.md Step 6.pre), implementer, lint-fixer, testability (Stage 1 fix group), reviewer ↔ fixer review loop, then parallel Stage 2 final-quality CQ specialists (security, docs-writer, ui, performance) bounded by max_phase4_parallel. Tier 1 cleanup-only revisions spawn a subset. Cost-dominance per CONSTITUTION §2 P8 — token cost never serializes independent work.
|
|
16
|
+
count: 11
|
|
17
|
+
rationale: Per-revision fanout — researcher (conditional, Tier 2/3 pre-implementation context per commands/revision/revision-delegation.md Step 6.pre), implementer, lint-fixer, testability (Stage 1 fix group), reviewer ↔ fixer review loop, then parallel Stage 2 final-quality CQ specialists (security, docs-writer, ui, ux, performance — a triggered mandatory-on-match ui/ux each spawns as its own dedicated instance at Tier 2/3) bounded by max_phase4_parallel. Tier 1 cleanup-only revisions spawn a subset. Cost-dominance per CONSTITUTION §2 P8 — token cost never serializes independent work.
|
|
18
18
|
---
|
|
19
19
|
|
|
20
20
|
## §0 Detect Ambiguity (P8 B1)
|
|
@@ -33,9 +33,9 @@ sub_agents_spawned:
|
|
|
33
33
|
| 5b. Final Quality — Testing | `hatch3r-testability` | Yes | Yes (code changes) |
|
|
34
34
|
| 5c. Final Quality — Security | `hatch3r-security` | Yes | Yes (code changes) |
|
|
35
35
|
| 5d. Final Quality — Docs | `hatch3r-docs-writer` | Yes | When APIs/architecture/UX affected |
|
|
36
|
-
| 5e. Final Quality —
|
|
36
|
+
| 5e. Final Quality — Triggered | `hatch3r-lint-fixer`, `hatch3r-performance` (conditional); `hatch3r-ui`, `hatch3r-ux` (mandatory-on-match — each triggered one MUST spawn as its own dedicated instance at Tier 2/3) | Yes | When triggered |
|
|
37
37
|
|
|
38
|
-
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes, deterministic aggregation, no shared mutable state.
|
|
38
|
+
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes (file- and contract-level), deterministic aggregation, no shared mutable state.
|
|
39
39
|
|
|
40
40
|
## Browser Automation
|
|
41
41
|
|
|
@@ -113,7 +113,7 @@ cost_estimate:
|
|
|
113
113
|
estimated_duration_min: <int>
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
The Step 3 user-feedback interview is user-driven and excluded from the duration estimate. Post-execution actuals + delta land in the
|
|
116
|
+
The Step 3 user-feedback interview is user-driven and excluded from the duration estimate. Post-execution actuals + delta land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md` Post-Execution Actuals. Token telemetry sources from `src/pipeline/observability.ts`.
|
|
117
117
|
|
|
118
118
|
### Effort Override (Decision 17)
|
|
119
119
|
|
|
@@ -403,7 +403,7 @@ If all findings were deferred (no [FIX NOW] items), skip Step 6 entirely and pro
|
|
|
403
403
|
|
|
404
404
|
> Full details: see `commands/revision/revision-quality.md`
|
|
405
405
|
|
|
406
|
-
Two-stage quality pipeline: Stage 1 runs a sequential review loop (`hatch3r-reviewer` -> `hatch3r-fixer`, max 3 iterations). Stage 2 spawns final quality CQ specialists in parallel — mandatory (`hatch3r-testability`, `hatch3r-security`), evaluated (`hatch3r-docs-writer`),
|
|
406
|
+
Two-stage quality pipeline: Stage 1 runs a sequential review loop (`hatch3r-reviewer` -> `hatch3r-fixer`, max 3 iterations). Stage 2 spawns final quality CQ specialists in parallel — mandatory (`hatch3r-testability`, `hatch3r-security`), evaluated (`hatch3r-docs-writer`), mandatory-on-match (`hatch3r-ui`, `hatch3r-ux` — each triggered one MUST spawn as its own dedicated instance at Tier 2/3), and conditional (`hatch3r-performance`, `hatch3r-lint-fixer`).
|
|
407
407
|
|
|
408
408
|
---
|
|
409
409
|
|
|
@@ -524,32 +524,20 @@ revision is long-running — a Tier 2/3 run walks 10 sequential steps (context r
|
|
|
524
524
|
|
|
525
525
|
## Iteration Summary (mandatory output)
|
|
526
526
|
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
The 9 sections:
|
|
530
|
-
|
|
531
|
-
1. **Request** — verbatim restatement of the user's ask in one sentence.
|
|
532
|
-
2. **Fan-out + Cost** — `sub_agents_spawned: { count, rationale }` plus the `cost_estimate` / `cost_actuals` / `delta` blocks (see Cost Visibility below).
|
|
533
|
-
3. **Web Research** — every URL fetched with access date + trust tier per `agents/shared/rigor-contract.md` (0 acceptable when no research was needed).
|
|
534
|
-
4. **Files Mutated** — list with diff summary (lines added / removed / files created).
|
|
535
|
-
5. **Gates Passed / Failed** — explicit list per `.claude/rules/capability-lifecycle.md` Gate Checklist.
|
|
536
|
-
6. **Pillar Impact Attribution** — `progress_toward_pillar: <axis>.<pillar_id>+<delta>` per CONSTITUTION §6 Decision 17.
|
|
537
|
-
7. **Verification Commands** — exact commands run with exit codes plus key output lines (≤200 chars).
|
|
538
|
-
8. **Open Questions / Blockers** — explicit `None` if fully closed.
|
|
539
|
-
9. **Learnings Captured** — IDs of any learnings written to `.hatch3r/learnings/` this run per `rules/hatch3r-learning-system.md`.
|
|
527
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`: a 1–2 line recap (status, outcome, files · sub-agents · gates · cost delta) plus every exception line whose firing condition holds — silence asserts the default. Omitting the recap fails that rule's Validation Gate (CONSTITUTION §6 Decision 23, superseded in place 2026-07-06).
|
|
540
528
|
|
|
541
529
|
### Cost Visibility (Decision 24)
|
|
542
530
|
|
|
543
|
-
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in
|
|
531
|
+
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
544
532
|
|
|
545
533
|
## Cost estimate (Decision 24)
|
|
546
534
|
|
|
547
535
|
This command emits cost transparency per `rules/hatch3r-cost-visibility.md` and CONSTITUTION §6 Decision 24/29:
|
|
548
536
|
|
|
549
537
|
- **Pre-execution `cost_estimate`** — emitted in Step 0.5 before the first sub-agent dispatch (Step 6 fix delegation).
|
|
550
|
-
- **Post-execution `cost_actuals` + `delta`** — appended to the
|
|
538
|
+
- **Post-execution `cost_actuals` + `delta`** — appended to the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
551
539
|
|
|
552
|
-
Per-tier `expected_sa_count` calibration (from frontmatter `sub_agents_spawned.count:
|
|
540
|
+
Per-tier `expected_sa_count` calibration (from frontmatter `sub_agents_spawned.count: 11` × tier heuristic in `rules/hatch3r-cost-visibility.md` Pre-Execution Estimate): Tier 1 cleanup-only ≈ 0 (inline fixes, no sub-agent); Tier 2 ≈ 5 (conditional researcher + implementer/lint-fixer/hatch3r-testability fix group + reviewer); Tier 3 up to 11 (conditional researcher + full pipeline including the parallel Stage 2 final-quality specialists bounded by `max_phase4_parallel`). Deltas beyond 25% absolute value carry `flagged_for_review: true`. Token telemetry sources from `src/pipeline/observability.ts`; estimation primitives from `src/pipeline/costEstimator.ts`.
|
|
553
541
|
|
|
554
542
|
---
|
|
555
543
|
|
|
@@ -33,7 +33,7 @@ Generate a dependency-aware, priority-ordered roadmap with **two parallel dimens
|
|
|
33
33
|
| 2. Document Generation | `hatch3r-docs-writer` (todo.md generation) | No | Yes |
|
|
34
34
|
| 3. AGENTS.md | `hatch3r-docs-writer` (AGENTS.md generation/rework) | No | Yes |
|
|
35
35
|
|
|
36
|
-
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes, deterministic aggregation, no shared mutable state.
|
|
36
|
+
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes (file- and contract-level), deterministic aggregation, no shared mutable state.
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
@@ -82,7 +82,7 @@ cost_estimate:
|
|
|
82
82
|
estimated_duration_min: <int>
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
The Step 1 business-discovery interview is user-driven and excluded from the duration estimate. Post-execution actuals + delta land in the
|
|
85
|
+
The Step 1 business-discovery interview is user-driven and excluded from the duration estimate. Post-execution actuals + delta land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md` Post-Execution Actuals. Token telemetry sources from `src/pipeline/observability.ts`.
|
|
86
86
|
|
|
87
87
|
### Effort Override (Decision 17)
|
|
88
88
|
|
|
@@ -616,30 +616,18 @@ roadmap is long-running — a Tier 3 brownfield discovery fans out parallel rese
|
|
|
616
616
|
|
|
617
617
|
## Iteration Summary (mandatory output)
|
|
618
618
|
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
The 9 sections:
|
|
622
|
-
|
|
623
|
-
1. **Request** — verbatim restatement of the user's ask in one sentence.
|
|
624
|
-
2. **Fan-out + Cost** — `sub_agents_spawned: { count, rationale }` plus the `cost_estimate` / `cost_actuals` / `delta` blocks (see Cost Visibility below).
|
|
625
|
-
3. **Web Research** — every URL fetched with access date + trust tier per `agents/shared/rigor-contract.md` (0 acceptable when no research was needed).
|
|
626
|
-
4. **Files Mutated** — list with diff summary (lines added / removed / files created).
|
|
627
|
-
5. **Gates Passed / Failed** — explicit list per `.claude/rules/capability-lifecycle.md` Gate Checklist.
|
|
628
|
-
6. **Pillar Impact Attribution** — `progress_toward_pillar: <axis>.<pillar_id>+<delta>` per CONSTITUTION §6 Decision 17.
|
|
629
|
-
7. **Verification Commands** — exact commands run with exit codes plus key output lines (≤200 chars).
|
|
630
|
-
8. **Open Questions / Blockers** — explicit `None` if fully closed.
|
|
631
|
-
9. **Learnings Captured** — IDs of any learnings written to `.hatch3r/learnings/` this run per `rules/hatch3r-learning-system.md`.
|
|
619
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`: a 1–2 line recap (status, outcome, files · sub-agents · gates · cost delta) plus every exception line whose firing condition holds — silence asserts the default. Omitting the recap fails that rule's Validation Gate (CONSTITUTION §6 Decision 23, superseded in place 2026-07-06).
|
|
632
620
|
|
|
633
621
|
### Cost Visibility (Decision 24)
|
|
634
622
|
|
|
635
|
-
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in
|
|
623
|
+
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
636
624
|
|
|
637
625
|
## Cost estimate (Decision 24)
|
|
638
626
|
|
|
639
627
|
This command emits cost transparency per `rules/hatch3r-cost-visibility.md` and CONSTITUTION §6 Decision 24/29:
|
|
640
628
|
|
|
641
629
|
- **Pre-execution `cost_estimate`** — emitted in Step 0.5 before the first researcher dispatch (Step 3).
|
|
642
|
-
- **Post-execution `cost_actuals` + `delta`** — appended to the
|
|
630
|
+
- **Post-execution `cost_actuals` + `delta`** — appended to the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
643
631
|
|
|
644
632
|
Per-tier `expected_sa_count` calibration (from frontmatter `sub_agents_spawned.count: 2` × tier heuristic in `rules/hatch3r-cost-visibility.md` Pre-Execution Estimate): Tier 1 ≈ 1 (technical-readiness researcher only, condensed todo.md); Tier 2 ≈ 2-3 (both researchers + todo.md docs-writer); Tier 3 up to 3 (both researchers with deep web research + AGENTS.md docs-writer). This command is web-research-heavy at Tier 3 — `estimated_web_research_queries` typically dominates the cost delta. Deltas beyond 25% absolute value carry `flagged_for_review: true`. Token telemetry sources from `src/pipeline/observability.ts`; estimation primitives from `src/pipeline/costEstimator.ts`.
|
|
645
633
|
|
|
@@ -33,7 +33,7 @@ This command discovers the module taxonomy via static analysis, then delegates s
|
|
|
33
33
|
| 4. Issue Creation | Orchestrator (GitHub MCP) | No | Yes |
|
|
34
34
|
| 5. Board Sync | Orchestrator (Projects v2 sync) | No | Yes |
|
|
35
35
|
|
|
36
|
-
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes, deterministic aggregation, no shared mutable state.
|
|
36
|
+
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes (file- and contract-level), deterministic aggregation, no shared mutable state.
|
|
37
37
|
|
|
38
38
|
All issue operations MUST follow the Projects v2 Enforcement rules defined in `hatch3r-board-shared`.
|
|
39
39
|
|
|
@@ -61,7 +61,7 @@ cost_estimate:
|
|
|
61
61
|
estimated_duration_min: <int>
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
Post-execution actuals + delta land in the
|
|
64
|
+
Post-execution actuals + delta land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md` Post-Execution Actuals. Token telemetry sources from `src/pipeline/observability.ts`.
|
|
65
65
|
|
|
66
66
|
### Effort Override (Decision 17)
|
|
67
67
|
|
|
@@ -444,30 +444,18 @@ security-audit is long-running — a Tier 2/3 audit fans out across N module sub
|
|
|
444
444
|
|
|
445
445
|
## Iteration Summary (mandatory output)
|
|
446
446
|
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
The 9 sections:
|
|
450
|
-
|
|
451
|
-
1. **Request** — verbatim restatement of the user's ask in one sentence.
|
|
452
|
-
2. **Fan-out + Cost** — `sub_agents_spawned: { count, rationale }` plus the `cost_estimate` / `cost_actuals` / `delta` blocks (see Cost Visibility below).
|
|
453
|
-
3. **Web Research** — every URL fetched with access date + trust tier per `agents/shared/rigor-contract.md` (0 acceptable when no research was needed).
|
|
454
|
-
4. **Files Mutated** — list with diff summary (lines added / removed / files created).
|
|
455
|
-
5. **Gates Passed / Failed** — explicit list per `.claude/rules/capability-lifecycle.md` Gate Checklist.
|
|
456
|
-
6. **Pillar Impact Attribution** — `progress_toward_pillar: <axis>.<pillar_id>+<delta>` per CONSTITUTION §6 Decision 17.
|
|
457
|
-
7. **Verification Commands** — exact commands run with exit codes plus key output lines (≤200 chars).
|
|
458
|
-
8. **Open Questions / Blockers** — explicit `None` if fully closed.
|
|
459
|
-
9. **Learnings Captured** — IDs of any learnings written to `.hatch3r/learnings/` this run per `rules/hatch3r-learning-system.md`.
|
|
447
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`: a 1–2 line recap (status, outcome, files · sub-agents · gates · cost delta) plus every exception line whose firing condition holds — silence asserts the default. Omitting the recap fails that rule's Validation Gate (CONSTITUTION §6 Decision 23, superseded in place 2026-07-06).
|
|
460
448
|
|
|
461
449
|
### Cost Visibility (Decision 24)
|
|
462
450
|
|
|
463
|
-
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in
|
|
451
|
+
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
464
452
|
|
|
465
453
|
## Cost estimate (Decision 24)
|
|
466
454
|
|
|
467
455
|
This command emits cost transparency per `rules/hatch3r-cost-visibility.md` and CONSTITUTION §6 Decision 24/29:
|
|
468
456
|
|
|
469
457
|
- **Pre-execution `cost_estimate`** — emitted in the Pre-Execution Cost Preview above before the first module audit-authoring dispatch (Step 4).
|
|
470
|
-
- **Post-execution `cost_actuals` + `delta`** — appended to the
|
|
458
|
+
- **Post-execution `cost_actuals` + `delta`** — appended to the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
471
459
|
|
|
472
460
|
Per-tier `expected_sa_count` calibration (from frontmatter `sub_agents_spawned.count: 2`, which is the static floor; actual fan-out scales with discovered module count per `rules/fan-out-discipline.md` P8 B2): one `hatch3r-implementer` Task per module sub-issue body + `hatch3r-security` for the cross-cutting axis (OWASP ASI01-10 + supply-chain). Tier 2 (module count ≤8) and Tier 3 (module count >8) both bound the parallel module batch by `max_phase4_parallel`. Deltas beyond 25% absolute value carry `flagged_for_review: true`. Token telemetry sources from `src/pipeline/observability.ts`; estimation primitives from `src/pipeline/costEstimator.ts`.
|
|
473
461
|
|
|
@@ -130,7 +130,7 @@ cost_estimate:
|
|
|
130
130
|
estimated_duration_min: <int>
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
Post-execution actuals + delta land in the Step 5 Iteration Summary
|
|
133
|
+
Post-execution actuals + delta land in the Step 5 Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`. `--effort=light|standard|deep` (Decision 17) forces the tier; record both auto and override.
|
|
134
134
|
|
|
135
135
|
---
|
|
136
136
|
|
|
@@ -185,29 +185,17 @@ Run the available validation commands and record exit codes: `promtool check rul
|
|
|
185
185
|
|
|
186
186
|
### Iteration Summary (mandatory output)
|
|
187
187
|
|
|
188
|
-
|
|
188
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`: a 1–2 line recap (status, outcome, files · sub-agents · gates · cost delta) plus every exception line whose firing condition holds — silence asserts the default. Omitting the recap fails that rule's Validation Gate (CONSTITUTION §6 Decision 23, superseded in place 2026-07-06).
|
|
189
|
+
|
|
190
|
+
Worked example for this domain:
|
|
189
191
|
|
|
190
192
|
```markdown
|
|
191
193
|
## Iteration Summary
|
|
192
194
|
|
|
193
|
-
**
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
- slo/{service}.slo.yaml → 3 SLOs (availability, p95, p99) via hatch3r-implementer (proof: {id})
|
|
198
|
-
- slo/{service}.alerts.yaml → 3-tier multi-burn-rate alerts via hatch3r-implementer (proof: {id})
|
|
199
|
-
|
|
200
|
-
**Not Done / Deferred / Unverified:**
|
|
201
|
-
- Metric-name placeholders (`# TODO`) — fill with the project's real metric names before deploy
|
|
202
|
-
- (or: `None — full scope completed`)
|
|
203
|
-
|
|
204
|
-
**Open Questions / Blockers:**
|
|
205
|
-
- (or: `None`)
|
|
206
|
-
|
|
207
|
-
**Fan-out + Cost:** sub_agents_spawned: { count, rationale } + cost_estimate / cost_actuals / delta
|
|
208
|
-
**Pillar Impact Attribution:** progress_toward_pillar: content-quality.CQ4+{delta}
|
|
209
|
-
**Confidence:** {high | medium | low} — {basis from implementer output + reliability gate verdict}
|
|
210
|
-
**Suggested Next Action:** {one line — e.g., "Replace metric-name TODOs, then wire slo/*.alerts.yaml into the Prometheus rule_files."}
|
|
195
|
+
**SUCCESS** — Scaffolded availability + p95/p99 SLOs and 3-tier burn-rate alerts for checkout-service; reliability gate PASS.
|
|
196
|
+
files 2 (+118/−0) · sa 2/2 · gates 2/2 · cost Δ+4% tok / Δ−10% min · tier 1
|
|
197
|
+
Not done: metric-name placeholders (`# TODO`) — deferred: fill with the project's real metric names before deploy
|
|
198
|
+
Next: wire slo/checkout-service.alerts.yaml into the Prometheus rule_files.
|
|
211
199
|
```
|
|
212
200
|
|
|
213
201
|
Status decision rules:
|
|
@@ -136,7 +136,14 @@ If any deliverable is missing or empty, halt and surface the gap to the user —
|
|
|
136
136
|
|
|
137
137
|
## Phase 6 — Iteration Summary
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md` — a 1–2 line recap plus every exception line whose firing condition holds. Worked example:
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
## Iteration Summary
|
|
143
|
+
**SUCCESS** — Spec tree written to `.hatch3r/spec/<timestamp>/`; all 8 deliverables present, presence checks passed.
|
|
144
|
+
files 8 (+412/−0) · sa 2/2 · gates 8/8 · cost Δ+6% tok / Δ−3% min · tier 2
|
|
145
|
+
Next: /hatch3r-board-fill to convert acceptance criteria into a board.
|
|
146
|
+
```
|
|
140
147
|
|
|
141
148
|
## Output paths
|
|
142
149
|
|
|
@@ -155,23 +162,11 @@ The directory is the unit of versioning — re-running `/hatch3r-spec` produces
|
|
|
155
162
|
|
|
156
163
|
## Iteration Summary (mandatory output)
|
|
157
164
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
The 9 sections:
|
|
161
|
-
|
|
162
|
-
1. **Request** — verbatim restatement of the user's ask in one sentence.
|
|
163
|
-
2. **Fan-out + Cost** — `sub_agents_spawned: { count, rationale }` plus the `cost_estimate` / `cost_actuals` / `delta` blocks (see Cost Visibility below).
|
|
164
|
-
3. **Web Research** — every URL fetched with access date + trust tier per `agents/shared/rigor-contract.md` (0 acceptable when no research was needed).
|
|
165
|
-
4. **Files Mutated** — list with diff summary (lines added / removed / files created).
|
|
166
|
-
5. **Gates Passed / Failed** — explicit list per `.claude/rules/capability-lifecycle.md` Gate Checklist.
|
|
167
|
-
6. **Pillar Impact Attribution** — `progress_toward_pillar: <axis>.<pillar_id>+<delta>` per CONSTITUTION §6 Decision 17.
|
|
168
|
-
7. **Verification Commands** — exact commands run with exit codes plus key output lines (≤200 chars).
|
|
169
|
-
8. **Open Questions / Blockers** — explicit `None` if fully closed.
|
|
170
|
-
9. **Learnings Captured** — IDs of any learnings written to `.hatch3r/learnings/` this run per `rules/hatch3r-learning-system.md`.
|
|
165
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`: a 1–2 line recap (status, outcome, files · sub-agents · gates · cost delta) plus every exception line whose firing condition holds — silence asserts the default. Omitting the recap fails that rule's Validation Gate (CONSTITUTION §6 Decision 23, superseded in place 2026-07-06). (The Phase 6 block above is the domain rendering; the recap closes the run.)
|
|
171
166
|
|
|
172
167
|
### Cost Visibility (Decision 24)
|
|
173
168
|
|
|
174
|
-
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in
|
|
169
|
+
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
175
170
|
|
|
176
171
|
## Cost estimate (Decision 24)
|
|
177
172
|
|
|
@@ -201,7 +196,7 @@ delta:
|
|
|
201
196
|
duration_delta_percent: <float>
|
|
202
197
|
```
|
|
203
198
|
|
|
204
|
-
Both blocks land in the
|
|
199
|
+
Both blocks land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`. Deltas beyond 25% absolute value carry `flagged_for_review: true`.
|
|
205
200
|
|
|
206
201
|
## References
|
|
207
202
|
|
|
@@ -29,7 +29,7 @@ sub_agents_spawned:
|
|
|
29
29
|
| 2. Document Generation | `hatch3r-docs-writer` (test plan spec, ADRs) | Yes | Yes |
|
|
30
30
|
| 3. Todo Generation | Orchestrator (inline) | No | Yes |
|
|
31
31
|
|
|
32
|
-
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes, deterministic aggregation, no shared mutable state.
|
|
32
|
+
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above holds all three — read-only or disjoint writes (file- and contract-level), deterministic aggregation, no shared mutable state.
|
|
33
33
|
|
|
34
34
|
# Test Plan -- Comprehensive Test Strategy from Scope to Board-Ready Epic
|
|
35
35
|
|
|
@@ -82,7 +82,7 @@ cost_estimate:
|
|
|
82
82
|
estimated_duration_min: <int>
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
Post-execution actuals + delta land in the
|
|
85
|
+
Post-execution actuals + delta land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md` Post-Execution Actuals. Token telemetry sources from `src/pipeline/observability.ts`.
|
|
86
86
|
|
|
87
87
|
### Effort Override (Decision 17)
|
|
88
88
|
|
|
@@ -576,30 +576,18 @@ test-plan is long-running — a Tier 3 plan fans out parallel researcher sub-age
|
|
|
576
576
|
|
|
577
577
|
## Iteration Summary (mandatory output)
|
|
578
578
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
The 9 sections:
|
|
582
|
-
|
|
583
|
-
1. **Request** — verbatim restatement of the user's ask in one sentence.
|
|
584
|
-
2. **Fan-out + Cost** — `sub_agents_spawned: { count, rationale }` plus the `cost_estimate` / `cost_actuals` / `delta` blocks (see Cost Visibility below).
|
|
585
|
-
3. **Web Research** — every URL fetched with access date + trust tier per `agents/shared/rigor-contract.md` (0 acceptable when no research was needed).
|
|
586
|
-
4. **Files Mutated** — list with diff summary (lines added / removed / files created).
|
|
587
|
-
5. **Gates Passed / Failed** — explicit list per `.claude/rules/capability-lifecycle.md` Gate Checklist.
|
|
588
|
-
6. **Pillar Impact Attribution** — `progress_toward_pillar: <axis>.<pillar_id>+<delta>` per CONSTITUTION §6 Decision 17.
|
|
589
|
-
7. **Verification Commands** — exact commands run with exit codes plus key output lines (≤200 chars).
|
|
590
|
-
8. **Open Questions / Blockers** — explicit `None` if fully closed.
|
|
591
|
-
9. **Learnings Captured** — IDs of any learnings written to `.hatch3r/learnings/` this run per `rules/hatch3r-learning-system.md`.
|
|
579
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`: a 1–2 line recap (status, outcome, files · sub-agents · gates · cost delta) plus every exception line whose firing condition holds — silence asserts the default. Omitting the recap fails that rule's Validation Gate (CONSTITUTION §6 Decision 23, superseded in place 2026-07-06).
|
|
592
580
|
|
|
593
581
|
### Cost Visibility (Decision 24)
|
|
594
582
|
|
|
595
|
-
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in
|
|
583
|
+
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
596
584
|
|
|
597
585
|
## Cost estimate (Decision 24)
|
|
598
586
|
|
|
599
587
|
This command emits cost transparency per `rules/hatch3r-cost-visibility.md` and CONSTITUTION §6 Decision 24/29:
|
|
600
588
|
|
|
601
589
|
- **Pre-execution `cost_estimate`** -- emitted in Step 0.5 before the first researcher dispatch.
|
|
602
|
-
- **Post-execution `cost_actuals` + `delta`** -- appended to the
|
|
590
|
+
- **Post-execution `cost_actuals` + `delta`** -- appended to the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
603
591
|
|
|
604
592
|
Per-tier `expected_sa_count` calibration (from frontmatter `sub_agents_spawned.count: 5` × tier heuristic in `rules/hatch3r-cost-visibility.md` Pre-Execution Estimate): Tier 1 ≈ 2 (coverage-analysis + risk-prioritization); Tier 2/3 spawn up to 5 parallel researcher modes. Deltas beyond 25% absolute value carry `flagged_for_review: true`. Token telemetry sources from `src/pipeline/observability.ts`; estimation primitives from `src/pipeline/costEstimator.ts`.
|
|
605
593
|
|
|
@@ -37,9 +37,9 @@ Optional guided development lifecycle command that walks through structured phas
|
|
|
37
37
|
| 3b. Final Quality — Testing | `hatch3r-testability` | Yes | Yes (code changes) |
|
|
38
38
|
| 3c. Final Quality — Security | `hatch3r-security` | Yes | Yes (code changes) |
|
|
39
39
|
| 3d. Final Quality — Docs | `hatch3r-docs-writer` | Yes | When APIs/architecture/UX affected |
|
|
40
|
-
| 3e. Final Quality —
|
|
40
|
+
| 3e. Final Quality — Triggered | `hatch3r-lint-fixer` + `hatch3r-ui` + `hatch3r-ux` (mandatory-on-match — each triggered one MUST spawn as its own dedicated instance at Tier 2/3) + the conditional CQ specialists (`hatch3r-reliability`, `hatch3r-scalability`, `hatch3r-performance`, `hatch3r-maintainability`, `hatch3r-enhancability`) per `SPECIALIST_TRIGGER_TABLE` | Yes | Spawn each whose trigger matches the diff |
|
|
41
41
|
|
|
42
|
-
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above (multi-module implementers in Phase 3, the Phase-4b final-quality batch) holds all three — read-only or disjoint writes, deterministic aggregation, no shared mutable state.
|
|
42
|
+
**Parallel-safety conditions** (per `rules/hatch3r-agent-orchestration.md` §Parallel Safety): every parallel fan-out above (multi-module implementers in Phase 3, the Phase-4b final-quality batch) holds all three — read-only or disjoint writes (file- and contract-level), deterministic aggregation, no shared mutable state.
|
|
43
43
|
|
|
44
44
|
## Browser Automation
|
|
45
45
|
|
|
@@ -135,7 +135,7 @@ cost_estimate:
|
|
|
135
135
|
estimated_duration_min: <int>
|
|
136
136
|
```
|
|
137
137
|
|
|
138
|
-
Post-execution actuals + delta land in the
|
|
138
|
+
Post-execution actuals + delta land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md` Post-Execution Actuals. Token telemetry sources from `src/pipeline/observability.ts`.
|
|
139
139
|
|
|
140
140
|
### Step 0.6: Effort Override (Decision 17)
|
|
141
141
|
|
|
@@ -344,9 +344,10 @@ Spawn a `hatch3r-reviewer` sub-agent via the Task tool (`subagent_type: "general
|
|
|
344
344
|
2. **Confidence-aware gate** (the second-pass trigger tightens with the `--confidence-floor` set in Step 0.7 — `any` = default below, `medium`/`high` raise the bar). First resolve the reviewer `confidence` field per the Confidence Propagation Contract absent-confidence clause: an absent or unparseable value is treated as `low` (it does NOT satisfy `!= low`), matching the code gate where `unknown` ranks below `low`.
|
|
345
345
|
- **0 Critical + 0 Warning AND reviewer confidence == high or medium:** Review loop is clean. Proceed to 4b. (Floor `medium`: also force a second pass if any individual finding is `confidence == low`. Floor `high`: force a second pass if reviewer confidence `!= high` OR any finding is `!= high`, AND ASK on every low-confidence finding.)
|
|
346
346
|
- **0 Critical + 0 Warning AND reviewer confidence == low (including absent/unparseable, resolved to `low` above):** Trigger a second reviewer pass before exiting. Do not proceed to 4b until the second pass returns high/medium confidence OR the user explicitly accepts the low-confidence PASS at the ASK checkpoint in step 5.
|
|
347
|
-
3. **If Critical or Warning findings exist:** Spawn a `hatch3r-fixer` sub-agent with the reviewer output. The fixer applies fixes for all Critical and Warning findings.
|
|
347
|
+
3. **If Critical or Warning findings exist:** Spawn a `hatch3r-fixer` sub-agent with the reviewer output. The fixer applies fixes for all Critical and Warning findings — append the W1 write-ahead rows before the fixer dispatch and the W2 disposition rows after the re-review (`rules/hatch3r-findings-ledger.md` → Write Points).
|
|
348
348
|
4. **Re-review:** After the fixer completes, spawn `hatch3r-reviewer` again to verify fixes.
|
|
349
|
-
5. **Repeat** steps 2-4 for a maximum of **3 iterations** (code-class cap). If still not clean after 3 iterations, **ASK** the user how to proceed (force continue / manual fix / abort).
|
|
349
|
+
5. **Repeat** steps 2-4 for a maximum of **3 iterations** (code-class cap). If still not clean after 3 iterations, **ASK** the user how to proceed (force continue / manual fix / abort). The ASK lists each open `finding_id` with its legal closures (fix manually / defer → todo.md anchor / accept risk — user-attested only); on exit, reconcile the ledger to the run-exit invariant (W3, `rules/hatch3r-findings-ledger.md`); in `--auto` mode record open findings as `escalated` and exit PARTIAL.
|
|
350
|
+
- **Suggestion terminalization (W5):** every Suggestion row goes terminal at loop exit — `surfaced` (ID on the recap's `Open findings:` line), `deferred` (todo.md anchor), or `declined` (quoted user reply); unattended default is `surfaced` (`rules/hatch3r-findings-ledger.md`).
|
|
350
351
|
|
|
351
352
|
> **Iteration-cap rationale (D10-SA10.7-F10.7.7).** Code reviews diverge faster than spec reviews — a code finding can spawn a regression the next iteration must catch — so the code-class loop here caps at 3. The spec-class loop in `hatch3r-board-fill` Step 7.9d caps at 4 because issue-spec reviews converge more slowly and deterministically (text refinement, no runtime regressions). Both are bounded below `DEFAULT_MAX_REVIEW_ITERATIONS` (4) in `src/pipeline/reviewLoop.ts`, which keeps the oscillation detector reachable in default config. Expected convergence is 1–2 iterations; the cap is the divergence backstop, not the target.
|
|
352
353
|
|
|
@@ -373,13 +374,13 @@ Each reviewer/fixer sub-agent prompt MUST include:
|
|
|
373
374
|
|
|
374
375
|
3. **`hatch3r-docs-writer`** — spawn when changes affect public APIs, architectural patterns, user-facing behavior, or when specs/ADRs need updating. Skip silently if no documentation impact.
|
|
375
376
|
|
|
376
|
-
**
|
|
377
|
+
**Triggered specialists (spawn each whose trigger matches the diff):**
|
|
377
378
|
|
|
378
|
-
Spawn **all
|
|
379
|
+
Spawn **all triggered CQ specialists (CQ1-CQ9) per `SPECIALIST_TRIGGER_TABLE`** plus `hatch3r-lint-fixer` — not the lint/ui/performance subset alone. Evaluate each via `shouldTriggerSpecialist(specialist, changedFiles, projectType)` (D6-M11); spawn the ones that return `{ triggered: true }`. A `mandatory: true` return (mode `mandatory-on-match`) is non-skippable at Tier 2/3 — that specialist MUST spawn as its own dedicated sub-agent instance:
|
|
379
380
|
|
|
380
381
|
4. **`hatch3r-lint-fixer`** — lint or type errors present after implementation.
|
|
381
|
-
5. **`hatch3r-ui`** (CQ1) — UI component / design-token / theme files modified.
|
|
382
|
-
6. **`hatch3r-ux`** (CQ2) — flow / route-transition / modal / error-state files or microcopy/i18n strings modified.
|
|
382
|
+
5. **`hatch3r-ui`** (CQ1, mandatory-on-match) — UI component / design-token / theme files modified. When triggered at Tier 2/3, a dedicated `hatch3r-ui` instance is a hard mandate.
|
|
383
|
+
6. **`hatch3r-ux`** (CQ2, mandatory-on-match) — flow / route-transition / modal / error-state files or microcopy/i18n strings modified. When triggered at Tier 2/3, a dedicated `hatch3r-ux` instance is a hard mandate (never merged into the `hatch3r-ui` spawn).
|
|
383
384
|
7. **`hatch3r-reliability`** (CQ4) — service/request handler, OTel/SLO, retry/circuit-breaker, or Kubernetes-probe code modified.
|
|
384
385
|
8. **`hatch3r-scalability`** (CQ6) — request handler, queue client, connection-pool, cache, or background-job code modified.
|
|
385
386
|
9. **`hatch3r-performance`** (CQ7) — ORM/data-access, UI-rendering, or bundle/hot-path code modified.
|
|
@@ -388,7 +389,7 @@ Spawn **all conditional CQ specialists (CQ1-CQ9) per `SPECIALIST_TRIGGER_TABLE`*
|
|
|
388
389
|
|
|
389
390
|
(`hatch3r-architect` and `hatch3r-devops` are also conditional in `SPECIALIST_TRIGGER_TABLE` but are not CQ-vector specialists; spawn them too when their architectural / CI-CD triggers match.)
|
|
390
391
|
|
|
391
|
-
> **Single source of truth for triggers (D6-M11):** the canonical trigger map lives in `src/pipeline/pipelineContext.ts::SPECIALIST_TRIGGER_TABLE` and the predicate `shouldTriggerSpecialist(specialist, changedFiles, projectType)` returns `{ triggered, reasons }` for any specialist. The brief prose list above is a quick reference only; for the authoritative trigger evaluation at runtime, call `shouldTriggerSpecialist` from the orchestrator harness (or the equivalent mirror in `rules/hatch3r-agent-orchestration.md` → Phase 4 Specialist Trigger Table). Adding a specialist to the prose without updating the TS table is rejected by `npm run validate:specialist-roster`.
|
|
392
|
+
> **Single source of truth for triggers (D6-M11):** the canonical trigger map lives in `src/pipeline/pipelineContext.ts::SPECIALIST_TRIGGER_TABLE` and the predicate `shouldTriggerSpecialist(specialist, changedFiles, projectType)` returns `{ triggered, reasons, mandatory? }` for any specialist. The brief prose list above is a quick reference only; for the authoritative trigger evaluation at runtime, call `shouldTriggerSpecialist` from the orchestrator harness (or the equivalent mirror in `rules/hatch3r-agent-orchestration.md` → Phase 4 Specialist Trigger Table). Adding a specialist to the prose without updating the TS table is rejected by `npm run validate:specialist-roster`.
|
|
392
393
|
|
|
393
394
|
Each specialist sub-agent prompt MUST include:
|
|
394
395
|
- The agent protocol to follow.
|
|
@@ -522,13 +523,14 @@ When invoked with `--auto` or `--unattended`, the workflow operates with reduced
|
|
|
522
523
|
| Analysis review (Phase 1) | ASK user to proceed | Auto-proceed if no open questions |
|
|
523
524
|
| Plan review (Phase 2) | ASK user to approve | Auto-proceed with plan |
|
|
524
525
|
| Implementation review (Phase 3) | ASK user before Review | Auto-proceed if quality checks pass |
|
|
525
|
-
| Review finalization (Phase 4) | ASK user to finalize | Auto-finalize
|
|
526
|
+
| Review finalization (Phase 4) | ASK user to finalize | Auto-finalize only when all AC met AND no unattested product decision is recorded (see Safety Guardrails) |
|
|
526
527
|
|
|
527
528
|
### Safety Guardrails (Always Active)
|
|
528
529
|
|
|
529
530
|
These checkpoints are NEVER skipped, even in auto mode:
|
|
530
531
|
- **Destructive operations**: Database migrations, file deletions, security rule changes always require confirmation
|
|
531
532
|
- **Breaking changes**: API contract changes, public interface modifications always require confirmation
|
|
533
|
+
- **Product-behavior decisions:** a change that deletes or transforms user data, or alters user-visible behavior beyond the issue's acceptance criteria, always requires user confirmation — a code comment or PR sentence authored by this run is not user consent (`agents/shared/user-question-protocol.md` → Unattested product decision). Unattended: record the decision as `escalated` in the findings ledger and exit PARTIAL.
|
|
532
534
|
- **Open questions**: If Phase 1 analysis surfaces unresolvable ambiguity, stop and ASK regardless of mode
|
|
533
535
|
- **Quality gate failures**: If lint/typecheck/test fail after 2 fix attempts, stop and ASK
|
|
534
536
|
- **Cost thresholds**: When the estimated cost for the selected tier exceeds the configured limit (default: $10 per task), do NOT abort silently. Call `proposeAlternativeTier(currentTier, currentEstimate, budget)` from `src/pipeline/costEstimator.ts` and surface a 3-option ASK: **(a) downgrade** to the suggested lower tier (saves the reported delta — drops the deep researcher modes / Phase-4 specialist depth that the lower tier omits), **(b) raise the budget** and proceed at the current tier, **(c) abort**. Default-if-no-response: abort (preserves the fail-closed contract). When `proposeAlternativeTier` returns `null` (current tier is already the cheapest, or no lower tier fits), present only raise-budget / abort.
|
|
@@ -575,30 +577,18 @@ workflow is long-running — a Tier 2/3 run walks the 4-phase delivery pipeline
|
|
|
575
577
|
|
|
576
578
|
## Iteration Summary (mandatory output)
|
|
577
579
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
The 9 sections:
|
|
581
|
-
|
|
582
|
-
1. **Request** — verbatim restatement of the user's ask in one sentence.
|
|
583
|
-
2. **Fan-out + Cost** — `sub_agents_spawned: { count, rationale }` plus the `cost_estimate` / `cost_actuals` / `delta` blocks (see Cost Visibility below).
|
|
584
|
-
3. **Web Research** — every URL fetched with access date + trust tier per `agents/shared/rigor-contract.md` (0 acceptable when no research was needed).
|
|
585
|
-
4. **Files Mutated** — list with diff summary (lines added / removed / files created).
|
|
586
|
-
5. **Gates Passed / Failed** — explicit list per `.claude/rules/capability-lifecycle.md` Gate Checklist.
|
|
587
|
-
6. **Pillar Impact Attribution** — `progress_toward_pillar: <axis>.<pillar_id>+<delta>` per CONSTITUTION §6 Decision 17.
|
|
588
|
-
7. **Verification Commands** — exact commands run with exit codes plus key output lines (≤200 chars).
|
|
589
|
-
8. **Open Questions / Blockers** — explicit `None` if fully closed.
|
|
590
|
-
9. **Learnings Captured** — IDs of any learnings written to `.hatch3r/learnings/` this run per `rules/hatch3r-learning-system.md`.
|
|
580
|
+
Close the run with the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`: a 1–2 line recap (status, outcome, files · sub-agents · gates · cost delta) plus every exception line whose firing condition holds — silence asserts the default. Omitting the recap fails that rule's Validation Gate (CONSTITUTION §6 Decision 23, superseded in place 2026-07-06).
|
|
591
581
|
|
|
592
582
|
### Cost Visibility (Decision 24)
|
|
593
583
|
|
|
594
|
-
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in
|
|
584
|
+
> Orchestration boilerplate: see `commands/shared/orchestration-frame.md` → Cost Estimate for the 5-field `cost_estimate` schema and the post-execution `cost_actuals` + `delta` contract; both land in the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
595
585
|
|
|
596
586
|
## Cost estimate (Decision 24)
|
|
597
587
|
|
|
598
588
|
This command emits cost transparency per `rules/hatch3r-cost-visibility.md` and CONSTITUTION §6 Decision 24/29:
|
|
599
589
|
|
|
600
590
|
- **Pre-execution `cost_estimate`** — emitted in Step 0.5 before the first sub-agent dispatch (both Full and Quick Mode).
|
|
601
|
-
- **Post-execution `cost_actuals` + `delta`** — appended to the
|
|
591
|
+
- **Post-execution `cost_actuals` + `delta`** — appended to the Iteration Summary recap (cost facet; full blocks on the `Cost:` exception line beyond ±25%) per `rules/hatch3r-cost-visibility.md`.
|
|
602
592
|
|
|
603
593
|
Per-tier `expected_sa_count` calibration (from frontmatter `sub_agents_spawned.count: 15` × tier heuristic in `rules/hatch3r-cost-visibility.md` Pre-Execution Estimate): Quick Tier 1 ≈ 2 (researcher + implementer, reviewer/fixer/testability/security when triggered), Quick Tier 2 ≈ 6 (researcher + implementer + reviewer + fixer + testability + security), Full Tier 3 up to 15 (full pipeline including the Phase-4b CQ1-CQ9 specialist batch bounded by `max_phase4_parallel`). Token telemetry sources from `src/pipeline/observability.ts`; estimation primitives from `src/pipeline/costEstimator.ts`.
|
|
604
594
|
|