@manhd_d/ai-harness 0.6.2 → 0.8.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/CHANGELOG.md +52 -0
- package/CONTRIBUTING.md +4 -0
- package/README.md +20 -3
- package/adapters/java-spring/adapter.yaml +3 -2
- package/adapters/java-spring/checks/verification.yaml +12 -0
- package/adapters/java-spring/evals/cases.json +10 -0
- package/adapters/java-spring/rules/conventions.md +39 -0
- package/adapters/java-spring/rules.md +2 -1
- package/adapters/kubernetes/adapter.yaml +1 -1
- package/adapters/kubernetes/rules.md +3 -0
- package/adapters/react-native/adapter.yaml +3 -2
- package/adapters/react-native/checks/verification.yaml +12 -0
- package/adapters/react-native/evals/cases.json +10 -0
- package/adapters/react-native/rules/conventions.md +34 -0
- package/adapters/react-native/rules.md +2 -1
- package/adapters/react-nextjs/adapter.yaml +3 -2
- package/adapters/react-nextjs/checks/verification.yaml +12 -0
- package/adapters/react-nextjs/evals/cases.json +10 -0
- package/adapters/react-nextjs/rules/conventions.md +37 -0
- package/adapters/react-nextjs/rules.md +2 -1
- package/capabilities/architecture/README.md +11 -0
- package/capabilities/architecture/agents/architecture-reviewer.md +16 -0
- package/capabilities/architecture/agents/solution-architect.md +16 -0
- package/capabilities/architecture/capability.json +35 -0
- package/capabilities/architecture/checks/verification.json +29 -0
- package/capabilities/architecture/evals/cases.json +35 -0
- package/capabilities/architecture/skills/harness-architecture-change-impact/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-decision-records/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-project-context/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-quality-attributes/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-review/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-solution-design/SKILL.md +44 -0
- package/capabilities/architecture/templates/adr.md +29 -0
- package/capabilities/architecture/templates/nfr.md +22 -0
- package/capabilities/architecture/templates/overview.md +24 -0
- package/capabilities/architecture/templates/project-map.md +26 -0
- package/capabilities/architecture/templates/review.md +23 -0
- package/capabilities/architecture/templates/solution-design.md +29 -0
- package/capabilities/architecture/workflows/change-review.md +12 -0
- package/capabilities/architecture/workflows/discovery-to-design.md +16 -0
- package/capabilities/delivery/README.md +11 -0
- package/capabilities/delivery/agents/project-manager.md +16 -0
- package/capabilities/delivery/capability.json +29 -0
- package/capabilities/delivery/checks/verification.json +29 -0
- package/capabilities/delivery/evals/cases.json +25 -0
- package/capabilities/delivery/skills/harness-delivery-planning/SKILL.md +43 -0
- package/capabilities/delivery/skills/harness-delivery-risk-management/SKILL.md +42 -0
- package/capabilities/delivery/skills/harness-delivery-scope-change/SKILL.md +43 -0
- package/capabilities/delivery/templates/change-assessment.md +23 -0
- package/capabilities/delivery/templates/delivery-plan.md +25 -0
- package/capabilities/delivery/templates/risk-register.md +19 -0
- package/capabilities/delivery/workflows/execution-change.md +9 -0
- package/capabilities/delivery/workflows/planning.md +12 -0
- package/capabilities/product/README.md +7 -0
- package/capabilities/product/agents/business-analyst.md +3 -0
- package/capabilities/product/agents/product-owner.md +5 -1
- package/capabilities/product/agents/project-manager.md +5 -0
- package/capabilities/product/capability.json +9 -4
- package/capabilities/product/checks/verification.json +12 -0
- package/capabilities/product/evals/cases.json +10 -0
- package/capabilities/product/skills/harness-product-acceptance-criteria/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-backlog-prioritization/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-brd-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-business-analysis/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-document-review/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-idea-discovery/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-knowledge-analysis/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-mvp-definition/SKILL.md +43 -0
- package/capabilities/product/skills/harness-product-prd-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-product-outcomes/SKILL.md +42 -0
- package/capabilities/product/skills/harness-product-product-research/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-srs-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-traceability/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-use-case-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-user-stories/SKILL.md +17 -0
- package/capabilities/product/templates/mvp.md +25 -0
- package/capabilities/product/templates/outcomes.md +23 -0
- package/capabilities/product/workflows/document-driven.md +4 -0
- package/capabilities/product/workflows/idea-driven.md +4 -0
- package/capabilities/product/workflows/product-to-solution.md +15 -0
- package/cli/agents.js +165 -0
- package/cli/environment.js +170 -0
- package/cli/harness.js +40 -10
- package/cli/main.js +47 -11
- package/cli/readiness.js +117 -0
- package/config/agents.default.json +80 -0
- package/core/agents/documentation.md +13 -0
- package/core/agents/implementer.md +7 -0
- package/core/agents/orchestrator.md +13 -0
- package/core/agents/planner.md +7 -0
- package/core/agents/reviewer.md +8 -0
- package/core/checks/verification.json +37 -0
- package/core/evals/cases.json +101 -0
- package/core/evals/composition.json +15 -0
- package/core/rules/foundations.md +1 -0
- package/core/rules/project-conventions.md +61 -0
- package/core/skills/harness-review/SKILL.md +2 -0
- package/core/skills/harness-spec/SKILL.md +6 -2
- package/core/workflows/agent-routing.md +28 -0
- package/core/workflows/bugfix.md +2 -0
- package/core/workflows/clarification.md +28 -0
- package/core/workflows/project-setup.md +37 -0
- package/core/workflows/solution-framing.md +33 -0
- package/core/workflows/spec-to-code.md +18 -3
- package/docs/adapters.md +6 -0
- package/docs/agent-configuration.md +99 -0
- package/docs/agent-handoffs.md +19 -0
- package/docs/architecture.md +33 -1
- package/docs/change-readiness.md +67 -0
- package/docs/cli.md +41 -3
- package/docs/documentation-workflows.md +7 -0
- package/docs/end-to-end-workflow.md +10 -1
- package/docs/getting-started.md +29 -2
- package/docs/harness-maintenance.md +80 -0
- package/docs/monetization.md +1 -1
- package/docs/project-configuration.md +86 -0
- package/docs/project-conventions.md +67 -0
- package/docs/research/solution-workflow-sources.md +30 -0
- package/docs/skill-matrix.md +28 -4
- package/docs/solution-workflow.md +67 -0
- package/docs/templates/harness-change-impact.md +30 -0
- package/docs/tool-setup/README.md +70 -0
- package/docs/tool-setup/claude-code.md +57 -0
- package/docs/tool-setup/codex.md +44 -0
- package/docs/tool-setup/copilot.md +42 -0
- package/docs/tool-setup/cursor.md +44 -0
- package/docs/tool-setup/gemini-cli.md +41 -0
- package/docs/versioning.md +37 -0
- package/evals/README.md +16 -0
- package/evals/real-task-comparison.md +49 -0
- package/harness.yaml +4 -2
- package/package.json +2 -1
- package/templates/AGENTS.md +13 -1
- package/templates/environment.json +6 -0
- package/templates/openspec/decisions.json +5 -0
- package/templates/openspec/design.md +6 -0
- package/templates/openspec/tasks.md +1 -0
- package/templates/openspec/verification.json +4 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-architecture-change-impact
|
|
3
|
+
description: Assess change impact and architecture drift using a source-linked living project map.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# harness-architecture-change-impact
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
Requested change, current project-map/ADRs, affected source revisions, API/event/schema consumers and existing tests.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Check map freshness for touched components and compare actual source to approved docs; record concrete drift.
|
|
13
|
+
2. Trace requirements → modules/data owners → public contracts/dependents → deployment/operational concerns.
|
|
14
|
+
3. Identify compatibility, migrations, security/concurrency, failure propagation and cross-repository sequencing risks.
|
|
15
|
+
4. Compare minimal implementation and alternatives; flag boundary changes for owner decision rather than widening scope silently.
|
|
16
|
+
5. Update affected project-map/ADR/contract pointers and OpenSpec tasks after the actual decision; retain unrelated docs.
|
|
17
|
+
6. Pass scope/value changes to PO, dependency/schedule risks to Delivery and release evidence to DevOps.
|
|
18
|
+
|
|
19
|
+
## Output
|
|
20
|
+
Updated docs/architecture/project-map.md and change-specific impact notes linked to affected IDs/paths.
|
|
21
|
+
|
|
22
|
+
## Template
|
|
23
|
+
Read `.harness/capabilities/architecture/templates/project-map.md` from the installed snapshot.
|
|
24
|
+
Use `aih new-doc project-map --capability architecture` only for a missing draft;
|
|
25
|
+
reuse existing authoritative docs or a compact task note when appropriate. Never overwrite approved content.
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
A phone-normalization change affects the unique index, API duplicate policy and imports. Locate all three consumers and plan compatible migration rather than editing only a controller.
|
|
29
|
+
|
|
30
|
+
## Quality checklist
|
|
31
|
+
- Dependent public contracts and data ownership were considered
|
|
32
|
+
- Drift has concrete paths/revisions and a reviewed resolution
|
|
33
|
+
- No speculative impact or unrelated broad refactor
|
|
34
|
+
|
|
35
|
+
## Handoff
|
|
36
|
+
State source revisions, requirement/decision IDs, approval status, unresolved questions, output paths,
|
|
37
|
+
actual checks and next role. Use the module workflow; role names are not human authorization.
|
|
38
|
+
|
|
39
|
+
## Constraints
|
|
40
|
+
Follow Core permissions, clarification and project-conventions. Ask only consequential unknowns with
|
|
41
|
+
2–3 distinct options, evidence-based recommendation and free text; reuse established answers.
|
|
42
|
+
No invented source, measured result, target, estimate or approval. No external messaging/publishing,
|
|
43
|
+
paid tool use or production changes beyond the user's explicit authorization.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-architecture-decision-records
|
|
3
|
+
description: Record traceable architecture decisions with alternatives, consequences and reconsideration triggers.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# harness-architecture-decision-records
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
Decision question, actual drivers/evidence, options, current ADRs and stakeholder answers.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Locate related accepted/superseded ADRs; avoid a second conflicting decision on the same scope.
|
|
13
|
+
2. Record a stable ID, status, scope, source revision, owner and date; proposed is not accepted.
|
|
14
|
+
3. Explain the problem, viable options and evaluation against drivers; document selected option only after an actual decision.
|
|
15
|
+
4. Capture positive/negative consequences, verification, migration/rollback and measurable triggers for reconsideration.
|
|
16
|
+
5. Link requirement/NFR IDs, module/contracts and OpenSpec change. Preserve superseded history and update the project map.
|
|
17
|
+
6. For a trivial reversible choice, a task note is enough; do not manufacture an ADR for every edit.
|
|
18
|
+
|
|
19
|
+
## Output
|
|
20
|
+
A project-owned ADR, e.g. docs/architecture/decisions/adr-001.md, linked from project-map and active OpenSpec design.
|
|
21
|
+
|
|
22
|
+
## Template
|
|
23
|
+
Read `.harness/capabilities/architecture/templates/adr.md` from the installed snapshot.
|
|
24
|
+
Use `aih new-doc adr --capability architecture` only for a missing draft;
|
|
25
|
+
reuse existing authoritative docs or a compact task note when appropriate. Never overwrite approved content.
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
ADR-001 proposes synchronous provider calls for the first release. Owner confirms the latency trade-off; status becomes accepted. Reconsider when measured timeouts exceed the agreed threshold; that threshold stays pending until agreed.
|
|
29
|
+
|
|
30
|
+
## Quality checklist
|
|
31
|
+
- Accepted status has actual owner decision evidence
|
|
32
|
+
- Alternatives and negative consequences are explicit
|
|
33
|
+
- Superseded records and implementation links stay traceable
|
|
34
|
+
|
|
35
|
+
## Handoff
|
|
36
|
+
State source revisions, requirement/decision IDs, approval status, unresolved questions, output paths,
|
|
37
|
+
actual checks and next role. Use the module workflow; role names are not human authorization.
|
|
38
|
+
|
|
39
|
+
## Constraints
|
|
40
|
+
Follow Core permissions, clarification and project-conventions. Ask only consequential unknowns with
|
|
41
|
+
2–3 distinct options, evidence-based recommendation and free text; reuse established answers.
|
|
42
|
+
No invented source, measured result, target, estimate or approval. No external messaging/publishing,
|
|
43
|
+
paid tool use or production changes beyond the user's explicit authorization.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-architecture-project-context
|
|
3
|
+
description: Map verified system context, module ownership and source-linked architecture for new or existing projects.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# harness-architecture-project-context
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
Idea/approved BA sources, repository revision, scope/mode, deployments, existing ADRs, integrations and access constraints.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Read local facts, authoritative requirements and touched source; select small/new/maintain depth and preserve approved existing architecture.
|
|
13
|
+
2. Map actors, system boundary, external systems, deployment units and trust boundaries; mark inaccessible parts explicitly.
|
|
14
|
+
3. Inventory modules, public APIs, data owners, reusable common components and allowed dependency direction using actual paths.
|
|
15
|
+
4. Record revision/date and canonical doc/code links in a living project map; verify touched entries rather than scanning every file.
|
|
16
|
+
5. List gaps, assumptions, constraints and technical debt with owner; route value/scope to PO, quality gaps to NFR and release gaps to DevOps.
|
|
17
|
+
6. When source differs from docs, show the specific mismatch and refresh only the affected reviewed context.
|
|
18
|
+
|
|
19
|
+
## Output
|
|
20
|
+
docs/architecture/overview.md and linked project-map.md; compact notes suffice for a small fix.
|
|
21
|
+
|
|
22
|
+
## Template
|
|
23
|
+
Read `.harness/capabilities/architecture/templates/overview.md` from the installed snapshot.
|
|
24
|
+
Use `aih new-doc overview --capability architecture` only for a missing draft;
|
|
25
|
+
reuse existing authoritative docs or a compact task note when appropriate. Never overwrite approved content.
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
Maintain customer service: controller → customer use case → repository; organization authorization comes from a supported shared API. An unreachable billing integration is recorded as unknown, not inferred from its name.
|
|
29
|
+
|
|
30
|
+
## Quality checklist
|
|
31
|
+
- Each component/ownership assertion has a source path or explicitly marked hypothesis
|
|
32
|
+
- Actual public boundaries and source revision recorded
|
|
33
|
+
- No automatic migration or full-document regeneration
|
|
34
|
+
|
|
35
|
+
## Handoff
|
|
36
|
+
State source revisions, requirement/decision IDs, approval status, unresolved questions, output paths,
|
|
37
|
+
actual checks and next role. Use the module workflow; role names are not human authorization.
|
|
38
|
+
|
|
39
|
+
## Constraints
|
|
40
|
+
Follow Core permissions, clarification and project-conventions. Ask only consequential unknowns with
|
|
41
|
+
2–3 distinct options, evidence-based recommendation and free text; reuse established answers.
|
|
42
|
+
No invented source, measured result, target, estimate or approval. No external messaging/publishing,
|
|
43
|
+
paid tool use or production changes beyond the user's explicit authorization.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-architecture-quality-attributes
|
|
3
|
+
description: Translate NFRs into measurable quality scenarios and verification plans with evidence-backed targets.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# harness-architecture-quality-attributes
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
MVP journeys, data classification, expected load evidence, business constraints, operational environment and known limits.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Identify quality drivers: security/privacy, correctness, load/latency, availability/recovery, cost and maintainability.
|
|
13
|
+
2. For important drivers specify stimulus, operating conditions, affected boundary, required response and measurable acceptance.
|
|
14
|
+
3. Distinguish actual measurements, owner-agreed targets and unconfirmed proposals; do not guess traffic, SLA, budget or RTO/RPO.
|
|
15
|
+
4. Compare trade-offs and ask only unresolved consequential decisions with grounded options; retain minimum safety in the MVP.
|
|
16
|
+
5. Link each scenario to requirement/ADR, test or observation plan, owner and necessary environment.
|
|
17
|
+
6. Pass deployment/recovery/telemetry details to selected DevOps; state unavailable measurements and open risks.
|
|
18
|
+
|
|
19
|
+
## Output
|
|
20
|
+
docs/architecture/nfr.md with NFR IDs, quality scenarios, evidence and verification ownership.
|
|
21
|
+
|
|
22
|
+
## Template
|
|
23
|
+
Read `.harness/capabilities/architecture/templates/nfr.md` from the installed snapshot.
|
|
24
|
+
Use `aih new-doc nfr --capability architecture` only for a missing draft;
|
|
25
|
+
reuse existing authoritative docs or a compact task note when appropriate. Never overwrite approved content.
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
A cache miss burst could overload the DB. Document admission/degradation alternatives and a load-test plan. Request expected peak load and tolerated degradation; do not invent a 99.99% SLA.
|
|
29
|
+
|
|
30
|
+
## Quality checklist
|
|
31
|
+
- Scenario is testable in stated conditions
|
|
32
|
+
- Targets have approval/source or stay pending
|
|
33
|
+
- Failure/recovery and privacy/cost consequences are assessed
|
|
34
|
+
|
|
35
|
+
## Handoff
|
|
36
|
+
State source revisions, requirement/decision IDs, approval status, unresolved questions, output paths,
|
|
37
|
+
actual checks and next role. Use the module workflow; role names are not human authorization.
|
|
38
|
+
|
|
39
|
+
## Constraints
|
|
40
|
+
Follow Core permissions, clarification and project-conventions. Ask only consequential unknowns with
|
|
41
|
+
2–3 distinct options, evidence-based recommendation and free text; reuse established answers.
|
|
42
|
+
No invented source, measured result, target, estimate or approval. No external messaging/publishing,
|
|
43
|
+
paid tool use or production changes beyond the user's explicit authorization.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-architecture-review
|
|
3
|
+
description: Review solution and implemented boundaries against MVP, NFRs, ADRs and actual verification evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# harness-architecture-review
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
Design/diff, approved requirements, ADRs, project map, tests, build results and deployment constraints.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Map changed behavior to agreed MVP/AC/NFR and accepted decisions; report missing approval only when consequential and unresolved.
|
|
13
|
+
2. Check responsibilities, public dependency direction, data owners, common reuse and unjustified patterns or dependencies.
|
|
14
|
+
3. Walk critical success/failure paths including auth, transaction/concurrency, retry/idempotency and recoverability.
|
|
15
|
+
4. Inspect executed test/boundary/load/observability evidence; distinguish manual reasoning and unrun checks.
|
|
16
|
+
5. Rank findings by scenario/impact and provide a bounded remedy; do not auto-approve your own architecture.
|
|
17
|
+
6. Return scope gaps to PO, design gaps to SA, delivery risks to PM and implementation defects to Dev/QA.
|
|
18
|
+
|
|
19
|
+
## Output
|
|
20
|
+
docs/architecture/review.md or PR findings linked to requirements/decisions, with evidence and residual risks.
|
|
21
|
+
|
|
22
|
+
## Template
|
|
23
|
+
Read `.harness/capabilities/architecture/templates/review.md` from the installed snapshot.
|
|
24
|
+
Use `aih new-doc review --capability architecture` only for a missing draft;
|
|
25
|
+
reuse existing authoritative docs or a compact task note when appropriate. Never overwrite approved content.
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
Client UI hides cross-tenant records but the server query lacks tenant filtering. Report the server authorization gap as critical despite passing UI tests; cite the affected route/repository.
|
|
29
|
+
|
|
30
|
+
## Quality checklist
|
|
31
|
+
- Findings include location, scenario, impact and remedy
|
|
32
|
+
- Review evidence distinguishes tests, manual checks and unknowns
|
|
33
|
+
- Checks do not claim model compliance or production readiness without evidence
|
|
34
|
+
|
|
35
|
+
## Handoff
|
|
36
|
+
State source revisions, requirement/decision IDs, approval status, unresolved questions, output paths,
|
|
37
|
+
actual checks and next role. Use the module workflow; role names are not human authorization.
|
|
38
|
+
|
|
39
|
+
## Constraints
|
|
40
|
+
Follow Core permissions, clarification and project-conventions. Ask only consequential unknowns with
|
|
41
|
+
2–3 distinct options, evidence-based recommendation and free text; reuse established answers.
|
|
42
|
+
No invented source, measured result, target, estimate or approval. No external messaging/publishing,
|
|
43
|
+
paid tool use or production changes beyond the user's explicit authorization.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-architecture-solution-design
|
|
3
|
+
description: Compare architectures and local design patterns against MVP, NFRs and existing project boundaries.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# harness-architecture-solution-design
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
Reviewed scope, NFR scenarios, context/module map, approved ADRs, team/toolchain constraints and comparable code.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Identify the decision level: deployment/application style, module boundary or local algorithm/object creation; Factory is not an alternative to Ports and Adapters.
|
|
13
|
+
2. For genuinely open architecture decisions compare 2–3 viable options by complexity, testability, integration, operations, cost and reversibility.
|
|
14
|
+
3. Recommend the smallest fit and cite drivers. Layered feature modules, modular monolith and selective Ports and Adapters can combine; do not default to microservices.
|
|
15
|
+
4. For a feature, identify actual variation/coupling. Consider Strategy for interchangeable behavior, Factory for complex construction, Adapter for interface translation, State for meaningful state transitions; a direct function/class remains valid.
|
|
16
|
+
5. Record module responsibilities, public dependencies, data ownership, API/event boundaries and important success/failure sequences.
|
|
17
|
+
6. Define retries/timeouts/idempotency, transaction/consistency policy and observability where needed; record consequential choices in ADRs and agree them before affected code.
|
|
18
|
+
7. Hand vertical implementation slices and verification boundaries to Delivery/Core and stack-specific adapters.
|
|
19
|
+
|
|
20
|
+
## Output
|
|
21
|
+
docs/architecture/solution-design.md, linked ADRs and OpenSpec design/tasks, with explicit alternatives and accepted scope.
|
|
22
|
+
|
|
23
|
+
## Template
|
|
24
|
+
Read `.harness/capabilities/architecture/templates/solution-design.md` from the installed snapshot.
|
|
25
|
+
Use `aih new-doc solution-design --capability architecture` only for a missing draft;
|
|
26
|
+
reuse existing authoritative docs or a compact task note when appropriate. Never overwrite approved content.
|
|
27
|
+
|
|
28
|
+
## Example
|
|
29
|
+
A CRUD MVP may use feature packages and direct services. If two payment providers differ, introduce a small provider port/adapter only there. Strategy is justified for distinct pricing algorithms, not for a single unchanged calculation.
|
|
30
|
+
|
|
31
|
+
## Quality checklist
|
|
32
|
+
- Each pattern solves a concrete requirement and its extra complexity is justified
|
|
33
|
+
- MVP, NFRs, contracts and public dependency direction align
|
|
34
|
+
- Failure scenarios and rollout constraints included where relevant
|
|
35
|
+
|
|
36
|
+
## Handoff
|
|
37
|
+
State source revisions, requirement/decision IDs, approval status, unresolved questions, output paths,
|
|
38
|
+
actual checks and next role. Use the module workflow; role names are not human authorization.
|
|
39
|
+
|
|
40
|
+
## Constraints
|
|
41
|
+
Follow Core permissions, clarification and project-conventions. Ask only consequential unknowns with
|
|
42
|
+
2–3 distinct options, evidence-based recommendation and free text; reuse established answers.
|
|
43
|
+
No invented source, measured result, target, estimate or approval. No external messaging/publishing,
|
|
44
|
+
paid tool use or production changes beyond the user's explicit authorization.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Architecture decision record
|
|
2
|
+
|
|
3
|
+
Status: draft / pending review
|
|
4
|
+
Owner: TODO
|
|
5
|
+
Sources and revisions: TODO
|
|
6
|
+
Scope / related requirement and decision IDs: TODO
|
|
7
|
+
Last verified against code: TODO (or not applicable with reason)
|
|
8
|
+
|
|
9
|
+
## Record identity
|
|
10
|
+
Stable ADR ID: TODO
|
|
11
|
+
Decision status: proposed / accepted / superseded
|
|
12
|
+
Decision owner / date / evidence: TODO
|
|
13
|
+
Supersedes / superseded by: TODO or none
|
|
14
|
+
## Decision question and drivers
|
|
15
|
+
Problem, affected scope, requirement/NFR/source links and constraints.
|
|
16
|
+
## Options and assessment
|
|
17
|
+
At least the viable alternatives; strengths, costs and failure consequences against actual drivers.
|
|
18
|
+
## Resolution
|
|
19
|
+
Chosen option and actual owner decision source. Keep proposed until the consequential choice is settled.
|
|
20
|
+
## Consequences and follow-through
|
|
21
|
+
Positive/negative implications, implementation/contract paths, verification, migration and rollback.
|
|
22
|
+
## Reconsideration
|
|
23
|
+
Evidence or agreed thresholds that would reopen the decision; preserve superseded history.
|
|
24
|
+
After scaffolding, move this draft to a stable project-owned decisions/adr-NNN.md path before the next ADR.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Review and handoff
|
|
28
|
+
Record actual owner decisions, unresolved consequential questions, verification performed/skipped,
|
|
29
|
+
next role, source/output paths and affected OpenSpec change. Draft text is not an accepted decision.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Quality scenarios
|
|
2
|
+
|
|
3
|
+
Status: draft / pending review
|
|
4
|
+
Owner: TODO
|
|
5
|
+
Sources and revisions: TODO
|
|
6
|
+
Scope / related requirement and decision IDs: TODO
|
|
7
|
+
Last verified against code: TODO (or not applicable with reason)
|
|
8
|
+
|
|
9
|
+
## Drivers and evidence
|
|
10
|
+
MVP journey, users/data sensitivity, measured/expected load and financial/operational constraints.
|
|
11
|
+
## Scenarios
|
|
12
|
+
| ID | Stimulus / conditions | Boundary / response | Measure / agreed target | Evidence / owner | Verification |
|
|
13
|
+
| --- | --- | --- | --- | --- | --- |
|
|
14
|
+
| NFR-001 | TODO | TODO | unknown / pending | TODO | TODO |
|
|
15
|
+
## Trade-offs and failure policy
|
|
16
|
+
Security/correctness, availability/latency, recovery/RTO/RPO, cost and maintainability conflicts.
|
|
17
|
+
No assumed traffic, SLA or numerical target without authority.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## Review and handoff
|
|
21
|
+
Record actual owner decisions, unresolved consequential questions, verification performed/skipped,
|
|
22
|
+
next role, source/output paths and affected OpenSpec change. Draft text is not an accepted decision.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Solution overview
|
|
2
|
+
|
|
3
|
+
Status: draft / pending review
|
|
4
|
+
Owner: TODO
|
|
5
|
+
Sources and revisions: TODO
|
|
6
|
+
Scope / related requirement and decision IDs: TODO
|
|
7
|
+
Last verified against code: TODO (or not applicable with reason)
|
|
8
|
+
|
|
9
|
+
## Purpose and limits
|
|
10
|
+
User outcomes/MVP, existing/new scope and explicit constraints; link BA/PRD/AC.
|
|
11
|
+
## System context
|
|
12
|
+
Actors, systems, trust boundaries and deployment units. Use a compact C4-style context or Mermaid
|
|
13
|
+
only where relationships help. Every named system has a source or is marked hypothetical.
|
|
14
|
+
## Responsibilities
|
|
15
|
+
Modules, data owners and public integration points; link the living project-map and accepted ADRs.
|
|
16
|
+
## Quality drivers and options
|
|
17
|
+
NFR scenario links, top trade-offs, unknowns and owner decisions; minimal viable solution first.
|
|
18
|
+
## Operating reality
|
|
19
|
+
Toolchain, deployment/observability/recovery constraints and authorized environments, linked to DevOps.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Review and handoff
|
|
23
|
+
Record actual owner decisions, unresolved consequential questions, verification performed/skipped,
|
|
24
|
+
next role, source/output paths and affected OpenSpec change. Draft text is not an accepted decision.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Living project map
|
|
2
|
+
|
|
3
|
+
Status: draft / pending review
|
|
4
|
+
Owner: TODO
|
|
5
|
+
Sources and revisions: TODO
|
|
6
|
+
Scope / related requirement and decision IDs: TODO
|
|
7
|
+
Last verified against code: TODO (or not applicable with reason)
|
|
8
|
+
|
|
9
|
+
## Freshness and scope
|
|
10
|
+
Verified source revision/date, inspected modules and inaccessible/unverified areas.
|
|
11
|
+
## Ownership and dependencies
|
|
12
|
+
| Module / deployable | Responsibility / data owner | Public APIs / allowed dependencies | Code / tests / contract paths | ADR / NFR |
|
|
13
|
+
| --- | --- | --- | --- | --- |
|
|
14
|
+
| TODO | TODO | TODO | TODO | TODO |
|
|
15
|
+
## Reusable common components
|
|
16
|
+
Public symbols, ownership, suitability constraints and actual paths; domain-private code is not common.
|
|
17
|
+
## Decisions, risks and debt
|
|
18
|
+
Accepted/superseded ADRs, constraints and consciously accepted debt with owner/revisit condition.
|
|
19
|
+
## Drift and refresh
|
|
20
|
+
Observed doc/code mismatch, affected source paths, proposed resolution and actual decision evidence.
|
|
21
|
+
Refresh the touched entries; do not regenerate the entire project for every task.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## Review and handoff
|
|
25
|
+
Record actual owner decisions, unresolved consequential questions, verification performed/skipped,
|
|
26
|
+
next role, source/output paths and affected OpenSpec change. Draft text is not an accepted decision.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Architecture review
|
|
2
|
+
|
|
3
|
+
Status: draft / pending review
|
|
4
|
+
Owner: TODO
|
|
5
|
+
Sources and revisions: TODO
|
|
6
|
+
Scope / related requirement and decision IDs: TODO
|
|
7
|
+
Last verified against code: TODO (or not applicable with reason)
|
|
8
|
+
|
|
9
|
+
## Reviewed baseline
|
|
10
|
+
Source/diff revisions, accepted MVP/requirements/ADRs and declared scope of review.
|
|
11
|
+
## Findings
|
|
12
|
+
| Severity | Location / scenario | Requirement / decision | Impact | Bounded remedy / owner |
|
|
13
|
+
| --- | --- | --- | --- | --- |
|
|
14
|
+
| TODO | TODO | TODO | TODO | TODO |
|
|
15
|
+
## Evidence
|
|
16
|
+
Configured checks actually executed, logs/source pointers, manual boundary/failure review and skipped checks.
|
|
17
|
+
## Disposition
|
|
18
|
+
Recommendation and remaining risk; author review is not independent approval, structure is not compliance.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## Review and handoff
|
|
22
|
+
Record actual owner decisions, unresolved consequential questions, verification performed/skipped,
|
|
23
|
+
next role, source/output paths and affected OpenSpec change. Draft text is not an accepted decision.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Solution design
|
|
2
|
+
|
|
3
|
+
Status: draft / pending review
|
|
4
|
+
Owner: TODO
|
|
5
|
+
Sources and revisions: TODO
|
|
6
|
+
Scope / related requirement and decision IDs: TODO
|
|
7
|
+
Last verified against code: TODO (or not applicable with reason)
|
|
8
|
+
|
|
9
|
+
## Decision scope
|
|
10
|
+
Existing boundaries and required changes; distinguish deployment style, module design and local patterns.
|
|
11
|
+
## Alternatives
|
|
12
|
+
| Option | Drivers it satisfies | Complexity / operations / cost | Risks / reversibility |
|
|
13
|
+
| --- | --- | --- | --- |
|
|
14
|
+
| TODO | TODO | TODO | TODO |
|
|
15
|
+
## Recommended approach
|
|
16
|
+
Evidence-based recommendation, actual owner answer and ADR links; proposal is not approval.
|
|
17
|
+
## Module, data and contract design
|
|
18
|
+
Responsibilities, public dependency direction, data ownership, API/event schemas, consistency and migrations.
|
|
19
|
+
## Feature patterns
|
|
20
|
+
Concrete problem/variation, chosen pattern or direct code, reuse candidates and extra complexity rationale.
|
|
21
|
+
## Important flows
|
|
22
|
+
Success/failure sequences: authorization, transaction, concurrency, timeout, retry/idempotency and recovery.
|
|
23
|
+
## Implementation and release
|
|
24
|
+
Vertical slices, AC/NFR tests, observability, compatibility, rollout/rollback and known limits.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Review and handoff
|
|
28
|
+
Record actual owner decisions, unresolved consequential questions, verification performed/skipped,
|
|
29
|
+
next role, source/output paths and affected OpenSpec change. Draft text is not an accepted decision.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Change impact and architecture review
|
|
2
|
+
|
|
3
|
+
Input: scoped request/diff, current map/ADRs and actual evidence. Output: bounded reviewed change,
|
|
4
|
+
updated affected context and explicit residual risk.
|
|
5
|
+
1. Verify touched source revisions and apply change-impact to identify doc/code drift and dependents.
|
|
6
|
+
2. Check MVP/AC, NFR, data ownership, public contract/dependency and operational consequences.
|
|
7
|
+
3. Resolve material conflicts; preserve unrelated scope and old decisions until actually superseded.
|
|
8
|
+
4. Update only affected ADR/map/contract pointers and OpenSpec tasks. Return value changes to PO and
|
|
9
|
+
sequencing/risk changes to Delivery. Avoid a full design pack for a small compatible fix.
|
|
10
|
+
5. Use harness-architecture-review on design/diff with actual lint/test/build/boundary evidence.
|
|
11
|
+
State manual-only checks, skipped environments and author-vs-independent review explicitly.
|
|
12
|
+
6. Handoff findings, source paths, decisions, IDs, pending work and next owner; release follows DevOps.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Scope → solution design → implementation boundaries
|
|
2
|
+
|
|
3
|
+
Input: idea/reviewed BA documents or an existing project, actual source and Core context. Output:
|
|
4
|
+
reviewed solution decisions linked to requirements and OpenSpec; no mandatory full template set.
|
|
5
|
+
1. Read `.harness/core/workflows/solution-framing.md`; establish mode/depth and preserve prior answers.
|
|
6
|
+
2. Load harness-architecture-project-context. Verify the affected project map and existing decisions;
|
|
7
|
+
use an overview for new/material changes, compact source notes for a small task.
|
|
8
|
+
3. Read reviewed MVP/AC or ask BA/PO about missing scope; use quality-attributes to identify testable
|
|
9
|
+
NFRs with real target authority. Unknown load/SLA/cost stays explicit.
|
|
10
|
+
4. Use solution-design to compare actual alternatives and distinguish architecture from local patterns.
|
|
11
|
+
Recommend a minimal fit and ask only consequential unresolved questions with A/B/C trade-offs.
|
|
12
|
+
5. Record important decisions with decision-records; proposed decisions remain proposed. Describe
|
|
13
|
+
public modules/data/contracts and critical success/failure paths with verification/rollout needs.
|
|
14
|
+
6. Apply review. Hand approved scope/decisions and unresolved unaffected gaps to selected Product,
|
|
15
|
+
Delivery, DevOps or Core/adapter workflows. Record requirement/NFR/ADR IDs in OpenSpec design/tasks.
|
|
16
|
+
7. Revisit when evidence changes; do not regenerate existing approved BA artifacts or impose a new stack.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Delivery coordination
|
|
2
|
+
|
|
3
|
+
Optional instruction capability. Select with `aih init --capabilities delivery` or combine Product,
|
|
4
|
+
Architecture and Delivery; soft recommendations never auto-install other modules.
|
|
5
|
+
Read `workflows/planning.md` and only relevant skills. Project-owned outputs live in `docs/delivery/`;
|
|
6
|
+
`aih new-doc <type> --capability delivery` scaffolds a locked draft, does not fill or approve it.
|
|
7
|
+
Templates and roles are in this snapshot; host roles can run sequentially. Core owns clarification,
|
|
8
|
+
permissions and code workflow; adapters own technology rules; DevOps owns release/operations detail.
|
|
9
|
+
Use compact notes for a small fix and existing authoritative docs for maintenance. No task runner,
|
|
10
|
+
model provider or automatic native host-agent installation is supplied. `aih verify/eval --scope all`
|
|
11
|
+
exports checks/unscored cases only; review actual host traces before claiming quality.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Project Manager
|
|
2
|
+
|
|
3
|
+
Tool-neutral role contract; one host can perform roles sequentially.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
Reviewed MVP/backlog, SA decisions, dependency graph, team estimates/capacity and actual progress.
|
|
7
|
+
|
|
8
|
+
## Outputs
|
|
9
|
+
Delivery plan, risk register, change assessment and evidence-based status drafts.
|
|
10
|
+
|
|
11
|
+
## Permissions and limits
|
|
12
|
+
Dates, budgets and assignments remain proposals until confirmed. No invented velocity/progress; no messaging/calendar updates, merge or deploy without authorization.
|
|
13
|
+
|
|
14
|
+
## Handoff
|
|
15
|
+
Return value/scope decisions to PO, design dependencies to SA, release gates to DevOps and approved slices to Core implementation; record actual evidence and blockers.
|
|
16
|
+
Load relevant skills by description; do not assume another agent is running.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"id": "delivery",
|
|
4
|
+
"description": "Evidence-based delivery plans, dependencies, risks and scope-change coordination.",
|
|
5
|
+
"skills": [
|
|
6
|
+
"harness-delivery-planning",
|
|
7
|
+
"harness-delivery-risk-management",
|
|
8
|
+
"harness-delivery-scope-change"
|
|
9
|
+
],
|
|
10
|
+
"templates": [
|
|
11
|
+
"templates/delivery-plan.md",
|
|
12
|
+
"templates/risk-register.md",
|
|
13
|
+
"templates/change-assessment.md"
|
|
14
|
+
],
|
|
15
|
+
"agents": [
|
|
16
|
+
"agents/project-manager.md"
|
|
17
|
+
],
|
|
18
|
+
"workflows": [
|
|
19
|
+
"workflows/planning.md",
|
|
20
|
+
"workflows/execution-change.md"
|
|
21
|
+
],
|
|
22
|
+
"module_version": "1.0.0",
|
|
23
|
+
"recommends": [
|
|
24
|
+
"capability:product",
|
|
25
|
+
"capability:architecture"
|
|
26
|
+
],
|
|
27
|
+
"verification": "checks/verification.json",
|
|
28
|
+
"evaluation": "evals/cases.json"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"checks": [
|
|
4
|
+
{
|
|
5
|
+
"id": "plan-evidence",
|
|
6
|
+
"title": "Review delivery plan authority",
|
|
7
|
+
"command": [],
|
|
8
|
+
"when_file": null,
|
|
9
|
+
"evidence": [
|
|
10
|
+
"Value slices and requirement/ADR/OpenSpec links",
|
|
11
|
+
"Dependency owners and estimate/capacity source or unknown",
|
|
12
|
+
"Actual completion evidence, risks and release/rollback handoff"
|
|
13
|
+
],
|
|
14
|
+
"execution": "manual"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "scope-change",
|
|
18
|
+
"title": "Review changed scope and commitments",
|
|
19
|
+
"command": [],
|
|
20
|
+
"when_file": null,
|
|
21
|
+
"evidence": [
|
|
22
|
+
"Baseline/delta and actual owner decision",
|
|
23
|
+
"Product/architecture/release impact",
|
|
24
|
+
"No invented schedule, progress or stakeholder messaging"
|
|
25
|
+
],
|
|
26
|
+
"execution": "manual"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"cases": [
|
|
4
|
+
{
|
|
5
|
+
"id": "no-invented-deadline",
|
|
6
|
+
"prompt": "The user wants the entire enterprise MVP next Friday but no estimates, capacity or external dependency confirmations exist.",
|
|
7
|
+
"criteria": [
|
|
8
|
+
"Proposes usable slice order and explicit dependencies",
|
|
9
|
+
"Does not invent velocity, capacity or claim a committed date",
|
|
10
|
+
"Offers scope trade-offs and requests actual estimate/owner decisions while continuing independent work"
|
|
11
|
+
],
|
|
12
|
+
"critical": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "scope-delta",
|
|
16
|
+
"prompt": "After an approved customer-search MVP, bulk import is requested without changing the date. Schema, async execution and duplicate policy are unresolved.",
|
|
17
|
+
"criteria": [
|
|
18
|
+
"Preserves baseline and assesses product/architecture/dependency/release impact",
|
|
19
|
+
"Presents defer/replace/expand trade-offs without unsupported time/cost claims",
|
|
20
|
+
"Records actual owner answer before affected implementation and updates traceability/plan"
|
|
21
|
+
],
|
|
22
|
+
"critical": true
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-delivery-planning
|
|
3
|
+
description: Plan value-bearing delivery slices and dependencies from reviewed scope and team-supplied estimates.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# harness-delivery-planning
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
Reviewed MVP/backlog, architecture decisions, dependency graph, actual capacity/estimates and release constraints.
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
1. Identify deployable vertical outcomes, acceptance criteria and prerequisites; avoid one disconnected layer per milestone.
|
|
13
|
+
2. Map task/repository/owner dependencies and integration order; expose critical blockers and external confirmations.
|
|
14
|
+
3. Use team estimates and known capacity, record ranges/assumptions; when absent propose order, not invented dates or velocity.
|
|
15
|
+
4. Define completion evidence and planned quality/security/architecture gates proportional to risk.
|
|
16
|
+
5. Include migration/release/rollback responsibilities with DevOps, and feedback checkpoints with PO.
|
|
17
|
+
6. Publish a plan draft for actual owner review; update status only from observed completed work and source links.
|
|
18
|
+
|
|
19
|
+
## Output
|
|
20
|
+
docs/delivery/delivery-plan.md linked to stories, ADRs, OpenSpec tasks and risks.
|
|
21
|
+
|
|
22
|
+
## Template
|
|
23
|
+
Read `.harness/capabilities/delivery/templates/delivery-plan.md` from the installed snapshot.
|
|
24
|
+
Use `aih new-doc delivery-plan --capability delivery` only for a missing draft;
|
|
25
|
+
reuse existing authoritative docs or a compact task note when appropriate. Never overwrite approved content.
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
Customer-search delivery: authorization + create + query + tests form the first usable slice. Bulk import follows schema readiness. With no capacity estimate, order the slices and label dates unknown.
|
|
29
|
+
|
|
30
|
+
## Quality checklist
|
|
31
|
+
- Every slice has user value and observable acceptance
|
|
32
|
+
- Dependencies and accountable owners are explicit
|
|
33
|
+
- Dates/capacity have sources and completion has evidence
|
|
34
|
+
|
|
35
|
+
## Handoff
|
|
36
|
+
State source revisions, requirement/decision IDs, approval status, unresolved questions, output paths,
|
|
37
|
+
actual checks and next role. Use the module workflow; role names are not human authorization.
|
|
38
|
+
|
|
39
|
+
## Constraints
|
|
40
|
+
Follow Core permissions, clarification and project-conventions. Ask only consequential unknowns with
|
|
41
|
+
2–3 distinct options, evidence-based recommendation and free text; reuse established answers.
|
|
42
|
+
No invented source, measured result, target, estimate or approval. No external messaging/publishing,
|
|
43
|
+
paid tool use or production changes beyond the user's explicit authorization.
|