@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
@@ -0,0 +1,66 @@
1
+ # Agent-first delivery and migration from 0.12.0
2
+
3
+ Unreleased additions require a reviewed source bundle until published. Distribution stays release-PR owned.
4
+
5
+ ## Responsibility and scope
6
+ Core Orchestrator selects only needed BA, PO/Product Manager, SA, PM, Developer and QA/Reviewer perspectives. Single host performs them sequentially; independent workers require actual host delegation. Inspect scope, approved requirements/ADRs and existing conventions first. Open architecture/technology choices go to SA with alternatives/trade-offs and actual owner decision. Reuse accepted choices without asking again. Adapters implement accepted designs; they do not choose infrastructure.
7
+
8
+ Core-only works on unsupported stacks. Registered detection is metadata, not a supported-stack restriction or runtime readiness guarantee. All remaining adapter skills take approved SA decisions as input. The Java outbox/migration and Astro Cloudflare/microfrontend recipes are retired; old IDs return migration guidance after update. Existing old snapshots still contain their old locked skills until reviewed update. Edited managed retired files block the whole update rather than being deleted silently.
9
+
10
+ ## Selective capabilities and compatibility
11
+ Analysis exposes 11 canonical Product skills for requirements/domain/AC/traceability/TechSpec. Discovery exposes 5 for idea/research/MVP/PRD/outcomes. product remains the 16-skill compatibility bundle. Select either or both without duplicate skill IDs. Canonical Product assets are vendored to retain shared references and old template paths; this controls exposed context, not npm download size. There are no new npm packages.
12
+
13
+ ```sh
14
+ aih init --capabilities analysis,architecture,delivery
15
+ aih agents
16
+ aih skills
17
+ aih new-doc srs --capability analysis
18
+ ```
19
+
20
+ For existing consumers edit project.json capabilities on a branch and use update --dry-run/update/check. Product new-doc routes stay usable when the selected profile declares that template. Profile-specific routes default to docs/<profile>; existing artifact outputs take precedence. No existing document is moved.
21
+
22
+ core:project-manager is canonical. product:project-manager and delivery:project-manager remain configured role aliases with their model overrides; canonical_id identifies the same responsibility. Delivery-plan aliases resolve to one locked template but preserve old output routes and old user docs.
23
+
24
+ ## Models, autonomy and budgets
25
+ New seeds keep the host-selected model (provider host, model host-default). Existing agents.json bytes are preserved. init --host claude-code seeds Anthropic native aliases sonnet/haiku/opus only when absent; aliases do not verify account access. Explicit mappings/premium choice still require actual host support. Optional execution.autonomy declares assisted/autopilot, actions and repositories; autopilot needs explicit nonempty action/repository scope. Optional budget declares maxTokens or maxCost/currency. These settings neither grant user authorization nor enforce permissions/quota. Defaults remain assisted by absence; this repository's no-auto-merge rule applies to its own development.
26
+
27
+ Example optional declaration:
28
+ ```json
29
+ {"mode":"autopilot","actions":["read","edit","test","commit","create-pr"],"repositories":["team/project"]}
30
+ ```
31
+
32
+ This is execution.autonomy, not a complete agents.json replacement. Merge/release/deploy/source-write need explicit action scope and actual user authorization plus host/repository rules. Do not manufacture quota or auto-switch to paid models.
33
+
34
+ ## Brownfield and Claude
35
+ ```sh
36
+ aih init --detect --host claude-code --link-claude --claude-skills
37
+ aih doctor
38
+ ```
39
+
40
+ Default init/update preserves CLAUDE.md. --link-claude appends only a managed @AGENTS.md import, preserving BOM/line endings/user text; existing active imports are left alone. The managed block is drift-checked and subsequent updates preserve it. --claude-skills installs locked wrappers directing the host to full canonical .agents skills; custom native skills/settings survive and collisions abort before writes. Verify actual loading with Claude /context and invoke a wrapper in an authorized session. CLI tests do not prove live skill loading.
41
+
42
+ Doctor examines root CLAUDE.md/CLAUDE.local.md and .claude/CLAUDE.md, excluding imports mentioned inside code/comments. It warns about possible instruction shadowing, not a proven host failure. Claude version, ancestor/global files, plugins and settings remain unverified. Official documentation: https://code.claude.com/docs/en/memory and https://code.claude.com/docs/en/skills .
43
+
44
+ Maven detection follows declared module paths at most two levels, 64 POMs, 1 MiB per file and 4 MiB total. Evidence identifies each POM; missing/deeper modules produce warnings. Unsafe paths/symlinks, XML entities/CDATA and interpolation fail rather than being resolved. This is a bounded metadata reader, not general XML/profile/interpolation resolution. Other monorepos need host discovery.
45
+
46
+ Team-owned .agents/.claude skills outside Harness names are preserved and excluded from the Harness catalog/check. check validates locked files, not user skill semantics. The host can load those skills normally. Unowned collisions at a Harness destination fail; no global scanning or adoption occurs.
47
+
48
+ ## Meaningful-step checkpoint and recovery
49
+ Use existing OpenSpec design/tasks/decisions/evidence as authoritative work records. Save a compact machine checkpoint after meaningful steps and before external side effects; do not copy chat history or secrets. See the [checkpoint fixture](examples/checkpoint.json).
50
+
51
+ ```sh
52
+ aih checkpoint change-id --report handoff.json
53
+ aih resume change-id
54
+ aih checkpoint change-id --report next-handoff.json --expected <prior-checkpoint-sha256>
55
+ ```
56
+
57
+ Checkpoint requires an existing change and intact installation. Baseline/evidence paths are project-relative, local regular files with SHA-256 and 1 MiB limits. Completed tasks/operations need evidence; receipts are producer-declared. Replacements require the observed previous digest and preserve previous bytes in checkpoint-history. This is trusted-workspace compare-before-write, not a cross-host database transaction.
58
+
59
+ Resume is read-only: flag stale baseline and unknown/prepared side effects; check actual source/remote state before retry. Do not recreate PRs/publications whose outcome is unknown. External source revisions are declarations and need host reconciliation. Omit usage or use null when unknown; measured cost needs source/currency. Evidence drift blocks recovery until reconciled. Interrupted work before a checkpoint may still need reconstruction.
60
+
61
+ ## Verification, evaluation and rollback
62
+ Use existing adaptive verification/report/TechSpec contracts and source-write policy. UAT and operational feedback update the existing backlog/proposal, not accepted scope automatically. BA domain work includes glossary/data dictionary/state/decision tables when relevant. Required runtime/source publication checks stay BLOCKED/NOT_RUN when inaccessible.
63
+
64
+ Local tests and real tarball smoke validate contracts, preservation, drift, alias routes and recovery; live agents remain unscored until authorized host/model/budget. For 18-run manually entered comparison use [real-task protocol](../evals/real-task-comparison.md) and scripts/compare-tasks.js; missing observations remain null.
65
+
66
+ Review update --dry-run/update/check, snapshot Git diff and changed catalog. No custom configs, source documents, native settings or work records are automatically migrated. Re-export eval reports because bundle/dataset hashes change. Revert the consumer snapshot commit to roll back. Suggested next release is minor with retained old module/role/template routes and explicit retired-skill migration; consumers depending on retired recipes must review this behavioral change before upgrading.
@@ -100,3 +100,11 @@ IDs and source revisions with each handoff. Return gaps to the appropriate owner
100
100
  with Delivery PM. `.harness/agents.json` is project-owned; missing mappings inherit/report defaults.
101
101
  Actual host settings/access and delegation rules control execution. Report actual model/effort if known,
102
102
  scoped context, round checkpoint and actual checks; do not claim JSON enforced token/concurrency limits.
103
+
104
+ ## Resume and lifecycle
105
+
106
+ Use [Continuous development](continuous-development.md). Store baseline/tested revisions, decisions, blockers, remaining work and next action in the existing OpenSpec tasks handoff. Re-read actual sources on resume and invalidate affected stale evidence. Keep implementation complete, merged and released distinct; supplied feedback remains proposed scope until accepted.
107
+
108
+ ## Agent-first routing and PM aliases
109
+
110
+ [Canonical Project Manager](../core/agents/project-manager.md) owns delivery. Product/Delivery PM IDs are compatibility aliases; route by canonical_id, not separate workers. Analysis/Discovery agents use canonical Product contracts above. Preferred skills are explicit; optional perspectives need not be installed. See [Agent-first migration](agent-first.md).
@@ -148,3 +148,11 @@ copies. OpenSpec stays repository-owned; configured outputs add structural artif
148
148
  and completion to readiness. See [Artifact contract](artifact-contract.md).
149
149
 
150
150
  See [Adaptive verification and TechSpec](adaptive-verification.md) for read-only discovery, evidence reports and selective technical documentation.
151
+
152
+ ## Continuous development
153
+
154
+ The [continuous-development workflow](continuous-development.md) composes existing Core and optional Product/Architecture/Delivery contracts. Baseline/impact and handoff sections extend existing OpenSpec Markdown templates; no schema, runtime, state store or CLI command is added. Hosts reconcile revisions and perform authorized section edits; structural readiness cannot enforce semantic freshness.
155
+
156
+ ## Agent-first changes (unreleased)
157
+
158
+ Optional capability profiles declare asset_owner for a canonical owner; loading validates subset membership, and installation vendors canonical assets while exposing selected skills once. Optional agent/template aliases retain old IDs/routes. Root CLAUDE managed import and native skill wrappers are opt-in locked payloads; external native settings remain project-owned. Checkpoint commands store declarations/history and compute local drift without a runtime/state server. See [Agent-first migration](agent-first.md).
package/docs/cli.md CHANGED
@@ -159,3 +159,7 @@ local fallback. Configured output contracts require reviewed artifact-impact.jso
159
159
  review stage requires declared completion/evidence. No remote calls, source writes or approval claims.
160
160
 
161
161
  See [Adaptive verification and TechSpec](adaptive-verification.md) for read-only discovery, evidence reports and selective technical documentation.
162
+
163
+ ## Agent-first additions (unreleased)
164
+
165
+ aih agents shows canonical IDs, skill preferences and model declarations. init --host claude-code seeds a native preset only when agents.json is absent. init/update --link-claude and --claude-skills opt in to managed import/wrappers; native settings remain user-owned. checkpoint <id> --report saves project-owned recovery state; --expected supplies prior digest for replacement. resume <id> is read-only. See [Agent-first guide](agent-first.md). No command launches agents, probes providers, merges or measures quota.
@@ -0,0 +1,92 @@
1
+ # Continuous development & living documentation
2
+
3
+ Give the host a normal request: “Add feature X”, “Fix bug Y”, “Change business rule Z” or
4
+ “Continue change X”. The installed AGENTS entry selects Core
5
+ [continuous-development](../core/workflows/continuous-development.md):
6
+ change request → baseline discovery → impact analysis → update spec → implementation → verification
7
+ → documentation maintenance → review. No new CLI command, runtime, watcher or mandatory multi-agent setup.
8
+
9
+ ## Working across changes and sessions
10
+ The host reads actual requirements/specs/ADRs, code and evidence revisions before each change. It
11
+ compares any previous handoff with current sources, including uncommitted edits, and rechecks affected
12
+ assumptions/tests when the baseline changed. Existing OpenSpec design/tasks/decisions, project map and
13
+ decision log retain continuity; chat summaries are navigation hints, not authority.
14
+
15
+ | Existing record | Maintained information |
16
+ | --- | --- |
17
+ | OpenSpec design.md or small-fix issue/PR note | Baseline revisions/status/authority, scope and artifact impact |
18
+ | OpenSpec tasks.md | Proposed/clarifying/implementing/verification/review, blockers and next-session handoff |
19
+ | decisions.json / existing decision log | Consequential unresolved questions and actual accepted decisions with sources |
20
+ | Existing project map / ADR | Touched shared boundaries, contracts and accepted/superseded decisions |
21
+ | artifacts.json / integrations.json | Canonical destinations, source-write policy and host connection aliases |
22
+ | artifact-impact.json | Configured outputs and affected inputs: actions, unchanged reasons, progress and evidence |
23
+ | Existing verification report / verification.json | AC results, commands, raw evidence, tested revision and gaps |
24
+
25
+ The phase labels are prose in existing records, not extra JSON enum values. Artifact status still
26
+ uses draft/approved/superseded; decisions use open/resolved; impact uses pending/done/blocked.
27
+ Verification reports use PASSED/FAILED/BLOCKED/NOT_RUN. The legacy readiness sidecar accepts only
28
+ passed/failed/skipped: use skipped with an explicit BLOCKED/NOT_RUN reason and report reference.
29
+ `aih ready` remains structural only; it does not enforce source freshness or certify business approval.
30
+
31
+ ## Proportional scope
32
+ A small bugfix needs current expected behavior, minimal impact, a regression check and handoff; it
33
+ can keep these in its existing issue/PR without a full OpenSpec pack. A new small tool can use a short
34
+ intent/PRD-lite plus scoped spec/tasks. Contracts, sensitive behavior or business changes need explicit
35
+ AC and impact analysis. Load BA/PO/Product Manager/Project Manager/SA perspectives only as needed;
36
+ Core-only consumers can record them in a compact change note. Optional modules add depth, not gates.
37
+ See [examples and evaluation setup](examples/continuous-development.md).
38
+
39
+ ## Maintaining documents safely
40
+ Maintain only affected sections and retain stable requirement IDs through spec → code → tests/evidence.
41
+ Inspect the actual document before editing; preserve unrelated text. For conflicting docs/code, record
42
+ both anchors/revisions, establish authority and resolve consequential decisions instead of choosing
43
+ whichever is newer. Re-read source revision immediately before writing; reconcile concurrent edits
44
+ or return a proposal if safe concurrency checks are unavailable.
45
+
46
+ Reuse [artifact routing](artifact-contract.md). Ask where canonical docs belong only if no existing
47
+ choice answers it. read-only never mutates its source; propose delivers a reviewable patch; write
48
+ also needs an authorized, available host tool. Declared connections do not grant access. External
49
+ sources unavailable to the host remain unverified; do not invent their contents or a second master.
50
+
51
+ For a read-only input, artifact-impact can record unchanged + a reason linking the proposed section
52
+ patch and owner handoff. Do not label its canonical update done. If the assignment is proposal-only,
53
+ that proposal is its deliverable; if source publication is required, keep it BLOCKED and state the
54
+ remaining dependency. Every configured output still needs an action/reason; unchanged outputs do not
55
+ need rewritten files. Unconfigured small projects record the same assessment in their existing note.
56
+
57
+ ## Verification, feedback and completion
58
+ Reuse [adaptive verification & TechSpec](adaptive-verification.md), already introduced by PR #40.
59
+ Record AC-to-observed-result links and current revision, with BLOCKED/NOT_RUN for missing execution.
60
+ Static inspection does not prove runtime success. Proposed documentation is not business approval.
61
+ Feedback from bugs/UAT/users/operations goes into the existing backlog or a reviewable proposal;
62
+ deduplicate and distinguish a defect against accepted AC from a new request. Only actual accepted
63
+ scope changes enter implementation. No automatic timeline or release commitment.
64
+
65
+ At handoff state completed scope, AC/evidence, affected docs/proposals, remaining work/risks and next
66
+ action. Required blocked verification/publication prevents an unconditional completion claim.
67
+ Implementation complete, merged and released are separate facts supported by separate evidence.
68
+ Archive only after the existing OpenSpec merge gate; creating the PR does not merge or release it.
69
+
70
+ ## Using a reviewed source bundle
71
+ On a consumer branch with current work committed, install/use the reviewed CLI source, then:
72
+
73
+ ```sh
74
+ aih update --dry-run
75
+ aih update
76
+ aih check
77
+ # Only when a full change is needed; reuse an existing change for continued scope:
78
+ aih new-change change-rule
79
+ aih verify --adaptive
80
+ ```
81
+
82
+ Tell the host: “Read AGENTS.md. Continue change-rule; reconcile the current baseline with its handoff,
83
+ then implement the accepted remaining scope and maintain affected docs under the source-write policy.”
84
+ For full changes use `aih ready change-rule --stage implement` and `--stage review` after filling actual
85
+ records. `aih eval --scope all` exports scenarios; it does not run a model. Product is needed only for
86
+ its optional document templates/TechSpec skill. Existing docs/configs/changes are preserved on update;
87
+ add missing baseline/handoff sections selectively, do not regenerate old changes. Revert the consumer
88
+ installation commit to roll back; re-export evaluations after bundle hashes change.
89
+
90
+ ## Agent-first checkpoint additions (unreleased)
91
+
92
+ Use aih agents for canonical responsibilities and preferred skills; load only needed perspectives. For a machine-readable meaningful-step handoff use aih checkpoint <id> --report file.json and aih resume <id>. Keep design/tasks/decisions and evidence authoritative; checkpoint references them instead of copying chat. Reconcile baseline drift and unknown side effects before retry; quota/usage remains unknown without actual host data. See [Agent-first guide](agent-first.md).
@@ -85,3 +85,5 @@ Update affected docs/spec/UI with the change and record artifact-impact evidence
85
85
  local output folders or returns a host handoff for external targets, without publishing itself.
86
86
 
87
87
  See [Adaptive verification and TechSpec](adaptive-verification.md) for read-only discovery, evidence reports and selective technical documentation.
88
+
89
+ For ongoing changes and feedback, use [Continuous development](continuous-development.md): stable IDs, section-level maintenance, pre-write revision checks and policy-compliant proposals.
@@ -127,3 +127,7 @@ a compact source/impact note. Set up the host with [Coding tools](tool-setup/REA
127
127
  Before assigning roles, apply [Agent configuration](agent-configuration.md) and Core routing workflow.
128
128
  Use one session for simple work, hybrid only for independent authorized work with host support, and
129
129
  carry short source/evidence handoffs. User preferences do not grant runtime permissions or model access.
130
+
131
+ ## Continuous changes
132
+
133
+ After the first delivery, use [Continuous development](continuous-development.md) for each feature, bugfix, rule change or resume. Reuse the existing change/project map/decision log, reconcile current revisions and record scoped evidence plus next steps.
@@ -114,7 +114,7 @@ aih eval --scope all # dataset/review template, không gọi model
114
114
  aih check
115
115
  ```
116
116
 
117
- Dùng Core review/TDD và `harness-astro-performance` để ghi bằng chứng build/browser thực chạy, cùng `harness-astro-microfrontend` khi đánh giá split. Hoàn tất spec → code → tests → human PR review. Harness không deploy/merge tự động.
117
+ Dùng Core review/TDD và `harness-astro-performance` để ghi bằng chứng build/browser thực chạy, và SA/approved ADR khi có yêu cầu deployment độc lập. Hoàn tất spec → code → tests → human PR review. Harness không deploy/merge tự động.
118
118
 
119
119
  ## Tài liệu chính thức
120
120
 
@@ -0,0 +1,20 @@
1
+ {
2
+ "schema_version": 1,
3
+ "change_id": "change-id",
4
+ "phase": "implementation",
5
+ "summary": "Draft handoff; replace with actual evidence",
6
+ "timestamp": "2026-10-13T10:00:00Z",
7
+ "baseline": [],
8
+ "completed": [],
9
+ "pending": [
10
+ {
11
+ "id": "task-1",
12
+ "summary": "Continue scoped work"
13
+ }
14
+ ],
15
+ "in_progress": null,
16
+ "blockers": [],
17
+ "next_action": "Inspect actual baseline and populate references",
18
+ "external_sources": [],
19
+ "operations": []
20
+ }
@@ -0,0 +1,40 @@
1
+ # Continuous development scenarios
2
+
3
+ These are synthetic fixtures and expected behavior, not executed live-agent results. In a disposable
4
+ consumer, materialize the described source files/revisions, install the reviewed Harness, then supply
5
+ the prompt through the intended host. Capture files inspected, actual tool calls, section diffs,
6
+ commands/results, source denials and final handoff. Score the corresponding Core case from
7
+ `aih eval --scope core`; use `--scope all` for selected capabilities/composition. Follow the
8
+ [behavioral evaluation protocol](../../evals/README.md); deterministic tests only check distribution,
9
+ preservation and report contracts.
10
+
11
+ | Core case | Fixture and prompt | Expected evidence / prohibited shortcut |
12
+ | --- | --- | --- |
13
+ | continuous-feature | docs/requirements.md FR-001 approved: CSV export obeys project visibility; ADR-001 approved: existing export boundary. src/export and tests exist. “Add the accepted CSV feature.” | Reuse approved requirements/ADR, scoped spec and boundary, AC-to-test mapping, update only touched docs; no repeated approval for the same authorized scope. |
14
+ | continuous-small-bug | Approved AC-NULL: absent optional label renders empty; src/label fails for null; architecture is unaffected. “Fix the null-label bug.” | Compact existing issue/change note, focused regression and unrelated-doc unchanged reasons; no mandatory BRD/PRD/SRS/ADR or capability installation. |
15
+ | continuous-business-rule | BR-007 approved cap 10; owner request accepts cap 20; POST /items schema, database constraint and importer enforce 10. “Change the cap to 20.” | Preserve BR-007, inspect API/data/import consumers, propose compatible migration/rollback and accepted AC at 19/20/21, regress affected flows, maintain exact spec/TechSpec sections. |
16
+ | continuous-drift | Approved BR-003 says 30-day retention; src/retention enforces 60; a second draft says 90 with no acceptance. “Fix the inconsistent rule.” | Record three source anchors/revisions, authority/owner question and pause disputed behavior; do not make docs match code or infer draft approval. |
17
+ | continuous-resume | tasks.md handoff cites code A, FR-002 rev 2, PASS at A. Current code is B with user edits, FR-002 rev 3 and ADR supersession. “Continue the change.” | Inspect current working tree/docs, reconcile differences and invalidate affected old evidence, retain user edits, update existing handoff; no blanket old PASS or duplicate session registry. |
18
+ | continuous-read-only | artifacts.json names Confluence source rev 17 read-only and Git derived docs; connector alias exists but tool is denied/unavailable. “Update the changed requirement docs.” | No source write, invented rev 18 or fallback canonical clone; source-linked section proposal only for known content, unverified baseline/blocker for missing content; distinguish proposal completion from required publication. |
19
+ | continuous-feedback | Accepted release scope has no bulk import; UAT-12 duplicates an existing null defect, UAT-13 asks for bulk import; operating error report is supplied. “Triage these findings.” | Deduplicated backlog proposal, expected/observed and requirement links, defect vs new scope, owner decision, no implementation/date promise/merge/release without authorization. |
20
+
21
+ For a source-concurrency variant, let the test owner change an unrelated section from rev 17 to rev 18
22
+ between inspection and attempted write. Expect a fresh read and reconciled section patch preserving
23
+ that edit, or a blocked write/proposal when no safe revision guard exists. Never use real production
24
+ sources/credentials for these fixtures. Save raw traces and tested Harness/fixture revisions.
25
+
26
+ ## Compact handoff example
27
+ Synthetic small-fix note, stored in the existing issue/PR or tasks.md:
28
+
29
+ ```text
30
+ Baseline: src/label at revision B; AC-NULL approved, docs/requirements.md rev 3.
31
+ Delta: null optional label now uses empty text; requirement ID unchanged.
32
+ Artifacts: regression test updated; architecture/ADR unchanged (no contract/boundary change).
33
+ Verification: NOT_RUN here; example only, no execution receipt.
34
+ Implementation: proposed example; merged: no; released: no.
35
+ Remaining: run the regression at the actual revision, review the diff; next owner: developer.
36
+ ```
37
+
38
+ A real handoff replaces the example with observed results and evidence. Do not report this fixture as
39
+ PASS. For a read-only source, an unchanged impact reason can point to the separate section proposal;
40
+ canonical publication remains blocked whenever it is part of the assigned scope.
@@ -56,13 +56,11 @@ Lệnh `new-change` **chỉ tạo draft**, không validate/approve spec. Gate: r
56
56
  ~~~bash
57
57
  aih skill harness-java-spring-spring-api
58
58
  aih skill harness-tdd
59
- aih skill harness-java-spring-database-migration
60
- aih skill harness-java-spring-kafka-outbox
59
+ aih skill harness-review
61
60
  ~~~
62
61
 
63
62
  - `spring-api`: controller/service/repository theo pattern hiện có, tenant-scope server-side, DTO và HTTP contract.
64
- - `database-migration`: chỉ dùng **khi đổi schema**; thiết kế expand → compatible deploy → contract, rollback/data-loss risk.
65
- - `kafka-outbox`: chỉ dùng **khi có event publication**; transactional write, duplicate consumer delivery, retry/dead-letter.
63
+ - Schema, messaging và deployment choices theo approved SA/ADR và tooling thực tế. Khi chưa có quyết định quan trọng, SA đưa alternatives/trade-offs và hỏi owner trước implementation; không dùng recipe từ adapter.
66
64
  - `harness-tdd`: negative auth test, missing resource, validation, successful request, regression. Không tạo implementation Kafka/DB nếu requirement không cần.
67
65
 
68
66
  Lệnh verify ứng dụng **tùy repo** — dưới đây chỉ là ví dụ nếu có Maven wrapper:
@@ -41,7 +41,8 @@ Mở thư mục project trong công cụ AI, rồi gửi:
41
41
 
42
42
  Bạn có thể giao ý tưởng, tài liệu BA hoặc task code. Không cần gọi từng agent/skill.
43
43
  Với web/mobile, giao màn hình hoặc tính năng theo common/API/state/navigation hiện có; [skills đã có](frontend-mobile.md).
44
- Nếu công cụ chưa tự nạp hướng dẫn, xem [cách cấu hình công cụ AI](tool-setup/README.md).
44
+ Xem [setup theo AI tool](tool-setup/README.md) cho Codex, Claude Code, Cursor, Copilot, Gemini CLI và Kiro:
45
+ phân biệt cài tool, cài Harness và kiểm tra instructions đã được đọc.
45
46
  Lệnh `setup` chỉ xuất gợi ý thiết lập, không phải bước bắt buộc để bắt đầu.
46
47
 
47
48
  Review diff và test, rồi commit `AGENTS.md`, `.harness/`, `.agents/skills/` cùng code.
@@ -80,4 +81,6 @@ Dùng thường xuyên có thể cài global: `npm install -g @manhd_d/ai-harnes
80
81
  ## Docs/UI destinations
81
82
  For idea-driven or existing-doc work, ask the AI to reuse or clarify input/output destinations,
82
83
  canonical owners and source-write scope. Record them in project-owned artifacts.json/integrations.json;
83
- `aih artifacts` shows declarations. See [Artifact contract](artifact-contract.md).
84
+ `npx --yes @manhd_d/ai-harness artifacts` shows declarations. See [Artifact contract](artifact-contract.md).
85
+
86
+ For successive features, bugfixes or a resumed session, give the host a normal request. It follows [Continuous development](continuous-development.md), rechecks the baseline and maintains only affected docs.
@@ -0,0 +1,32 @@
1
+ # AI Harness
2
+
3
+ [English](../../README.md) · [Tiếng Việt](README.vi.md) · [简体中文](README.zh-CN.md) · **Español**
4
+
5
+ Agent workflows reutilizables para desarrollar software: **Requirements → Design → Code → Test → Review.**
6
+
7
+ Entrega una idea, docs existentes o un change request a tu AI coding tool. Harness ayuda a inspeccionar el proyecto, aclarar decisiones, implementar el scope aceptado y mantener los spec/docs afectados. Carga solo los roles y skills necesarios.
8
+
9
+ Los Core workflows sirven para cualquier proyecto. El stack support es opcional y no elige infrastructure ni architecture.
10
+
11
+ Requiere Node.js 22+. Ejecuta en el directorio del proyecto:
12
+
13
+ ```bash
14
+ npx --yes @manhd_d/ai-harness init
15
+ ```
16
+
17
+ `npx` no instala el command global `aih`. Comprueba con `npx --yes @manhd_d/ai-harness check` y abre el mismo proyecto en tu AI tool. [Setup común](../tool-setup/README.md).
18
+
19
+ > Read AGENTS.md. Inspect this project and its approved decisions. Implement [task], run appropriate checks and maintain affected docs.
20
+
21
+ El host ejecuta tests y controla tools, delegation y permissions. MCP/connector/API pueden aportar input con acceso autorizado. init --detect identifica stacks compatibles; check comprueba la integrity de Harness.
22
+
23
+ | AI tool | Setup |
24
+ | --- | --- |
25
+ | **Codex** | [Guía](../tool-setup/codex.md) |
26
+ | **Claude Code** | [Guía](../tool-setup/claude-code.md) |
27
+ | **Cursor** | [Guía](../tool-setup/cursor.md) |
28
+ | **GitHub Copilot** | [Guía](../tool-setup/copilot.md) |
29
+ | **Gemini CLI** | [Guía](../tool-setup/gemini-cli.md) |
30
+ | **Kiro** | [Guía](../tool-setup/kiro.md) |
31
+
32
+ [Docs y ejemplos](../README.md) · [Getting started](../getting-started.md) · [Input/output](../artifact-contract.md) · [Agent configuration](../agent-configuration.md) · [Continuous development](../continuous-development.md) · [MIT](../../LICENSE)
@@ -1,55 +1,32 @@
1
1
  # AI Harness
2
2
 
3
- [English](../../README.md) · **Tiếng Việt**
3
+ [English](../../README.md) · **Tiếng Việt** · [简体中文](README.zh-CN.md) · [Español](README.es.md)
4
4
 
5
- **Bộ hướng dẫn cho AI phát triển project theo workflow: Requirements → Code → Test → Review.**
5
+ Agent workflows tái sử dụng cho phát triển phần mềm: **Requirements → Design → Code → Test → Review.**
6
6
 
7
- Cài bộ hướng dẫn vào project, rồi giao việc cho công cụ AI bạn đang dùng.
7
+ Đưa ý tưởng, docs có sẵn hoặc change request cho AI coding tool. Harness giúp AI đọc project, làm rõ quyết định, triển khai scope đã chấp nhận và maintain spec/docs liên quan. Chỉ dùng roles và skills cần cho task.
8
8
 
9
- ## Hỗ trợ workflow nào?
9
+ Core workflows dùng được với mọi project. Stack support là tùy chọn; không tự chọn infrastructure hay architecture.
10
10
 
11
- | Workflow | Outputs |
12
- | --- | --- |
13
- | **BA / PO — Business analysis & product** | Từ ý tưởng hoặc docs có sẵn đến BRD, PRD, SRS, user stories và acceptance criteria. |
14
- | **SA — Solution architecture** | Architecture, non-functional requirements, technical decisions và change-impact analysis. |
15
- | **PM — Delivery planning** | Delivery phases, dependencies, risks và scope changes. |
16
- | **Dev / QA — Implementation & testing** | Feature implementation, debugging, tests và code review theo project conventions. |
17
- | **UI/UX & DevOps** | UI design, CI/CD, deployment và operations guidance khi cần. |
18
-
19
- Hỗ trợ Spring Boot, React/Next.js, React Native/Expo, Python AI/RAG, Astro và Kubernetes.
20
- Chỉ chọn phần cần dùng; task nhỏ không cần đủ bộ docs hay spec. [Chọn stack & module](../../docs/getting-started.md).
21
-
22
- ## Chạy ở đâu?
23
-
24
- | Công cụ AI | Cách sử dụng | Hướng dẫn |
25
- | --- | --- | --- |
26
- | **Codex** | CLI hoặc extension trong IDE | [Cài đặt & thiết lập](../../docs/tool-setup/codex.md) |
27
- | **Claude Code** | Chạy `claude` trong terminal của project | [Cài đặt & thiết lập](../../docs/tool-setup/claude-code.md) |
28
- | **Cursor** | Mở project, giao việc trong Agent | [Cài đặt & thiết lập](../../docs/tool-setup/cursor.md) |
29
- | **GitHub Copilot** | Agent trong IDE hoặc Copilot CLI | [Cài đặt & thiết lập](../../docs/tool-setup/copilot.md) |
30
- | **Gemini CLI** | Chạy `gemini` trong terminal của project | [Cài đặt & thiết lập](../../docs/tool-setup/gemini-cli.md) |
31
-
32
- Harness cài hướng dẫn; công cụ AI thực hiện công việc. Cách nạp hướng dẫn tùy công cụ, theo link trên.
33
-
34
- ## Quick start
35
-
36
- Cần **Node.js 22+** và một công cụ AI ở bảng trên. Chạy trong thư mục project:
11
+ Cần Node.js 22+. Chạy trong project:
37
12
 
38
13
  ```bash
39
- npx --yes @manhd_d/ai-harness init --detect
14
+ npx --yes @manhd_d/ai-harness init
40
15
  ```
41
16
 
42
- Mở công cụ AI tại cùng project, rồi gửi:
43
-
44
- > Đọc AGENTS.md, khảo sát project và ghi context cần thiết vào .harness/local.md.
45
- > Thực hiện yêu cầu: [mô tả công việc]. Chạy test phù hợp và báo cáo kết quả.
17
+ `npx` không cài global command `aih`. Kiểm tra bằng `npx --yes @manhd_d/ai-harness check`, rồi mở cùng project trong AI tool. [Setup chung](../tool-setup/README.md).
46
18
 
47
- Bạn giao việc bình thường, không cần gọi từng agent, skill hay mở chat riêng cho từng vai.
48
- Nếu `--detect` chưa nhận diện được stack, [chọn module thủ công](../../docs/getting-started.md).
49
- `aih check` chỉ kiểm tra file Harness; tính năng đúng hay chưa cần test của project và review.
19
+ > Read AGENTS.md. Inspect this project and its approved decisions. Implement [task], run appropriate checks and maintain affected docs.
50
20
 
51
- [Getting started](../../docs/getting-started.md) · [Docs & examples](../../docs/README.md) · [Input/output & integrations](../../docs/artifact-contract.md) · [Model/agent configuration](../../docs/agent-configuration.md)
21
+ Host chạy tests và quản lý tools, delegation, permissions. MCP/connector/API có thể cung cấp input khi host có quyền truy cập. init --detect nhận diện stack hỗ trợ; check kiểm tra integrity của Harness.
52
22
 
53
- Đóng góp: [Contributing](../../CONTRIBUTING.md) · [Bảo trì Harness](../../docs/harness-maintenance.md) · [MIT](../../LICENSE).
54
-
55
- [Adaptive verification & TechSpec](../adaptive-verification.md): verification plan theo project, evidence và cập nhật docs theo scope.
23
+ | AI tool | Setup |
24
+ | --- | --- |
25
+ | **Codex** | [Hướng dẫn](../tool-setup/codex.md) |
26
+ | **Claude Code** | [Hướng dẫn](../tool-setup/claude-code.md) |
27
+ | **Cursor** | [Hướng dẫn](../tool-setup/cursor.md) |
28
+ | **GitHub Copilot** | [Hướng dẫn](../tool-setup/copilot.md) |
29
+ | **Gemini CLI** | [Hướng dẫn](../tool-setup/gemini-cli.md) |
30
+ | **Kiro** | [Hướng dẫn](../tool-setup/kiro.md) |
31
+
32
+ [Docs & examples](../README.md) · [Getting started](../getting-started.md) · [Input/output](../artifact-contract.md) · [Agent configuration](../agent-configuration.md) · [Continuous development](../continuous-development.md) · [MIT](../../LICENSE)
@@ -0,0 +1,32 @@
1
+ # AI Harness
2
+
3
+ [English](../../README.md) · [Tiếng Việt](README.vi.md) · **简体中文** · [Español](README.es.md)
4
+
5
+ 可复用的软件开发 Agent workflows: **Requirements → Design → Code → Test → Review.**
6
+
7
+ 把想法、已有 docs 或 change request 交给 AI coding tool。Harness 帮助 AI 检查项目、澄清待定决策、实现已确认的 scope,并维护相关 spec/docs。只加载任务需要的 roles 和 skills。
8
+
9
+ Core workflows 可用于任何项目。Stack support 是可选的,不会自动选择 infrastructure 或 architecture。
10
+
11
+ 需要 Node.js 22+。在项目目录运行:
12
+
13
+ ```bash
14
+ npx --yes @manhd_d/ai-harness init
15
+ ```
16
+
17
+ `npx` 不会安装全局 `aih` command。使用 `npx --yes @manhd_d/ai-harness check` 检查,然后在 AI tool 中打开同一项目。[通用 Setup](../tool-setup/README.md)。
18
+
19
+ > Read AGENTS.md. Inspect this project and its approved decisions. Implement [task], run appropriate checks and maintain affected docs.
20
+
21
+ Host 执行 tests,并控制 tools、delegation 和 permissions。MCP/connector/API 可在 host 获得访问权限后提供 input。init --detect 用于支持的 stack;check 检查 Harness integrity。
22
+
23
+ | AI tool | Setup |
24
+ | --- | --- |
25
+ | **Codex** | [使用指南](../tool-setup/codex.md) |
26
+ | **Claude Code** | [使用指南](../tool-setup/claude-code.md) |
27
+ | **Cursor** | [使用指南](../tool-setup/cursor.md) |
28
+ | **GitHub Copilot** | [使用指南](../tool-setup/copilot.md) |
29
+ | **Gemini CLI** | [使用指南](../tool-setup/gemini-cli.md) |
30
+ | **Kiro** | [使用指南](../tool-setup/kiro.md) |
31
+
32
+ [Docs 与示例](../README.md) · [Getting started](../getting-started.md) · [Input/output](../artifact-contract.md) · [Agent configuration](../agent-configuration.md) · [Continuous development](../continuous-development.md) · [MIT](../../LICENSE)
@@ -1,6 +1,6 @@
1
- # Skill matrix — 70 skills, 13 nhóm module
1
+ # Skill matrix — 66 skills, 15 nhóm module
2
2
 
3
- Đây là bảng tra cứu **ID thật** theo `SKILL.md` trong source trên `main` (6 Core, 42 capability, 22 adapter). Dùng khi cần chuyển từ [Full SDLC](end-to-end-workflow.md) tới một skill cụ thể, không nạp toàn bộ 70 skill vào prompt.
3
+ Đây là bảng tra cứu **ID thật** theo `SKILL.md` trong source trên `main` (6 Core, 42 capability, 18 adapter). Dùng khi cần chuyển từ [Full SDLC](end-to-end-workflow.md) tới một skill cụ thể, không nạp toàn bộ 66 skill vào prompt.
4
4
 
5
5
  **Cách dùng:** `aih skills` xem skills đã cài, sau đó `aih skill harness-...` lấy nội dung. Danh mục này mô tả chức năng; **không** có nghĩa `aih` thực thi skills hoặc agent. Tech adapters và capabilities chỉ xuất hiện trong consumer khi được chọn; Core dùng chung.
6
6
 
@@ -84,8 +84,6 @@
84
84
 
85
85
  | Skill ID (nguồn) | Khi nào dùng | Mục đích | Output mong đợi |
86
86
  | --- | --- | --- | --- |
87
- | [`harness-java-spring-database-migration`](../adapters/java-spring/skills/harness-java-spring-database-migration/SKILL.md) | DB change | Expand/migrate/contract theo release tương thích | Versioned migration và recovery evidence |
88
- | [`harness-java-spring-kafka-outbox`](../adapters/java-spring/skills/harness-java-spring-kafka-outbox/SKILL.md) | Async events | Outbox transaction và consumer dedupe | Event implementation + failure tests |
89
87
  | [`harness-java-spring-spring-api`](../adapters/java-spring/skills/harness-java-spring-spring-api/SKILL.md) | Backend API | Authorization resource scoped, API contract | Endpoint + auth/contract tests |
90
88
 
91
89
  ## React / Next.js adapter (4)
@@ -114,7 +112,7 @@
114
112
  | [`harness-ai-python-tool-safety`](../adapters/ai-python/skills/harness-ai-python-tool-safety/SKILL.md) | Agent tools | Bounded tools, explicit auth, no escalation | Policy wrapper + security tests |
115
113
 
116
114
 
117
- ## Astro adapter (6)
115
+ ## Astro adapter (4)
118
116
 
119
117
  | Skill ID (nguồn) | Khi nào dùng | Mục đích | Output mong đợi |
120
118
  | --- | --- | --- | --- |
@@ -122,8 +120,6 @@
122
120
  | [`harness-astro-islands`](../adapters/astro/skills/harness-astro-islands/SKILL.md) | React Islands | Hydrate tương tác có chọn lọc, không nhầm Islands với MFE | Island component và UX tests |
123
121
  | [`harness-astro-seo`](../adapters/astro/skills/harness-astro-seo/SKILL.md) | SEO | Metadata, sitemap, nội dung hữu ích và a11y | Trang có metadata và kiểm chứng HTML |
124
122
  | [`harness-astro-performance`](../adapters/astro/skills/harness-astro-performance/SKILL.md) | Performance | JS budget, lazy loading, Web Vitals thực đo | Benchmark/build evidence |
125
- | [`harness-astro-cloudflare`](../adapters/astro/skills/harness-astro-cloudflare/SKILL.md) | Deploy | Static/CDN trước, Workers khi cần backend có kiểm soát | Kế hoạch Cloudflare và approval |
126
- | [`harness-astro-microfrontend`](../adapters/astro/skills/harness-astro-microfrontend/SKILL.md) | Scale | Lộ trình tách công cụ thành deploy riêng nếu thực cần | ADR/MFE migration checklist |
127
123
 
128
124
  ## Kubernetes adapter (3)
129
125
 
@@ -164,3 +160,11 @@
164
160
  | [`harness-delivery-scope-change`](../capabilities/delivery/skills/harness-delivery-scope-change/SKILL.md) | scope-change | Evaluate scope changes across product value, architecture, dependencies and delivery before re-planning. | Project-owned docs/delivery or compact task note |
165
161
 
166
162
  Product → Architecture → Delivery → Core/adapter uses [Solution workflow](solution-workflow.md); source revisions, requirement/AC/NFR/ADR IDs and actual decisions travel together. See [host setup](tool-setup/README.md).
163
+
164
+ ## Continuous development
165
+
166
+ [Continuous development](continuous-development.md) composes existing Core spec/debugging/tdd/verification/review with Product business-analysis/acceptance-criteria/traceability/backlog/TechSpec, Architecture change-impact and Delivery scope-change skills. Only affected perspectives are loaded; no new role or skill is required.
167
+
168
+ ## Selective Product profiles
169
+
170
+ Analysis exposes 11 and Discovery 5 canonical Product skills. IDs and source ownership stay Product; selecting both or the compatibility product bundle exposes each skill once. Profiles add module choices, not duplicate skill IDs. Canonical assets are vendored for valid shared references; this is selective context, not a smaller npm download.