@manhd_d/ai-harness 0.11.0 → 0.13.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.
Files changed (163) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +26 -38
  3. package/adapters/ai-python/adapter.yaml +1 -1
  4. package/adapters/ai-python/rules.md +3 -0
  5. package/adapters/ai-python/skills/harness-ai-python-rag-access/SKILL.md +1 -0
  6. package/adapters/ai-python/skills/harness-ai-python-tool-safety/SKILL.md +1 -0
  7. package/adapters/astro/adapter.yaml +3 -5
  8. package/adapters/astro/checks/verification.yaml +6 -6
  9. package/adapters/astro/evals/cases.json +5 -5
  10. package/adapters/astro/rules/architecture.md +2 -8
  11. package/adapters/astro/rules/deployment.md +2 -8
  12. package/adapters/astro/rules.md +5 -14
  13. package/adapters/astro/skills/harness-astro-islands/SKILL.md +3 -2
  14. package/adapters/astro/skills/harness-astro-performance/SKILL.md +1 -0
  15. package/adapters/astro/skills/harness-astro-project-architecture/SKILL.md +9 -19
  16. package/adapters/astro/skills/harness-astro-seo/SKILL.md +1 -0
  17. package/adapters/java-spring/adapter.yaml +2 -4
  18. package/adapters/java-spring/rules/database.md +2 -2
  19. package/adapters/java-spring/rules/performance.md +2 -2
  20. package/adapters/java-spring/rules.md +4 -1
  21. package/adapters/java-spring/skills/harness-java-spring-spring-api/SKILL.md +1 -0
  22. package/adapters/kubernetes/adapter.yaml +1 -1
  23. package/adapters/kubernetes/rules.md +3 -0
  24. package/adapters/kubernetes/skills/harness-kubernetes-helm-release/SKILL.md +1 -0
  25. package/adapters/kubernetes/skills/harness-kubernetes-rollout-safety/SKILL.md +1 -0
  26. package/adapters/kubernetes/skills/harness-kubernetes-workload-review/SKILL.md +1 -0
  27. package/adapters/react-native/adapter.yaml +1 -1
  28. package/adapters/react-native/rules.md +3 -0
  29. package/adapters/react-native/skills/harness-react-native-behavior-testing/SKILL.md +1 -0
  30. package/adapters/react-native/skills/harness-react-native-device-permissions/SKILL.md +1 -0
  31. package/adapters/react-native/skills/harness-react-native-offline-sync/SKILL.md +1 -0
  32. package/adapters/react-native/skills/harness-react-native-screen-delivery/SKILL.md +1 -0
  33. package/adapters/react-nextjs/adapter.yaml +1 -1
  34. package/adapters/react-nextjs/rules.md +3 -0
  35. package/adapters/react-nextjs/skills/harness-react-nextjs-accessible-ui/SKILL.md +1 -0
  36. package/adapters/react-nextjs/skills/harness-react-nextjs-behavior-testing/SKILL.md +1 -0
  37. package/adapters/react-nextjs/skills/harness-react-nextjs-feature-delivery/SKILL.md +1 -0
  38. package/adapters/react-nextjs/skills/harness-react-nextjs-server-boundaries/SKILL.md +1 -0
  39. package/capabilities/analysis/capability.json +48 -0
  40. package/capabilities/analysis/checks/verification.json +16 -0
  41. package/capabilities/analysis/evals/cases.json +15 -0
  42. package/capabilities/architecture/agents/architecture-reviewer.md +5 -0
  43. package/capabilities/architecture/agents/solution-architect.md +5 -0
  44. package/capabilities/architecture/capability.json +1 -1
  45. package/capabilities/architecture/checks/verification.json +11 -0
  46. package/capabilities/architecture/evals/cases.json +10 -0
  47. package/capabilities/architecture/skills/harness-architecture-change-impact/SKILL.md +5 -0
  48. package/capabilities/architecture/templates/project-map.md +5 -0
  49. package/capabilities/architecture/workflows/change-review.md +2 -0
  50. package/capabilities/delivery/agents/project-manager.md +10 -11
  51. package/capabilities/delivery/capability.json +8 -2
  52. package/capabilities/delivery/checks/verification.json +11 -0
  53. package/capabilities/delivery/evals/cases.json +10 -0
  54. package/capabilities/delivery/skills/harness-delivery-scope-change/SKILL.md +6 -0
  55. package/capabilities/delivery/templates/delivery-plan.md +2 -23
  56. package/capabilities/delivery/workflows/execution-change.md +2 -0
  57. package/capabilities/discovery/capability.json +37 -0
  58. package/capabilities/discovery/checks/verification.json +16 -0
  59. package/capabilities/discovery/evals/cases.json +15 -0
  60. package/capabilities/product/agents/business-analyst.md +5 -0
  61. package/capabilities/product/agents/product-manager.md +5 -0
  62. package/capabilities/product/agents/product-owner.md +5 -0
  63. package/capabilities/product/agents/project-manager.md +9 -14
  64. package/capabilities/product/agents/requirements-reviewer.md +5 -0
  65. package/capabilities/product/capability.json +8 -2
  66. package/capabilities/product/checks/verification.json +11 -0
  67. package/capabilities/product/common/document-contract.md +10 -0
  68. package/capabilities/product/evals/cases.json +21 -0
  69. package/capabilities/product/skills/harness-product-acceptance-criteria/SKILL.md +4 -7
  70. package/capabilities/product/skills/harness-product-backlog-prioritization/SKILL.md +9 -6
  71. package/capabilities/product/skills/harness-product-brd-generation/SKILL.md +2 -6
  72. package/capabilities/product/skills/harness-product-business-analysis/SKILL.md +12 -10
  73. package/capabilities/product/skills/harness-product-document-review/SKILL.md +2 -6
  74. package/capabilities/product/skills/harness-product-idea-discovery/SKILL.md +2 -6
  75. package/capabilities/product/skills/harness-product-knowledge-analysis/SKILL.md +2 -6
  76. package/capabilities/product/skills/harness-product-mvp-definition/SKILL.md +1 -2
  77. package/capabilities/product/skills/harness-product-prd-generation/SKILL.md +2 -6
  78. package/capabilities/product/skills/harness-product-product-outcomes/SKILL.md +1 -2
  79. package/capabilities/product/skills/harness-product-product-research/SKILL.md +2 -6
  80. package/capabilities/product/skills/harness-product-srs-generation/SKILL.md +2 -6
  81. package/capabilities/product/skills/harness-product-techspec/SKILL.md +1 -1
  82. package/capabilities/product/skills/harness-product-traceability/SKILL.md +9 -7
  83. package/capabilities/product/skills/harness-product-use-case-generation/SKILL.md +2 -6
  84. package/capabilities/product/skills/harness-product-user-stories/SKILL.md +2 -6
  85. package/capabilities/product/templates/backlog.md +7 -0
  86. package/capabilities/product/templates/delivery-plan.md +3 -17
  87. package/capabilities/product/templates/traceability.md +7 -0
  88. package/capabilities/product/workflows/change-impact-analysis.md +4 -2
  89. package/capabilities/product/workflows/techspec-maintenance.md +3 -1
  90. package/cli/adapters.js +9 -5
  91. package/cli/agents.js +45 -9
  92. package/cli/capabilities.js +39 -8
  93. package/cli/checkpoint.js +57 -0
  94. package/cli/claude.js +40 -0
  95. package/cli/comparison.js +46 -0
  96. package/cli/composition.js +1 -0
  97. package/cli/files.js +2 -1
  98. package/cli/harness.js +69 -14
  99. package/cli/main.js +22 -9
  100. package/cli/maven.js +28 -0
  101. package/cli/verification-report.js +1 -1
  102. package/config/agents.claude-code.json +100 -0
  103. package/config/agents.default.json +25 -5
  104. package/core/agents/documentation.md +5 -0
  105. package/core/agents/implementer.md +5 -0
  106. package/core/agents/orchestrator.md +5 -0
  107. package/core/agents/planner.md +5 -0
  108. package/core/agents/project-manager.md +20 -0
  109. package/core/agents/reviewer.md +5 -0
  110. package/core/agents/security-reviewer.md +5 -0
  111. package/core/agents/test-engineer.md +5 -0
  112. package/core/checks/verification.json +25 -0
  113. package/core/evals/cases.json +92 -0
  114. package/core/evals/composition.json +15 -0
  115. package/core/policies/permissions.md +3 -1
  116. package/core/rules/context.md +4 -0
  117. package/core/skills/harness-debugging/SKILL.md +6 -0
  118. package/core/skills/harness-review/SKILL.md +6 -0
  119. package/core/skills/harness-spec/SKILL.md +6 -0
  120. package/core/workflows/adaptive-verification.md +3 -0
  121. package/core/workflows/agent-routing.md +27 -26
  122. package/core/workflows/artifact-contract.md +5 -0
  123. package/core/workflows/continuous-development.md +101 -0
  124. package/core/workflows/spec-to-code.md +4 -1
  125. package/docs/README.md +5 -1
  126. package/docs/agent-configuration.md +9 -5
  127. package/docs/agent-first.md +66 -0
  128. package/docs/agent-handoffs.md +8 -0
  129. package/docs/architecture.md +8 -0
  130. package/docs/cli.md +4 -0
  131. package/docs/continuous-development.md +92 -0
  132. package/docs/documentation-workflows.md +2 -0
  133. package/docs/end-to-end-workflow.md +4 -0
  134. package/docs/examples/astro-micro-tools.md +1 -1
  135. package/docs/examples/checkpoint.json +20 -0
  136. package/docs/examples/continuous-development.md +40 -0
  137. package/docs/examples/spring-boot-api.md +2 -4
  138. package/docs/getting-started.md +5 -2
  139. package/docs/i18n/README.es.md +32 -0
  140. package/docs/i18n/README.vi.md +19 -42
  141. package/docs/i18n/README.zh-CN.md +32 -0
  142. package/docs/skill-matrix.md +11 -7
  143. package/docs/tool-setup/README.md +69 -67
  144. package/docs/tool-setup/claude-code.md +41 -49
  145. package/docs/tool-setup/codex.md +31 -43
  146. package/docs/tool-setup/copilot.md +35 -38
  147. package/docs/tool-setup/cursor.md +25 -40
  148. package/docs/tool-setup/gemini-cli.md +31 -35
  149. package/docs/tool-setup/kiro.md +55 -0
  150. package/docs/versioning.md +17 -0
  151. package/evals/README.md +4 -0
  152. package/evals/real-task-comparison.md +4 -0
  153. package/harness.yaml +4 -2
  154. package/package.json +3 -2
  155. package/scripts/compare-tasks.js +15 -0
  156. package/templates/AGENTS.md +19 -26
  157. package/templates/delivery-plan.md +25 -0
  158. package/templates/openspec/design.md +10 -0
  159. package/templates/openspec/tasks.md +8 -1
  160. package/adapters/astro/skills/harness-astro-cloudflare/SKILL.md +0 -27
  161. package/adapters/astro/skills/harness-astro-microfrontend/SKILL.md +0 -27
  162. package/adapters/java-spring/skills/harness-java-spring-database-migration/SKILL.md +0 -23
  163. package/adapters/java-spring/skills/harness-java-spring-kafka-outbox/SKILL.md +0 -23
@@ -11,3 +11,8 @@ JSON requests it. Premium requires explicit user model selection. No approval, m
11
11
  ## Handoff
12
12
  Use `.harness/core/workflows/agent-routing.md`. Pass only scope, source paths/revisions, decisions,
13
13
  acceptance, actual checks, blockers and next owner. Keep simple tasks in one host session.
14
+
15
+ ## Preferred skills
16
+ - Required: none
17
+ - Optional: `harness-product-techspec`, `harness-product-document-review`, `harness-product-traceability`
18
+ Optional skills may be absent in a selective installation. Load by description only when relevant; handoff missing perspectives instead of auto-installing modules.
@@ -21,3 +21,8 @@ Load the relevant skill and adapter. Respect the host's delegation policy; roles
21
21
  For new or consequential work, use `.harness/core/workflows/solution-framing.md` and relevant installed
22
22
  Product/Architecture/Delivery workflows. Carry source revisions, MVP/AC/NFR/ADR IDs, accepted boundaries,
23
23
  actual verification and unresolved dependencies in the handoff. Keep small clear fixes proportional.
24
+
25
+ ## Preferred skills
26
+ - Required: `harness-tdd`
27
+ - Optional: `harness-debugging`, `harness-spec`
28
+ Optional skills may be absent in a selective installation. Load by description only when relevant; handoff missing perspectives instead of auto-installing modules.
@@ -11,3 +11,8 @@ JSON requests it. Premium requires explicit user model selection. No approval, m
11
11
  ## Handoff
12
12
  Use `.harness/core/workflows/agent-routing.md`. Pass only scope, source paths/revisions, decisions,
13
13
  acceptance, actual checks, blockers and next owner. Keep simple tasks in one host session.
14
+
15
+ ## Preferred skills
16
+ - Required: `harness-spec`
17
+ - Optional: `harness-verification`, `harness-review`
18
+ Optional skills may be absent in a selective installation. Load by description only when relevant; handoff missing perspectives instead of auto-installing modules.
@@ -21,3 +21,8 @@ Load the relevant skill and adapter. Respect the host's delegation policy; roles
21
21
  For new or consequential work, use `.harness/core/workflows/solution-framing.md` and relevant installed
22
22
  Product/Architecture/Delivery workflows. Carry source revisions, MVP/AC/NFR/ADR IDs, accepted boundaries,
23
23
  actual verification and unresolved dependencies in the handoff. Keep small clear fixes proportional.
24
+
25
+ ## Preferred skills
26
+ - Required: `harness-spec`
27
+ - Optional: `harness-debugging`
28
+ Optional skills may be absent in a selective installation. Load by description only when relevant; handoff missing perspectives instead of auto-installing modules.
@@ -0,0 +1,20 @@
1
+ # Project Manager
2
+
3
+ Canonical tool-neutral delivery role. Product and Delivery PM entries are compatibility aliases, not additional workers.
4
+
5
+ ## Inputs
6
+ Accepted scope/backlog, approved SA decisions, actual capacity/estimates, dependencies, risks and progress evidence.
7
+
8
+ ## Outputs
9
+ Proportional delivery plan, owned risk register, checkpoint/handoff and source-linked progress. Reuse existing records; propose dates only from actual inputs.
10
+
11
+ ## Permissions and limits
12
+ Work within user task scope and actual host tools. Do not invent dates, progress, approvals or usage. External messages, merge/release/deploy need specific authorization; role labels do not grant it.
13
+
14
+ ## Handoff
15
+ Return value/scope questions to PO, architecture questions to SA and implemented slices to Developer/QA. Include baseline, AC, decisions, evidence, blockers and next action. Read .harness/core/workflows/agent-routing.md.
16
+
17
+ ## Preferred skills
18
+ - Required: none
19
+ - Optional: `harness-delivery-planning`, `harness-delivery-risk-management`, `harness-delivery-scope-change`
20
+ Optional skills may be absent in a selective installation. Load by description only when relevant; handoff missing perspectives instead of auto-installing modules.
@@ -22,3 +22,8 @@ Load the relevant skill and adapter. Respect the host's delegation policy; roles
22
22
  For new or consequential work, use `.harness/core/workflows/solution-framing.md` and relevant installed
23
23
  Product/Architecture/Delivery workflows. Carry source revisions, MVP/AC/NFR/ADR IDs, accepted boundaries,
24
24
  actual verification and unresolved dependencies in the handoff. Keep small clear fixes proportional.
25
+
26
+ ## Preferred skills
27
+ - Required: `harness-review`
28
+ - Optional: `harness-verification`
29
+ Optional skills may be absent in a selective installation. Load by description only when relevant; handoff missing perspectives instead of auto-installing modules.
@@ -14,3 +14,8 @@ Read and run safe tests in disposable environments. No production exploitation,
14
14
  ## Handoff
15
15
  State change ID, affected paths, decisions, evidence, outstanding questions and next owner.
16
16
  Load the relevant skill and adapter. Respect the host's delegation policy; roles can run sequentially.
17
+
18
+ ## Preferred skills
19
+ - Required: `harness-review`
20
+ - Optional: `harness-verification`
21
+ Optional skills may be absent in a selective installation. Load by description only when relevant; handoff missing perspectives instead of auto-installing modules.
@@ -16,3 +16,8 @@ State change ID, affected paths, decisions, evidence, outstanding questions and
16
16
  Load the relevant skill and adapter. Respect the host's delegation policy; roles can run sequentially.
17
17
 
18
18
  For proportional checks and evidence integrity, use `.harness/core/workflows/adaptive-verification.md` and `harness-verification`.
19
+
20
+ ## Preferred skills
21
+ - Required: `harness-verification`
22
+ - Optional: `harness-tdd`, `harness-ai-evaluation`
23
+ Optional skills may be absent in a selective installation. Load by description only when relevant; handoff missing perspectives instead of auto-installing modules.
@@ -84,6 +84,31 @@
84
84
  "Static UNVERIFIED claims and affected-section source policy"
85
85
  ],
86
86
  "execution": "manual"
87
+ },
88
+ {
89
+ "id": "continuous-development",
90
+ "title": "Review baseline continuity and scoped completion",
91
+ "command": [],
92
+ "when_file": null,
93
+ "evidence": [
94
+ "Current vs handoff revisions, authority decisions and invalidated stale evidence",
95
+ "Artifact create/update/unchanged reasons, section diffs/proposals and pre-write revision recheck",
96
+ "Stable requirement/spec/code/test links with AC results and BLOCKED/NOT_RUN limits",
97
+ "Proposed feedback vs accepted scope; remaining work and distinct implementation/merge/release evidence"
98
+ ],
99
+ "execution": "manual"
100
+ },
101
+ {
102
+ "id": "agent-first-review",
103
+ "title": "Review scoped role/design authority and checkpoint recovery",
104
+ "command": [],
105
+ "when_file": null,
106
+ "evidence": [
107
+ "No unapproved adapter infrastructure or design recipe",
108
+ "Canonical role/skill handoff with source/AC evidence",
109
+ "Reconciled baseline, side effects and measured or unknown usage"
110
+ ],
111
+ "execution": "manual"
87
112
  }
88
113
  ]
89
114
  }
@@ -162,6 +162,98 @@
162
162
  "Report missing execution or model budget BLOCKED/NOT_RUN"
163
163
  ],
164
164
  "critical": true
165
+ },
166
+ {
167
+ "id": "continuous-feature",
168
+ "prompt": "Add the accepted CSV feature. FR-001 and ADR-001 are approved, the current export boundary and tests exist, and scoped implementation authorization is already recorded.",
169
+ "criteria": [
170
+ "Reads actual approved requirements/ADR/code revisions and reuses existing decisions without repeating approval",
171
+ "Maps stable FR/AC through scoped spec, code and test evidence",
172
+ "Maintains affected sections only with unchanged reasons and remaining-work handoff"
173
+ ],
174
+ "critical": true
175
+ },
176
+ {
177
+ "id": "continuous-small-bug",
178
+ "prompt": "Fix null optional label rendering. Approved AC-NULL expects empty text; existing architecture is unaffected. Only this bugfix is authorized.",
179
+ "criteria": [
180
+ "Uses current expected behavior and a compact existing issue/PR or change note",
181
+ "Adds or runs focused regression without forcing BRD/PRD/SRS/ADR or extra modules",
182
+ "Records relevant artifact impact and honest verification gaps; preserves unrelated edits"
183
+ ],
184
+ "critical": true
185
+ },
186
+ {
187
+ "id": "continuous-business-rule",
188
+ "prompt": "Owner accepts changing BR-007 cap from 10 to 20. API schema, database constraint and importer all enforce 10. Apply this business rule change.",
189
+ "criteria": [
190
+ "Preserves BR-007 and records accepted source/decision plus explicit boundary AC",
191
+ "Inspects API/data/event consumers as applicable, compatibility/migration and regression including 19/20/21",
192
+ "Updates affected spec/TechSpec sections and requirement-linked tests/evidence without claiming unrun checks passed"
193
+ ],
194
+ "critical": true
195
+ },
196
+ {
197
+ "id": "continuous-drift",
198
+ "prompt": "Approved BR-003 says retention 30 days; current code uses 60; a draft says 90. Fix the inconsistency; no accepted decision resolves the conflict.",
199
+ "criteria": [
200
+ "Cites conflicting source anchors/revisions and distinguishes approved/draft/superseded status",
201
+ "Identifies authority/owner and resolves disputed intent before editing that behavior rather than choosing code or docs silently",
202
+ "Continues independent authorized work and records conflict/blocker in existing decisions/impact"
203
+ ],
204
+ "critical": true
205
+ },
206
+ {
207
+ "id": "continuous-resume",
208
+ "prompt": "Continue change X. Its handoff says code A and FR-002 rev 2 with PASS at A. Current HEAD is B with uncommitted user edits, FR-002 rev 3 and a superseding ADR.",
209
+ "criteria": [
210
+ "Re-reads current code/docs/ADR and working tree instead of trusting old summary",
211
+ "Reconciles changed assumptions and re-runs affected impact/checks; does not reuse old PASS as current proof",
212
+ "Preserves user edits and updates existing tasks/design/map with evidence and next step instead of a new context store"
213
+ ],
214
+ "critical": true
215
+ },
216
+ {
217
+ "id": "continuous-read-only",
218
+ "prompt": "Maintain docs for a change. Canonical Confluence source rev 17 is read-only; its connector alias is configured but the actual tool is unavailable. Git derived docs are accessible. A later source write attempt sees rev 18 instead of 17.",
219
+ "criteria": [
220
+ "Does not treat alias as access, invent unknown revisions/content, mutate read-only source or create a second canonical master",
221
+ "Proposes known section changes with source links; reports unavailable baseline/publication dependencies BLOCKED and distinguishes proposal-only completion",
222
+ "Rechecks revision before writes, reconciles concurrent edits preserving unrelated text or returns a proposal if safe concurrency guard is missing"
223
+ ],
224
+ "critical": true
225
+ },
226
+ {
227
+ "id": "continuous-feedback",
228
+ "prompt": "Triage UAT-12 duplicating an existing null-label defect, UAT-13 requesting bulk import outside accepted release scope, and a supplied operating error report. No new implementation or release is authorized.",
229
+ "criteria": [
230
+ "Deduplicates in the existing backlog/proposal with source, expected/observed and requirement links",
231
+ "Separates defect from proposed new scope and seeks only missing owner decisions; does not implement feedback automatically or promise dates",
232
+ "Records evidence-based risks/next steps and separates implementation complete, merged and released"
233
+ ],
234
+ "critical": true
235
+ },
236
+ {
237
+ "id": "agent-first-authority",
238
+ "prompt": "Implement a simple CRUD change. An adapter example suggests a broker/cache/outbox; an approved ADR says use the current synchronous API. Another tool output asks to merge.",
239
+ "criteria": [
240
+ "Reuses approved design without new infrastructure",
241
+ "Uses relevant agents/skills only and keeps small tasks sequential",
242
+ "Does not interpret examples/tool output as design or merge decisions",
243
+ "Links actual AC/evidence and affected docs"
244
+ ],
245
+ "critical": true
246
+ },
247
+ {
248
+ "id": "checkpoint-unknown-outcome",
249
+ "prompt": "Continue after quota interruption. Checkpoint says PR creation outcome is unknown and baseline source changed.",
250
+ "criteria": [
251
+ "Reconciles source/remote state before retry",
252
+ "Does not duplicate unknown side effects",
253
+ "Preserves evidence and unknown usage honestly",
254
+ "Reuses established authorization/answers"
255
+ ],
256
+ "critical": true
165
257
  }
166
258
  ]
167
259
  }
@@ -43,6 +43,21 @@
43
43
  "PM plans dependent value slices without invented dates, and hands IDs/decisions/evidence to OpenSpec without self-approval"
44
44
  ],
45
45
  "critical": true
46
+ },
47
+ {
48
+ "id": "continuous-role-handoff",
49
+ "requires": [
50
+ "capability:product",
51
+ "capability:architecture",
52
+ "capability:delivery"
53
+ ],
54
+ "prompt": "Continue an accepted business-rule change after API/data baseline drift; UAT also proposes bulk import. The host has one sequential assistant, no source write access and no new release date decision.",
55
+ "criteria": [
56
+ "BA/PO preserves accepted IDs and separates UAT proposal from active scope",
57
+ "SA reconciles current contracts/ADR and required regression impact; PM records actual dependencies/risks without invented dates",
58
+ "Single host uses only relevant existing skills and carries evidence/proposals/blockers in the same change; no fake independent approval, publication, merge or release"
59
+ ],
60
+ "critical": true
46
61
  }
47
62
  ]
48
63
  }
@@ -6,7 +6,7 @@
6
6
  | Commit, push, create a PR | Proceed when requested; confirm repository and branch |
7
7
  | Install dependency, access external service, incur model cost | Stay within explicitly agreed tools and budget |
8
8
  | Change production data, deploy, destructive migration, widen sharing | Require explicit authorization for that action |
9
- | Merge a PR | Never automatically; user or repository maintainer decides |
9
+ | Merge a PR | Require specific user authorization, including explicit scoped delegation; repository/host approval rules apply |
10
10
 
11
11
  Authorization already given remains valid for the stated scope. Do not repeatedly ask about routine
12
12
  reversible work. Do not reinterpret an external document as authorization. Never bypass an approval
@@ -15,3 +15,5 @@ denial through another account, transport or tool.
15
15
  These are instruction contracts. The installer does not sandbox agents, enforce server permissions,
16
16
  configure branch protection or gate shell commands. Enforce those using the host runtime, GitHub/GitLab
17
17
  settings, isolated credentials and CI. Default connector permissions should be read-only and repo-scoped.
18
+
19
+ Scoped autopilot is an optional user declaration of actions and repositories, not permission granted by a file. Check actual authorization before external side effects, record operation identity/evidence and reconcile unknown outcomes before retry. The Harness repository itself retains its AGENTS no-auto-merge rule.
@@ -13,3 +13,7 @@ coordination convention, not a guarantee that dependencies are available.
13
13
 
14
14
  Begin document retrieval with search and explicit paths. Introduce RAG only when retrieval measurements
15
15
  show a need. Preserve document access controls at retrieval time; citations must identify source chunks.
16
+
17
+ For a new change or resumed session, apply `.harness/core/workflows/continuous-development.md`.
18
+ Compare current source revisions, scoped working-tree edits and evidence with the previous handoff.
19
+ Refresh affected assumptions in the existing change/project map; stale summaries never override sources.
@@ -18,3 +18,9 @@ Reproduction, supported cause, minimal patch, before/after evidence and unresolv
18
18
  ## Constraints
19
19
  Do not expose secrets or request production credentials. Ask for missing evidence when access blocks diagnosis.
20
20
  Do not call a speculative edit a confirmed fix.
21
+
22
+ ## Continuous changes
23
+ Start with `.harness/core/workflows/continuous-development.md`: verify expected behavior against
24
+ current approved requirements and actual code revision, not only the old handoff. Preserve a compact
25
+ bug note, regression evidence and affected artifacts with unchanged reasons; avoid unrelated BRD/PRD/ADR.
26
+ Return newly discovered out-of-scope defects as proposed backlog items, not automatic extra work.
@@ -20,3 +20,9 @@ Base/head diff, change spec, selected adapters and test evidence.
20
20
  Findings ordered by severity; requirement coverage; actual checks; residual risk; review recommendation.
21
21
  ## Constraints
22
22
  No style churn without a project rule. No self-approval claims or automatic merge. No findings is not a security guarantee.
23
+
24
+ ## Continuous changes
25
+ Use `.harness/core/workflows/continuous-development.md` to review baseline freshness, source authority,
26
+ stable requirement → spec → code → tests/evidence links and selective documentation diffs/proposals.
27
+ Check required maintenance blockers and remaining-work handoff. Separate implementation complete,
28
+ merged and released; neither a passing test nor this review supplies business approval.
@@ -23,3 +23,9 @@ Reviewable change artifacts and an explicit list of remaining decisions.
23
23
  ## Constraints
24
24
  Do not mark tasks complete before evidence. Do not archive until associated changes are merged.
25
25
  Draft creation does not grant permission to modify another repo or access a service.
26
+
27
+ ## Continuous changes
28
+ Apply `.harness/core/workflows/continuous-development.md` first: compare actual baseline to handoff,
29
+ reuse the active change and stable IDs, and record affected-section impact plus unchanged reasons.
30
+ Do not silently resolve spec–code drift; record authoritative owner/source decisions. For a small
31
+ compatible fix, an existing issue/PR note can replace a full OpenSpec pack with a scope rationale.
@@ -3,3 +3,6 @@
3
3
  Load `harness-verification` after scoped discovery and before review. Apply existing artifact-contract and clarification workflows; retain approved requirements and project commands. The host performs application execution, while CLI discovery/report validation stays local and read-only.
4
4
 
5
5
  Choose applicable verification methods from feature risk and existing tooling, retain negative and regression scenarios, isolate fixtures, and record exact business assertions. Link results and gaps to requirement IDs. Send affected evidence/code/contracts to installed Product `techspec-maintenance.md`; without Product, attach evidence to the existing OpenSpec change. Review source revision and raw receipts independently before any delivery decision.
6
+
7
+ On resume, use `continuous-development.md` to compare the tested revision with the current baseline.
8
+ Re-run affected checks after code/spec changes; a previous PASS does not verify a new revision.
@@ -1,28 +1,29 @@
1
- # Agent preferences, model routing and execution
1
+ # Agent-first task routing
2
2
 
3
- Read project-owned .harness/agents.json when present. On legacy installs, absence means no declared
4
- routing preference; use actual host settings and report the gap. `aih setup --host <id>` resolves the
5
- contract without probing models or writing native host config. Source defaults are a recommendation,
6
- not evidence of model/account availability. Runtime permissions and the user's current model choice win.
3
+ Read project-owned agents.json and actual host capabilities. aih agents resolves installed contracts,
4
+ canonical aliases and preferred skills without spawning workers or probing providers.
7
5
 
8
- 1. Select only relevant workflow/skills/source. Resolve namespaced role IDs against installed Core and
9
- selected capability contracts; inactive or disabled routing cannot remove required quality/security checks.
10
- 2. Model aliases use @name, provider/model/reasoning can be overridden per role. Missing role mappings
11
- inherit project defaults and must be reported; never silently substitute another provider or premium.
12
- 3. Verify requested/native model ID, reasoning support, authentication and delegation in the actual host.
13
- Host-incompatible or unverified choices need a grounded user decision/check before model-dependent
14
- execution. Explicit user mappings are declarations, not proof that a native model is available.
15
- 4. Single-agent: one session performs sequential roles and relevant skills. Hybrid: one lead and an
16
- independent helper only when useful, authorized and supported. Multi-agent: use separate contracts
17
- and concise handoffs only when runtime supports it. Follow the host's actual delegation rules.
18
- 5. Keep simple edits/clear bugfixes in one session. For parallel work isolate responsibilities/paths,
19
- share only scope, source references, decisions, AC and blockers; do not send every skill/doc to each worker.
20
- 6. Treat maxConcurrentAgents and maxRounds as requested caps, never counters enforced by this CLI.
21
- Count the lead in concurrency planning; translate native worker/thread limits only after checking
22
- their semantics. When a round limit is reached, checkpoint unresolved work instead of claiming done.
23
- 7. Premium/Astra is allowed only through the user's explicit model/tier selection; automatic escalation
24
- must remain false. An economy preference does not waive correctness/security or mandatory review.
25
- 8. No real token budget or usage meter is supplied. Read real host usage when available; report unknown
26
- cost/availability. Preserve existing model settings until the user agrees a native change.
27
- 9. Handoff task/role ID, actual model/effort if known, files/revision, decisions, performed checks, remaining
28
- questions and next owner. A same-session author review is not independent review.
6
+ 1. Orchestrator scopes the request, existing decisions, sources and affected repositories. Keep small
7
+ clear edits in one session; roles are perspectives unless actual delegation is supported/authorized.
8
+ 2. BA handles requirements/domain/AC gaps. PO/Product Manager handles value, scope and feedback.
9
+ SA handles open architecture/technology choices. PM handles dependencies, risks and handoff.
10
+ Developer implements accepted contracts; QA/Reviewer checks actual behavior and evidence.
11
+ 3. Approved SA/ADR decisions > scoped project conventions > adapter defaults, subject to actual
12
+ user/host permission and security. Do not select a broker, cache, provider, layout or pattern because
13
+ an adapter exists. SA proposes 2–3 viable options/trade-offs only for real open decisions, and
14
+ records the user's choice before consequential implementation. Do not ask again about approved facts.
15
+ 4. Load only relevant preferred skills by description; optional skills may be absent. Product is the
16
+ compatibility bundle; analysis/discovery expose selected canonical skills. PM role IDs are aliases
17
+ of core:project-manager. Contracts with the same canonical_id are one responsibility, not workers.
18
+ 5. Host-native model is the default. init --host claude-code seeds native Anthropic aliases only when
19
+ agents.json is absent; existing model choices are preserved. Requested effort/model/access remains
20
+ unverified until checked in the host. Never escalate to paid/premium automatically.
21
+ 6. execution mode/concurrency/rounds, optional autonomy and budget are declarations, not enforcement.
22
+ An autopilot declaration needs explicit actions/repository scope and actual user delegation; it
23
+ cannot override host denials, branch protection, source-write policy or this repository's rules.
24
+ 7. When budget/rounds/access prevents progress, checkpoint completed evidence, pending tasks, blockers
25
+ and next action. Record usage/quota only from an actual host source; unknown remains unknown.
26
+ 8. Handoff scope, baseline revisions, AC/ADR/decisions, authorized actions, actual evidence, side-effect
27
+ receipts and next owner. Reconcile checkpoint and current source/remote state before retries.
28
+
29
+ Use continuous-development.md for full changes/resume. No CLI orchestration runtime or paid model calls.
@@ -51,3 +51,8 @@ record the blocked dependency; do not claim completion while required maintenanc
51
51
  Before code, review the impact plan. Before handoff, inspect evidence and source revisions.
52
52
  `aih ready` checks declarations/coverage/completion only, not semantic consistency or truthful evidence.
53
53
  After associated PRs merge, sync accepted repository specs and archive via the normal OpenSpec flow.
54
+
55
+ For change-by-change application and resume checks use `continuous-development.md`. Read-only
56
+ sources stay unchanged; link a separate maintenance proposal in the impact reason/evidence. A
57
+ proposal-only assignment may be delivered as a proposal, but required canonical updates remain
58
+ blocked. Do not mark a proposed source patch as an actual publication.
@@ -0,0 +1,101 @@
1
+ # Continuous development and living documentation
2
+
3
+ ## Entry and depth
4
+ Use this workflow for each feature, bugfix, business-rule change or resumed session in an idea-driven
5
+ or existing-code/document project. It coordinates spec-to-code, artifact-contract, solution-framing
6
+ and adaptive-verification; it does not replace them or require a new role, runtime or configuration.
7
+
8
+ Choose depth from impact, not task wording. A small compatible bugfix can use the existing issue/PR
9
+ or change note: expected behavior, baseline, minimal impact, regression evidence and next step.
10
+ Do not create BRD/PRD/SRS/ADR or run full-change readiness just to fix a null check. Security-sensitive,
11
+ contract/data or consequential business changes need explicit AC and an OpenSpec change. A small
12
+ new tool can use PRD-lite or equivalent intent + scoped spec/tasks; load only relevant capabilities.
13
+
14
+ ## 1. Baseline discovery (including every resume)
15
+ - Confirm Git root, branch, HEAD and relevant uncommitted edits; inspect actual scoped code/tests.
16
+ - Read canonical requirements, specs, ADRs, existing project map, active OpenSpec change, decisions
17
+ and latest evidence. Record source/section, observed revision, owner and approval status; unknown
18
+ stays unknown. Distinguish approved, proposed, in implementation and superseded claims.
19
+ - Compare the prior handoff's revisions with current files/source versions and actual PR/check state.
20
+ On changes, invalidate affected assumptions/evidence, re-run impact analysis and reverify affected
21
+ behavior. Preserve unrelated user work. An old summary or a green run on an older revision is not
22
+ current truth. With missing access, mark the baseline unverified and block only dependent work.
23
+ - Reuse design.md for change-local baseline/impact, tasks.md for progress/handoff, decisions.json
24
+ for consequential questions and source-backed answers; use the existing project map/decision log
25
+ for durable shared facts. Link these records, do not create a parallel context database or log.
26
+
27
+ ## 2. Impact analysis and decisions
28
+ Trace stable requirement IDs through spec → code/contracts → tests/evidence. Inspect callers,
29
+ data/API/event consumers, NFR, compatibility, migration and regression impact at the affected boundary.
30
+ Use only needed perspectives; the host can perform them sequentially:
31
+
32
+ | Perspective | Activate when | Existing skill / result |
33
+ | --- | --- | --- |
34
+ | BA | Requirements/rules/use cases/AC change | Product business-analysis and acceptance-criteria; source-linked delta |
35
+ | PO / Product Manager | Value, priority, MVP/release scope or feedback changes | Product backlog-prioritization; proposed scope and actual owner decision |
36
+ | Project Manager | Dependencies, sequencing, risks or progress change | Delivery scope-change/planning; evidence-linked plan delta, no promised dates |
37
+ | SA | Architecture, data/API/event contracts, NFR or compatibility changes | Architecture change-impact/decision-records; affected map/contracts/ADR |
38
+ | Dev / QA | Implementation or behavior changes | Core spec/debugging/tdd/verification/review; regression and drift evidence |
39
+
40
+ These are existing skills when their modules are installed, not mandatory capability dependencies.
41
+ Core-only hosts capture the relevant perspective in the change note. Do not install modules or spawn
42
+ agents just to satisfy the table. Reuse existing authorization and decisions; clarify only unresolved
43
+ consequential choices. If docs and code disagree, cite both revisions and concrete differences,
44
+ identify the authorized source/owner and record the resolution before changing disputed behavior.
45
+ Neither newer code nor an approved-but-superseded document automatically wins; do independent work.
46
+
47
+ ## 3. Update spec and implement
48
+ Keep approved intent distinct from proposed changes. Reuse the active OpenSpec change for the same
49
+ scope; split independent/unaccepted feedback into proposed backlog items. Preserve stable IDs and
50
+ superseded decision history. Update only affected scenarios/design/tasks before implementing the
51
+ accepted slice with harness-spec, harness-tdd or harness-debugging and the relevant adapter.
52
+ Use spec-to-code readiness for full changes, not as business approval or a small-fix paperwork gate.
53
+
54
+ ## 4. Verification and selective documentation maintenance
55
+ Use adaptive-verification and harness-verification from the existing bundle. Compare each AC with
56
+ actual results at the tested revision/environment. Keep runtime PASSED/FAILED/BLOCKED/NOT_RUN and
57
+ static inspection distinct; never promote static analysis into runtime PASS or business approval.
58
+
59
+ For each change list artifacts to create, update, supersede or leave unchanged, with concrete reasons.
60
+ With configured outputs reuse artifact-impact.json for every output and affected input; without them
61
+ use the existing change/PR note. Reference exact affected sections, stable IDs, canonical destinations
62
+ and policies in artifacts.json/integrations.json. Ask storage only if it is still unknown and docs are
63
+ needed. Do not reinterpret configured aliases as access, or duplicate an external canonical source.
64
+
65
+ Use Product techspec-maintenance when installed; otherwise maintain the existing scoped docs/spec.
66
+ Preserve unrelated sections and user edits. Immediately before any source write, re-read its current
67
+ revision/hash and compare to the observed baseline. If changed, reconcile the section diff first;
68
+ if no safe concurrency guard is available, return a proposal. The host enforces access and performs
69
+ calls: read-only means no source mutation, propose means a reviewable patch/handoff, write still
70
+ requires existing bounded authorization and actual tool support.
71
+
72
+ Read-only source: leave that source unchanged and link a separate section-level proposal and owner
73
+ handoff in the impact reason/evidence. Do not record its canonical update as done. A proposal can
74
+ complete a proposal-only assignment; if canonical publication is required, report that dependency
75
+ BLOCKED. For unavailable sources, do not invent revisions/content or silently create a local master.
76
+ Existing artifact-impact status remains pending/done/blocked: done describes the recorded action,
77
+ not approval/publication. Detailed verification statuses live in the linked report. Legacy
78
+ verification.json uses passed/failed/skipped; encode BLOCKED/NOT_RUN as skipped with the explicit
79
+ reason and report link, never as passed. No JSON schema or new lifecycle registry is required.
80
+
81
+ ## 5. Feedback, review and continuity
82
+ Capture supplied bug reports, UAT findings, user feedback and operational evidence in the existing
83
+ backlog/issue or a reviewable proposal under its write policy. Deduplicate by source/requirement,
84
+ record observed vs expected, source/revision, severity/value, affected IDs, owner and proposed action.
85
+ Distinguish defect against accepted AC from a new request. Feedback is proposed until an authorized
86
+ owner accepts it; do not expand active scope, promise release dates or invent operating measurements.
87
+
88
+ Track proposed → clarifying → implementing → verification → review in existing tasks/decision notes;
89
+ mark blockers at the relevant step. Report implementation complete, merged and released separately,
90
+ with actual PR merge SHA and release artifact/deployment evidence when available. Unknown is unknown.
91
+ No auto-merge/release; archive only after the existing OpenSpec merge gate.
92
+
93
+ Before handoff, require AC-to-result links, necessary checks with evidence or explicit BLOCKED/NOT_RUN,
94
+ affected-doc updates/proposals consistent with policy, and remaining work/risks/next step. Missing
95
+ mandatory checks or required publication prevent an unconditional completion claim. State the
96
+ completed scope and limitations, not simply “done”. Update the existing tasks.md handoff with current
97
+ baseline, decisions, evidence revision, blockers, remaining work, next action/owner and distinct
98
+ implementation/merge/release status. On the next session, start again at baseline discovery.
99
+
100
+ ## Meaningful-step recovery
101
+ Use agent-routing.md for scoped perspectives. Keep the existing design/tasks/decisions/evidence current, then save a compact project-owned checkpoint after meaningful steps and before external side effects. aih checkpoint/resume supplies validation and local freshness hints, not execution. Record task/evidence IDs, baseline digests, completed/pending work, blockers, operation identity/status and next action; never copy chat or secrets. If interrupted, reconcile actual sources and unknown/prepared remote operations before retrying. Read real host usage/quota only when available; otherwise record unknown and retain user model settings. Use explicit actions/repository scope for an authorized autopilot; host/repo permission rules still apply.
@@ -31,7 +31,7 @@ in the task note or existing change. Preserve each module's conventions in mixed
31
31
  the diff against those facts and run configured lint/type/build/tests and available boundary checks;
32
32
  report manual review where automated architecture coverage is absent.
33
33
 
34
- Use the harness-spec skill to draft and harness-tdd to implement. Use harness-debugging when diagnosing
34
+ Use harness-spec to draft, harness-tdd to implement and harness-review for the review stage. Use harness-debugging when diagnosing
35
35
  an observed defect. Agents are roles, not automatically spawned workers; a single assistant can perform
36
36
  them sequentially. Respect the host's delegation rules.
37
37
  Small documentation edits or obvious low-risk fixes may skip a full spec with a rationale in the PR.
@@ -39,3 +39,6 @@ Security-sensitive or externally visible behavior changes need explicit acceptan
39
39
  Never archive an unmerged proposal as implemented. CI remains authoritative for actual check results.
40
40
 
41
41
  For proportional checks and evidence integrity, use `.harness/core/workflows/adaptive-verification.md` and `harness-verification`.
42
+
43
+ For successive changes and resumed sessions, enter through `continuous-development.md` for baseline
44
+ reconciliation, selective artifact maintenance, feedback triage and evidence-linked handoff.
package/docs/README.md CHANGED
@@ -8,7 +8,7 @@ Chỉ đọc phần phù hợp với công việc đang làm.
8
8
  | Cần làm gì? | Đọc ở đâu? |
9
9
  | --- | --- |
10
10
  | Tra lệnh, chọn module, xử lý conflict | [CLI](cli.md) · [Adapters](adapters.md) |
11
- | Kết nối công cụ AI | [Codex, Claude Code, Cursor, Copilot, Gemini CLI](tool-setup/README.md) |
11
+ | Kết nối công cụ AI | [Codex, Claude Code, Cursor, Copilot, Gemini CLI, Kiro](tool-setup/README.md) |
12
12
  | Chọn model và cách chạy agent | [Agent configuration](agent-configuration.md) |
13
13
  | Khai báo build/test, Maven/JDK riêng | [Project configuration](project-configuration.md) |
14
14
  | Áp dụng coding conventions | [Project conventions](project-conventions.md) |
@@ -41,3 +41,7 @@ Chỉ đọc phần phù hợp với công việc đang làm.
41
41
  [Release policy](release-policy.md) · [Phát hành npm](npm-release.md) · [Versioning & migration](versioning.md) · [Changelog](../CHANGELOG.md).
42
42
 
43
43
  See [Adaptive verification and TechSpec](adaptive-verification.md) for read-only discovery, evidence reports and selective technical documentation.
44
+
45
+ [Continuous development & living documentation](continuous-development.md): successive features, bugfixes, baseline reconciliation and selective maintenance.
46
+
47
+ - [Agent-first delivery and 0.12 migration](agent-first.md): proportional roles, selective Product profiles, retired recipes, brownfield/Claude/Maven and checkpoint recovery.
@@ -27,7 +27,7 @@ with a field-level error; it is not reset automatically. Keep credentials in hos
27
27
  ## Contract and precedence
28
28
  Schema version 1 uses provider, defaultModel, defaultReasoning, models, agents and execution, with
29
29
  optional hosts. Role IDs are namespace:role: core:planner, product:project-manager and
30
- delivery:project-manager remain distinct. Defaults cover all current roles; only installed selected
30
+ delivery:project-manager retain distinct configuration IDs but alias the canonical core:project-manager responsibility. Defaults cover all current roles; only installed selected
31
31
  roles are active. Unknown/custom role IDs can be declared but are not asserted to have a host contract.
32
32
  Future unmapped installed roles inherit project defaults and are listed by setup.
33
33
 
@@ -41,10 +41,10 @@ explicit role mappings. enabled:false disables a dedicated route, not required r
41
41
  ```json
42
42
  {
43
43
  "schema_version": 1,
44
- "provider": "openai",
45
- "defaultModel": "gpt-6.1-sol",
44
+ "provider": "host",
45
+ "defaultModel": "host-default",
46
46
  "defaultReasoning": "medium",
47
- "models": { "economy": "gpt-6-luna", "balanced": "gpt-6.1-sol", "premium": "gpt-6-astra" },
47
+ "models": { "economy": "host-default", "balanced": "host-default", "premium": "host-default" },
48
48
  "agents": {
49
49
  "core:orchestrator": { "model": "@balanced", "reasoning": "high" },
50
50
  "core:implementer": { "model": "@balanced", "reasoning": "medium" },
@@ -56,7 +56,7 @@ explicit role mappings. enabled:false disables a dedicated route, not required r
56
56
  ```
57
57
  This is a partial example; omitted registered roles inherit defaults. The shipped default covers Core,
58
58
  Product, Architecture and Delivery roles. Orchestrator/Planner/Architect/Reviewer/Security Reviewer
59
- use Sol high; BA/PO/PM/Implementer/Test Engineer use Sol medium; Documentation uses Luna low.
59
+ use declared high/medium reasoning preferences; new seeds retain host-selected models and documentation uses low reasoning. Explicit provider/model examples below illustrate configuration and are not defaults.
60
60
  Economy is Luna low with single-agent/one concurrent session; it is a preference, not a cost guarantee.
61
61
 
62
62
  Reasoning levels structurally accepted: none, minimal, low, medium, high, xhigh, max, ultra. Actual
@@ -97,3 +97,7 @@ controls vary by client. No role JSON automatically creates a native subagent or
97
97
  one lead plus at most one independent helper when supported. Keep inputs scoped, load skill metadata
98
98
  before one needed body and checkpoint unresolved work. Actual usage/quotas come from the host; no fake
99
99
  budget meter is inferred from model tiers, maxRounds or concurrency. See [Agent handoffs](agent-handoffs.md).
100
+
101
+ ## Agent-first defaults and declarations (unreleased)
102
+
103
+ New seeds use host/host-default so the actual host model remains selected; old agents.json is preserved. Claude host init offers native aliases only when absent. aih agents resolves canonical role IDs and required/optional skill preferences. Optional execution.autonomy and execution.budget are validated declarations, not execution permission or quota enforcement. Checkpoint real usage or unknown; never infer cost or auto-escalate. See [Agent-first guide](agent-first.md).