@manhd_d/ai-harness 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +57 -0
- package/CONTRIBUTING.md +4 -0
- package/README.md +19 -57
- package/adapters/java-spring/adapter.yaml +3 -2
- package/adapters/java-spring/checks/verification.yaml +12 -0
- package/adapters/java-spring/evals/cases.json +10 -0
- package/adapters/java-spring/rules/conventions.md +39 -0
- package/adapters/java-spring/rules.md +2 -1
- package/adapters/kubernetes/adapter.yaml +1 -1
- package/adapters/kubernetes/rules.md +3 -0
- package/adapters/react-native/adapter.yaml +6 -3
- package/adapters/react-native/checks/verification.yaml +36 -0
- package/adapters/react-native/evals/cases.json +30 -0
- package/adapters/react-native/rules/conventions.md +34 -0
- package/adapters/react-native/rules.md +5 -1
- package/adapters/react-native/skills/harness-react-native-behavior-testing/SKILL.md +48 -0
- package/adapters/react-native/skills/harness-react-native-screen-delivery/SKILL.md +53 -0
- package/adapters/react-nextjs/adapter.yaml +6 -3
- package/adapters/react-nextjs/checks/verification.yaml +36 -0
- package/adapters/react-nextjs/evals/cases.json +30 -0
- package/adapters/react-nextjs/rules/conventions.md +37 -0
- package/adapters/react-nextjs/rules.md +5 -1
- package/adapters/react-nextjs/skills/harness-react-nextjs-behavior-testing/SKILL.md +48 -0
- package/adapters/react-nextjs/skills/harness-react-nextjs-feature-delivery/SKILL.md +55 -0
- package/capabilities/architecture/README.md +11 -0
- package/capabilities/architecture/agents/architecture-reviewer.md +16 -0
- package/capabilities/architecture/agents/solution-architect.md +16 -0
- package/capabilities/architecture/capability.json +35 -0
- package/capabilities/architecture/checks/verification.json +29 -0
- package/capabilities/architecture/evals/cases.json +35 -0
- package/capabilities/architecture/skills/harness-architecture-change-impact/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-decision-records/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-project-context/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-quality-attributes/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-review/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-solution-design/SKILL.md +44 -0
- package/capabilities/architecture/templates/adr.md +29 -0
- package/capabilities/architecture/templates/nfr.md +22 -0
- package/capabilities/architecture/templates/overview.md +24 -0
- package/capabilities/architecture/templates/project-map.md +26 -0
- package/capabilities/architecture/templates/review.md +23 -0
- package/capabilities/architecture/templates/solution-design.md +29 -0
- package/capabilities/architecture/workflows/change-review.md +12 -0
- package/capabilities/architecture/workflows/discovery-to-design.md +16 -0
- package/capabilities/delivery/README.md +11 -0
- package/capabilities/delivery/agents/project-manager.md +16 -0
- package/capabilities/delivery/capability.json +29 -0
- package/capabilities/delivery/checks/verification.json +29 -0
- package/capabilities/delivery/evals/cases.json +25 -0
- package/capabilities/delivery/skills/harness-delivery-planning/SKILL.md +43 -0
- package/capabilities/delivery/skills/harness-delivery-risk-management/SKILL.md +42 -0
- package/capabilities/delivery/skills/harness-delivery-scope-change/SKILL.md +43 -0
- package/capabilities/delivery/templates/change-assessment.md +23 -0
- package/capabilities/delivery/templates/delivery-plan.md +25 -0
- package/capabilities/delivery/templates/risk-register.md +19 -0
- package/capabilities/delivery/workflows/execution-change.md +9 -0
- package/capabilities/delivery/workflows/planning.md +12 -0
- package/capabilities/product/README.md +7 -0
- package/capabilities/product/agents/business-analyst.md +3 -0
- package/capabilities/product/agents/product-owner.md +5 -1
- package/capabilities/product/agents/project-manager.md +5 -0
- package/capabilities/product/capability.json +9 -4
- package/capabilities/product/checks/verification.json +12 -0
- package/capabilities/product/evals/cases.json +10 -0
- package/capabilities/product/skills/harness-product-acceptance-criteria/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-backlog-prioritization/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-brd-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-business-analysis/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-document-review/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-idea-discovery/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-knowledge-analysis/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-mvp-definition/SKILL.md +43 -0
- package/capabilities/product/skills/harness-product-prd-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-product-outcomes/SKILL.md +42 -0
- package/capabilities/product/skills/harness-product-product-research/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-srs-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-traceability/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-use-case-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-user-stories/SKILL.md +17 -0
- package/capabilities/product/templates/mvp.md +25 -0
- package/capabilities/product/templates/outcomes.md +23 -0
- package/capabilities/product/workflows/document-driven.md +4 -0
- package/capabilities/product/workflows/idea-driven.md +4 -0
- package/capabilities/product/workflows/product-to-solution.md +15 -0
- package/cli/agents.js +165 -0
- package/cli/environment.js +14 -1
- package/cli/harness.js +24 -9
- package/cli/main.js +19 -6
- package/config/agents.default.json +80 -0
- package/core/agents/documentation.md +13 -0
- package/core/agents/implementer.md +7 -0
- package/core/agents/orchestrator.md +13 -0
- package/core/agents/planner.md +4 -0
- package/core/agents/reviewer.md +8 -0
- package/core/checks/verification.json +37 -0
- package/core/evals/cases.json +70 -0
- package/core/evals/composition.json +15 -0
- package/core/rules/foundations.md +1 -0
- package/core/rules/project-conventions.md +61 -0
- package/core/workflows/agent-routing.md +28 -0
- package/core/workflows/bugfix.md +2 -0
- package/core/workflows/project-setup.md +9 -1
- package/core/workflows/solution-framing.md +33 -0
- package/core/workflows/spec-to-code.md +11 -3
- package/docs/README.md +39 -0
- package/docs/adapters.md +10 -2
- package/docs/agent-configuration.md +99 -0
- package/docs/agent-handoffs.md +23 -0
- package/docs/architecture.md +22 -1
- package/docs/cli.md +29 -4
- package/docs/documentation-workflows.md +7 -0
- package/docs/end-to-end-workflow.md +14 -1
- package/docs/examples/fullstack-web.md +4 -0
- package/docs/examples/react-native-app.md +4 -0
- package/docs/frontend-mobile.md +76 -0
- package/docs/getting-started.md +46 -78
- package/docs/harness-maintenance.md +80 -0
- package/docs/monetization.md +1 -1
- package/docs/project-configuration.md +4 -0
- package/docs/project-conventions.md +67 -0
- package/docs/research/solution-workflow-sources.md +30 -0
- package/docs/skill-matrix.md +34 -6
- package/docs/solution-workflow.md +67 -0
- package/docs/templates/harness-change-impact.md +30 -0
- package/docs/tool-setup/README.md +70 -0
- package/docs/tool-setup/claude-code.md +57 -0
- package/docs/tool-setup/codex.md +44 -0
- package/docs/tool-setup/copilot.md +42 -0
- package/docs/tool-setup/cursor.md +44 -0
- package/docs/tool-setup/gemini-cli.md +41 -0
- package/docs/versioning.md +38 -0
- package/evals/README.md +13 -0
- package/harness.yaml +4 -2
- package/package.json +2 -1
- package/templates/AGENTS.md +7 -0
- package/templates/openspec/design.md +6 -0
- package/templates/openspec/tasks.md +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased — Simpler onboarding
|
|
4
|
+
- Consolidate first-use documentation into a one-command README and a copyable AI task; keep setup and model preferences optional.
|
|
5
|
+
- Add docs/README.md for advanced guides and examples, preserving frontend/mobile onboarding and environment ownership from the latest main.
|
|
6
|
+
- Verify documentation discovery through the index. No CLI, module or consumer schema changes.
|
|
7
|
+
|
|
8
|
+
## Unreleased — Frontend/mobile coding and onboarding
|
|
9
|
+
- Simplify init/host onboarding and surface current CLI flags in the command table.
|
|
10
|
+
- Add focused React/Next.js feature/testing and React Native screen/testing skills with examples, quality and handoffs; each adapter module advances to 1.2.0.
|
|
11
|
+
- Connect manifests, discovery, manual checks/unscored scenarios, skill matrix, stack examples and package/install/update tests. No application runner, library migration or native verification claim.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Unreleased — Agent preferences and release regression
|
|
15
|
+
- Add provider-agnostic project-owned agents.json with canonical Sol/Luna tier defaults, namespaced roles, validation/alias resolution and explicit premium opt-in.
|
|
16
|
+
- Add non-interactive init presets and read-only setup host plans; preserve custom config and legacy snapshots. No native config writes, agent runtime or usage claims.
|
|
17
|
+
- Add orchestrator/documentation contracts, proportional routing/token guidance and official-source host recipes.
|
|
18
|
+
- Repair release update tests to use source-relative versions rather than hardcoded 0.7.0; retain downgrade protection.
|
|
19
|
+
|
|
20
|
+
## Unreleased — Product and solution delivery
|
|
21
|
+
- Complete Product BA/PO with usable MVP/outcomes, synthetic examples, quality checklists and handoff contracts; module 1.2.0.
|
|
22
|
+
- Add optional Architecture and Delivery 1.0.0 modules: source-linked context, NFR, architecture/pattern trade-offs, ADR, living map/review, value slices, risks and scope changes.
|
|
23
|
+
- Connect proportional Core framing and OpenSpec design/tasks; add checks and unscored behavioral scenarios.
|
|
24
|
+
- Add new-doc --capability while retaining Product default paths and enforcing locked declared templates.
|
|
25
|
+
- Add official-source setup recipes for Codex, Claude Code, Cursor, Copilot and Gemini CLI, plus provenance/research and migration guidance. No native host or live-model compliance result is claimed.
|
|
26
|
+
|
|
27
|
+
## Unreleased — Harness maintenance contract
|
|
28
|
+
- Add one maintainer guide linking component ownership, impact matrix, change checklist and existing architecture/release contracts.
|
|
29
|
+
- Add a maintainer-only impact template and GitHub PR checklist; require per-area done/pending/not-applicable evidence through repository AGENTS and contributing guidance.
|
|
30
|
+
- Add CI tests for maintainer entry points, impact-area consistency and installed Core/adapter rule discovery.
|
|
31
|
+
- Fix Kubernetes rule discovery exposed by the new test; module contract 1.0.1 adds index references to its existing architecture/security/reliability rules. No schema or executable runtime changes.
|
|
32
|
+
|
|
33
|
+
## Unreleased — Project coding conventions
|
|
34
|
+
- Add Core new/maintain/mixed scope, convention precedence, search-before-create and architecture-fit review.
|
|
35
|
+
- Add Java/Spring, React/Next.js and React Native convention defaults, reuse checklists and manual verification; adapter module contracts advance to 1.1.0.
|
|
36
|
+
- Connect generated AGENTS, setup, implementation/bugfix/review roles and design templates; preserve existing project-owned context.
|
|
37
|
+
- Add eight behavioral scenarios and regression coverage for installed assets and update ownership. No live-model effectiveness result or automatic architecture enforcement is claimed.
|
|
38
|
+
|
|
3
39
|
## Unreleased — Project setup, clarification and readiness
|
|
4
40
|
- Add optional shared environment configuration and ignored machine path overrides, with redacted doctor diagnostics.
|
|
5
41
|
- Add read-only setup suggestions, host-led A/B/C clarification and next-step guidance.
|
|
@@ -59,6 +95,27 @@
|
|
|
59
95
|
- Check release metadata consistency and establish single-release-PR version discipline; retain v0.6.0 until a dedicated release PR.
|
|
60
96
|
|
|
61
97
|
|
|
98
|
+
## [0.9.0](https://github.com/manh0303/ai-harness/compare/v0.8.0...v0.9.0) (2026-10-13)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
### Features
|
|
102
|
+
|
|
103
|
+
* complete onboarding and web mobile coding skills ([4e26a1d](https://github.com/manh0303/ai-harness/commit/4e26a1de1d5c2c95a6b4a6c610ebc4d6ccad61f6))
|
|
104
|
+
|
|
105
|
+
## [0.8.0](https://github.com/manh0303/ai-harness/compare/v0.7.0...v0.8.0) (2026-10-12)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
### Features
|
|
109
|
+
|
|
110
|
+
* add project-aware coding conventions and reuse review ([ee1fad0](https://github.com/manh0303/ai-harness/commit/ee1fad0cc447ec6d41f07739a250b103d8df8845))
|
|
111
|
+
* add project-owned agent configuration and host routing plans ([8786294](https://github.com/manh0303/ai-harness/commit/8786294a0542b92998169b1cdb6199c88e8f4a20))
|
|
112
|
+
* add solution architecture and delivery workflows with host setup ([b75c00b](https://github.com/manh0303/ai-harness/commit/b75c00b43ab706768ad92ae2a280879eb7745489))
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
### Bug Fixes
|
|
116
|
+
|
|
117
|
+
* connect Harness maintenance impact and rule discovery checks ([bc79f56](https://github.com/manh0303/ai-harness/commit/bc79f56f6052917a0e28d895597547485d6bfb83))
|
|
118
|
+
|
|
62
119
|
## [0.7.0](https://github.com/manh0303/ai-harness/compare/v0.6.2...v0.7.0) (2026-10-12)
|
|
63
120
|
|
|
64
121
|
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Contributing
|
|
2
2
|
|
|
3
|
+
Start with [Harness maintenance](docs/harness-maintenance.md): map the impact of each change and
|
|
4
|
+
trace affected declarations through installation, AI discovery, workflow, verification and docs.
|
|
5
|
+
Use its impact template and the PR checklist; explain not-applicable areas and keep pending work visible.
|
|
6
|
+
|
|
3
7
|
Create a feature branch and an OpenSpec change for meaningful behavior or policy changes.
|
|
4
8
|
Keep executable behavior tests alongside CLI changes. Document adapter expectations without pinning
|
|
5
9
|
consumer application versions arbitrarily. Do not run a model evaluation with secrets or production data.
|
package/README.md
CHANGED
|
@@ -1,76 +1,38 @@
|
|
|
1
1
|
# AI Harness
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Giúp AI làm việc theo quy tắc của project: hiểu yêu cầu → viết code → test → review.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Dùng với Codex, Claude Code, Cursor và các AI coding tools đọc được file trong project.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Bắt đầu
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Cần **Node.js 22+**. Chạy trong thư mục project của bạn:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
# Chạy trong một project đã tồn tại
|
|
15
|
-
aih init --adapters java-spring
|
|
16
|
-
aih check
|
|
17
|
-
aih setup
|
|
12
|
+
npx --yes @manhd_d/ai-harness init --detect
|
|
18
13
|
```
|
|
19
14
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
Thêm `--capabilities product` khi cần tài liệu BA; `aih new-doc prd-lite` tạo template, `aih new-change <id>` tạo spec nháp khi cần. Không bắt mọi task tạo đủ tài liệu. Xem [Getting started](docs/getting-started.md) và [CLI reference](docs/cli.md).
|
|
23
|
-
|
|
24
|
-
**Phân biệt:** `aih check` kiểm tra file Harness; `aih verify` xuất checklist; build/test ứng dụng do AI host hoặc CI thực chạy. CLI không bảo đảm AI sẽ tuân thủ hướng dẫn; xem [đánh giá hành vi](evals/README.md).
|
|
25
|
-
|
|
26
|
-
`aih setup` đưa gợi ý câu hỏi cho AI host; AI hỏi phần còn mơ hồ bằng A/B/C có đề xuất và lưu câu trả lời.
|
|
27
|
-
Cấu hình Maven/JDK riêng từng máy: [Project configuration](docs/project-configuration.md).
|
|
28
|
-
Trước code/review tính năng có spec: [Change readiness](docs/change-readiness.md).
|
|
29
|
-
|
|
30
|
-
## Thành phần
|
|
15
|
+
Mở project trong công cụ AI bạn dùng, rồi gửi:
|
|
31
16
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
| **Core** | Rules, agent roles, skills, workflows, review & verification |
|
|
35
|
-
| **Adapters** | Java Spring Boot, React/Next.js, React Native, Python AI/RAG, Kubernetes, Astro |
|
|
36
|
-
| **Capabilities** | Product/BA/PO, UI/UX & Figma, DevOps, Monetization/AdSense |
|
|
37
|
-
| **OpenSpec** | Template cho proposal, design, tasks và spec có review |
|
|
17
|
+
> Đọc AGENTS.md, khảo sát project và ghi context cần thiết vào .harness/local.md.
|
|
18
|
+
> 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ả.
|
|
38
19
|
|
|
39
|
-
Bạn
|
|
20
|
+
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. Harness cài hướng dẫn; công cụ AI thực hiện công việc.
|
|
21
|
+
`--detect` nhận diện stack từ file ở thư mục gốc; nếu báo chưa nhận diện được, chọn stack theo [hướng dẫn bắt đầu](docs/getting-started.md).
|
|
40
22
|
|
|
41
|
-
##
|
|
23
|
+
## Chọn theo nhu cầu
|
|
42
24
|
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
25
|
+
- **Code:** Spring Boot, React/Next.js, React Native, Python AI/RAG, Astro, Kubernetes.
|
|
26
|
+
- **Tài liệu:** từ ý tưởng hoặc tài liệu BA đã có đến yêu cầu và kế hoạch triển khai.
|
|
27
|
+
- **Mở rộng:** UI/UX, kiến trúc, quản lý tiến độ, DevOps khi cần.
|
|
45
28
|
|
|
46
|
-
|
|
29
|
+
Chỉ cài phần cần dùng. Task nhỏ không cần đủ BRD/PRD/SRS hay spec.
|
|
47
30
|
|
|
48
31
|
## Tài liệu
|
|
49
32
|
|
|
50
|
-
|
|
51
|
-
| --- | --- |
|
|
52
|
-
| Bắt đầu | [Getting started](docs/getting-started.md) |
|
|
53
|
-
| Phát triển end-to-end | [Full SDLC](docs/end-to-end-workflow.md) · [Agent handoffs](docs/agent-handoffs.md) |
|
|
54
|
-
| Tra cứu kỹ năng | [Skill matrix](docs/skill-matrix.md) · [CLI reference](docs/cli.md) |
|
|
55
|
-
| Tài liệu sản phẩm | [Idea-driven example](docs/examples/idea-driven-project.md) · [Document-driven example](docs/examples/document-driven-project.md) |
|
|
56
|
-
| Ví dụ backend/full-stack | [Spring Boot API](docs/examples/spring-boot-api.md) · [Spring + Next.js](docs/examples/fullstack-web.md) |
|
|
57
|
-
| Ví dụ mobile/AI | [React Native](docs/examples/react-native-app.md) · [Python AI/RAG](docs/examples/ai-rag-service.md) |
|
|
58
|
-
| Micro-tools/website | [Astro micro-tools](docs/examples/astro-micro-tools.md) · [Astro + AdSense](docs/examples/astro-adsense-microtools.md) · [Monetization](docs/monetization.md) |
|
|
59
|
-
| Phát hành npm | [Release guide](docs/npm-release.md) · [Changelog](CHANGELOG.md) |
|
|
33
|
+
[Bắt đầu & chọn stack](docs/getting-started.md) · [Tra cứu & ví dụ](docs/README.md) · [Cấu hình công cụ AI](docs/tool-setup/README.md)
|
|
60
34
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
# Trong repository AI Harness (maintainer)
|
|
65
|
-
npm test
|
|
66
|
-
npm run validate
|
|
67
|
-
npm run test:package
|
|
68
|
-
|
|
69
|
-
# Nâng CLI global, rồi cập nhật snapshot trong project
|
|
70
|
-
npm install -g @manhd_d/ai-harness@latest
|
|
71
|
-
aih update --dry-run
|
|
72
|
-
aih update
|
|
73
|
-
aih check
|
|
74
|
-
```
|
|
35
|
+
`aih check` chỉ kiểm tra file Harness; tính năng đúng hay chưa cần test của project và review.
|
|
75
36
|
|
|
76
|
-
|
|
37
|
+
Đóng góp: [Contributing](CONTRIBUTING.md) · [Bảo trì Harness](docs/harness-maintenance.md).
|
|
38
|
+
License: [MIT](LICENSE).
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
"rules/architecture.md",
|
|
30
30
|
"rules/security.md",
|
|
31
31
|
"rules/database.md",
|
|
32
|
-
"rules/performance.md"
|
|
32
|
+
"rules/performance.md",
|
|
33
|
+
"rules/conventions.md"
|
|
33
34
|
],
|
|
34
35
|
"skills": [
|
|
35
36
|
"harness-java-spring-spring-api",
|
|
@@ -38,5 +39,5 @@
|
|
|
38
39
|
],
|
|
39
40
|
"verification": "checks/verification.yaml",
|
|
40
41
|
"evaluation": "evals/cases.json",
|
|
41
|
-
"module_version": "1.
|
|
42
|
+
"module_version": "1.1.0"
|
|
42
43
|
}
|
|
@@ -28,6 +28,18 @@
|
|
|
28
28
|
"Database integration test status"
|
|
29
29
|
],
|
|
30
30
|
"execution": "advisory"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "convention-fit",
|
|
34
|
+
"title": "Review project convention, reuse and module boundary fit",
|
|
35
|
+
"command": [],
|
|
36
|
+
"when_file": null,
|
|
37
|
+
"evidence": [
|
|
38
|
+
"Applicable convention sources and comparable implementation paths",
|
|
39
|
+
"Reused public symbols and rationale for new components or dependencies",
|
|
40
|
+
"Configured lint/type/build/test and boundary results, or explicit manual review limits"
|
|
41
|
+
],
|
|
42
|
+
"execution": "manual"
|
|
31
43
|
}
|
|
32
44
|
]
|
|
33
45
|
}
|
|
@@ -20,6 +20,16 @@
|
|
|
20
20
|
"Does not expose sensitive fields in errors/logs"
|
|
21
21
|
],
|
|
22
22
|
"critical": true
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "reuse-spring-common",
|
|
26
|
+
"prompt": "Add a customer endpoint to an existing Spring module. It already has ApiResponse, BusinessException, exception advice, a mapper, pagination and authorization helpers.",
|
|
27
|
+
"criteria": [
|
|
28
|
+
"Inspects the actual common APIs and comparable endpoint/tests, recording paths",
|
|
29
|
+
"Reuses compatible supported types and preserves target package/API conventions without a parallel error/response framework",
|
|
30
|
+
"Explains any genuinely new component and runs declared checks or reports unavailable verification"
|
|
31
|
+
],
|
|
32
|
+
"critical": true
|
|
23
33
|
}
|
|
24
34
|
]
|
|
25
35
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Java / Spring coding conventions
|
|
2
|
+
|
|
3
|
+
First apply `.harness/core/rules/project-conventions.md`. These are defaults for new code when the
|
|
4
|
+
project has no applicable convention, not a migration mandate.
|
|
5
|
+
|
|
6
|
+
## New-project defaults
|
|
7
|
+
- Start with a single deployable application and feature-oriented packages. Keep transport DTOs,
|
|
8
|
+
application use cases/transactions and persistence responsibilities distinct inside each feature;
|
|
9
|
+
create layers only when used. Do not introduce microservices, CQRS or a generic repository framework
|
|
10
|
+
without a requirement. A service does not need an interface solely to have an `Impl` class.
|
|
11
|
+
- Use lowercase package names, PascalCase types, lowerCamelCase methods/fields and UPPER_SNAKE_CASE
|
|
12
|
+
constants. Name types by responsibility (`CreateCustomerRequest`, `CustomerService`), not vague helpers.
|
|
13
|
+
- Use constructor injection and explicit dependencies. Keep controllers focused on HTTP mapping,
|
|
14
|
+
boundary validation and delegation. Authorize resource access on the server; transaction boundaries
|
|
15
|
+
belong to the application operation, not HTTP serialization.
|
|
16
|
+
- Keep request/response DTOs distinct from persistence entities. Choose manual mapping for simple cases;
|
|
17
|
+
introduce a mapper library only for a demonstrated need and project agreement. Do not add Lombok or
|
|
18
|
+
another dependency merely to enforce these defaults.
|
|
19
|
+
- Agree one API error contract and central exception mapping. Keep domain errors meaningful, preserve
|
|
20
|
+
causes internally and avoid swallowed exceptions or HTTP 200 for all failures. Never expose secrets
|
|
21
|
+
in responses or logs. Use parameterized logging with appropriate level/context; avoid logging the
|
|
22
|
+
same exception at every layer and never dump request bodies by default.
|
|
23
|
+
- Use explicit null/absence semantics, validated inputs, bounded pagination, managed resources and
|
|
24
|
+
existing rules for money/time/concurrency. Avoid unbounded collections or new generic utility bags.
|
|
25
|
+
- Agree and configure one formatter and relevant static checks using the actual build/JDK; do not
|
|
26
|
+
assume a plugin exists. Keep test packages aligned with production responsibilities. Test observable
|
|
27
|
+
behavior with the existing JUnit stack; use integration checks for DB, authorization and transactions.
|
|
28
|
+
|
|
29
|
+
## Maintenance reuse checklist
|
|
30
|
+
Find existing response/error types, exception advice, validators, mappers, pagination, security helpers,
|
|
31
|
+
repositories, transaction conventions, logging context and test fixtures. Use their supported APIs.
|
|
32
|
+
Follow the target module's package layout even if it is layer-oriented. Do not introduce a parallel
|
|
33
|
+
`ApiResponse`, `BusinessException`, base service or mapper system. Shared code must not depend on a
|
|
34
|
+
feature's internals. Record a reason when an existing abstraction is unsuitable or unsafe.
|
|
35
|
+
|
|
36
|
+
## Verification
|
|
37
|
+
Use the declared Maven/Gradle commands and existing formatter, Checkstyle/Spotless or equivalent only
|
|
38
|
+
when configured. Run existing ArchUnit/Modulith boundary checks if present; otherwise review affected
|
|
39
|
+
dependencies manually and state the limit. Neither this guide nor `aih verify` executes those checks.
|
|
@@ -29,6 +29,7 @@ Tools/commands in adapter.yaml are examples for review, never automatically exec
|
|
|
29
29
|
|
|
30
30
|
## Capability index
|
|
31
31
|
|
|
32
|
-
Read rules/
|
|
32
|
+
Read rules/conventions.md before coding, then relevant rules/architecture.md, rules/security.md,
|
|
33
|
+
rules/database.md and rules/performance.md. Project conventions take precedence over adapter defaults.
|
|
33
34
|
Use only relevant adapter skills listed in adapter.yaml; core TDD, debugging and review remain shared.
|
|
34
35
|
Review checks/verification.yaml before choosing commands. No check executes automatically.
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Use this adapter for manifest, Helm and rollout decisions. Combine with the `devops` capability for broader release/incident workflows. It never grants cluster permissions.
|
|
4
4
|
|
|
5
|
+
Read `rules/architecture.md`, `rules/security.md` and `rules/reliability.md` before applying the
|
|
6
|
+
relevant skills declared in `adapter.yaml`. Review `checks/verification.yaml` for advisory checks.
|
|
7
|
+
|
|
5
8
|
- Respect existing namespaces, GitOps ownership, supported API versions, CRDs and overlays.
|
|
6
9
|
- Use immutable image provenance, explicit requests/limits, verified probes, safe termination and controlled rollout.
|
|
7
10
|
- Protect secrets and tenant boundaries; do not commit plaintext credentials or assume cluster-admin access.
|
|
@@ -16,13 +16,16 @@
|
|
|
16
16
|
"rules/architecture.md",
|
|
17
17
|
"rules/security.md",
|
|
18
18
|
"rules/database.md",
|
|
19
|
-
"rules/performance.md"
|
|
19
|
+
"rules/performance.md",
|
|
20
|
+
"rules/conventions.md"
|
|
20
21
|
],
|
|
21
22
|
"skills": [
|
|
22
23
|
"harness-react-native-offline-sync",
|
|
23
|
-
"harness-react-native-device-permissions"
|
|
24
|
+
"harness-react-native-device-permissions",
|
|
25
|
+
"harness-react-native-screen-delivery",
|
|
26
|
+
"harness-react-native-behavior-testing"
|
|
24
27
|
],
|
|
25
28
|
"verification": "checks/verification.yaml",
|
|
26
29
|
"evaluation": "evals/cases.json",
|
|
27
|
-
"module_version": "1.
|
|
30
|
+
"module_version": "1.2.0"
|
|
28
31
|
}
|
|
@@ -25,6 +25,42 @@
|
|
|
25
25
|
"Deep-link and permission checks on affected platform"
|
|
26
26
|
],
|
|
27
27
|
"execution": "manual"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "convention-fit",
|
|
31
|
+
"title": "Review project convention, reuse and module boundary fit",
|
|
32
|
+
"command": [],
|
|
33
|
+
"when_file": null,
|
|
34
|
+
"evidence": [
|
|
35
|
+
"Applicable convention sources and comparable implementation paths",
|
|
36
|
+
"Reused public symbols and rationale for new components or dependencies",
|
|
37
|
+
"Configured lint/type/build/test and boundary results, or explicit manual review limits"
|
|
38
|
+
],
|
|
39
|
+
"execution": "manual"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "feature-slice",
|
|
43
|
+
"title": "Review route/screen, data/state and existing public API fit",
|
|
44
|
+
"command": [],
|
|
45
|
+
"when_file": null,
|
|
46
|
+
"evidence": [
|
|
47
|
+
"AC to route/screen, interaction and API/state mapping",
|
|
48
|
+
"Reused component/client/form/router APIs and justified new code",
|
|
49
|
+
"Validation, loading/error/pending states and stale/account response handling"
|
|
50
|
+
],
|
|
51
|
+
"execution": "manual"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "behavior-evidence",
|
|
55
|
+
"title": "Review actual behavior checks and environment limits",
|
|
56
|
+
"command": [],
|
|
57
|
+
"when_file": null,
|
|
58
|
+
"evidence": [
|
|
59
|
+
"AC-linked component/integration results and simulated boundaries",
|
|
60
|
+
"Separate JS, iOS/Android build and simulator/device evidence",
|
|
61
|
+
"Confirmed scripts, actual results and owner for unavailable checks"
|
|
62
|
+
],
|
|
63
|
+
"execution": "manual"
|
|
28
64
|
}
|
|
29
65
|
]
|
|
30
66
|
}
|
|
@@ -20,6 +20,36 @@
|
|
|
20
20
|
"Identifies the required affected-platform follow-up"
|
|
21
21
|
],
|
|
22
22
|
"critical": true
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "reuse-mobile-conventions",
|
|
26
|
+
"prompt": "Add profile editing to an existing bare React Native app with navigation, theme, secure storage and permission services. The host cannot run the iOS build.",
|
|
27
|
+
"criteria": [
|
|
28
|
+
"Inspects and reuses the actual navigation/theme/storage APIs without adding parallel wrappers",
|
|
29
|
+
"Preserves native architecture and safe credential/permission boundaries",
|
|
30
|
+
"Reports Android or JS results actually obtained and explicitly marks unavailable iOS verification"
|
|
31
|
+
],
|
|
32
|
+
"critical": true
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "screen-slice",
|
|
36
|
+
"prompt": "Add profile editing to a bare React Native app using its existing navigator, theme, query client and fields. Logout may occur while saving. Do not add dependencies; iOS access is unavailable.",
|
|
37
|
+
"criteria": [
|
|
38
|
+
"Reuses actual navigator/theme/client/form APIs without Expo or competing wrappers",
|
|
39
|
+
"Handles pending/validation/expiry/back and previous-account asynchronous data boundaries",
|
|
40
|
+
"Maps the slice to behavior checks and records JS/Android evidence separately from blocked iOS checks"
|
|
41
|
+
],
|
|
42
|
+
"critical": true
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "test-boundaries",
|
|
46
|
+
"prompt": "Verify logout/account switching during an in-flight profile request and keyboard behavior on iOS and Android. Only JS tests with mocked native modules are available.",
|
|
47
|
+
"criteria": [
|
|
48
|
+
"Uses observable screen/navigation assertions and deterministic old-account responses",
|
|
49
|
+
"Records mocked JS boundaries separately from device/keyboard/native behavior",
|
|
50
|
+
"Keeps both platform/device checks blocked with follow-up and does not infer native success"
|
|
51
|
+
],
|
|
52
|
+
"critical": true
|
|
23
53
|
}
|
|
24
54
|
]
|
|
25
55
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# React Native coding conventions
|
|
2
|
+
|
|
3
|
+
First apply `.harness/core/rules/project-conventions.md`. These defaults do not authorize an Expo/bare,
|
|
4
|
+
navigation, native architecture, state-library or toolchain migration.
|
|
5
|
+
|
|
6
|
+
## New-project defaults
|
|
7
|
+
- Resolve Expo versus bare, supported platforms and native-module needs from requirements before
|
|
8
|
+
scaffolding. Propose TypeScript strict checking when compatible with the chosen setup. Organize
|
|
9
|
+
by feature with screens, focused state/hooks and device adapters as needed; no speculative layers.
|
|
10
|
+
- Use PascalCase components/screens/types, lowerCamelCase functions/variables and `useX` hooks.
|
|
11
|
+
Follow router-required file names and one agreed convention elsewhere. Keep navigation parameters
|
|
12
|
+
typed and validate external deep links at runtime.
|
|
13
|
+
- Keep screens focused on UI and navigation. Access network, storage and device APIs through the
|
|
14
|
+
agreed integration boundary; avoid direct native calls scattered across unrelated screens.
|
|
15
|
+
- Reuse theme tokens and platform-aware UI. Handle safe areas, keyboard, accessibility, loading,
|
|
16
|
+
errors, offline state and app background/foreground transitions. Bound and virtualize large lists.
|
|
17
|
+
- Start with local state; add shared state only for concrete cross-screen needs. Distinguish remote
|
|
18
|
+
state, persisted state and transient UI state. Specify retries/conflicts before adding offline queues.
|
|
19
|
+
- Separate secure credentials from ordinary preferences/cache. Use the platform secure store for
|
|
20
|
+
credentials, request minimal permissions and model denial/revocation. Never log tokens or sensitive
|
|
21
|
+
payloads. Translate integration errors into actionable UI without swallowing diagnostic causes.
|
|
22
|
+
- Agree formatter/lint/type checks and test layout. Use behavior-oriented component/navigation tests;
|
|
23
|
+
include platform evidence when navigation, permissions, native integration or lifecycle changes.
|
|
24
|
+
|
|
25
|
+
## Maintenance reuse checklist
|
|
26
|
+
Find existing navigation routes, API client, secure storage, theme, permission services, lifecycle
|
|
27
|
+
hooks, offline queue, state store and test helpers. Reuse supported interfaces; preserve platform
|
|
28
|
+
differences. Do not add another navigation container, storage wrapper, state library or permission
|
|
29
|
+
manager without a real gap and rationale. Common UI must not depend on feature internals.
|
|
30
|
+
|
|
31
|
+
## Verification
|
|
32
|
+
Use existing JS and native build commands for the affected platforms. Record missing simulator/device
|
|
33
|
+
or iOS/Android build access explicitly. A JS test pass is not evidence of native compatibility, and
|
|
34
|
+
these conventions do not authorize signing, OTA publishing or store deployment.
|
|
@@ -18,6 +18,10 @@ OTA compatibility, signing and store deployment need their own reviewed release
|
|
|
18
18
|
|
|
19
19
|
## Capability index
|
|
20
20
|
|
|
21
|
-
Read rules/
|
|
21
|
+
Read rules/conventions.md before coding, then relevant rules/architecture.md, rules/security.md,
|
|
22
|
+
rules/database.md and rules/performance.md. Project conventions take precedence over adapter defaults.
|
|
22
23
|
Use only relevant adapter skills listed in adapter.yaml; core TDD, debugging and review remain shared.
|
|
24
|
+
Use harness-react-native-screen-delivery for screen/navigation/API/state slices and
|
|
25
|
+
harness-react-native-behavior-testing for JS/platform/device evidence. Load offline-sync or
|
|
26
|
+
device-permissions only when that behavior is touched; keep missing native verification explicit.
|
|
23
27
|
Review checks/verification.yaml before choosing commands. No check executes automatically.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-react-native-behavior-testing
|
|
3
|
+
description: Verify React Native and Expo screens using existing JavaScript, navigation and device tests. Use for forms, auth/account transitions, lifecycle, permissions/offline regressions or changes requiring separate iOS and Android evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Mobile behavior testing
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
Changed screen/AC, actual test scripts/runner and navigation setup, affected platforms, native/device
|
|
10
|
+
access, and existing API/storage/permission fixtures.
|
|
11
|
+
|
|
12
|
+
## Procedure
|
|
13
|
+
1. Read a comparable test and reuse the actual runner/providers/navigation harness. Map risks to pure
|
|
14
|
+
logic, component/navigation integration, native build and simulator/device checks.
|
|
15
|
+
2. Use Core TDD for regressions; assert user-visible text, labels and actions. Cover relevant form errors,
|
|
16
|
+
pending/success/failure, expiry and stale requests. Control external API/storage/native dependencies;
|
|
17
|
+
state exactly which behavior is simulated rather than actually run on a device.
|
|
18
|
+
3. Keep screen modules and navigation connected where practical. Exercise back/cancel, auth transitions,
|
|
19
|
+
logout/account changes and absence of previous-account data. For offline/permission changes test
|
|
20
|
+
reconnect/retry/conflict or denial/revocation using the selected specialized skill and approved contract.
|
|
21
|
+
4. Check affected iOS/Android builds and critical simulator/device flows when access exists: keyboard,
|
|
22
|
+
safe area, accessibility, background/resume and cold/warm links as applicable. Reuse an existing E2E
|
|
23
|
+
runner rather than installing one by default. A JS mock cannot establish native-module correctness.
|
|
24
|
+
5. Run confirmed targeted tests and configured lint/type checks. Record platform/runtime, command,
|
|
25
|
+
result and mocked boundaries; label missing native builds/devices blocked with follow-up owner.
|
|
26
|
+
|
|
27
|
+
## Output
|
|
28
|
+
AC → JS/navigation/native/device evidence matrix, meaningful regression tests, actual results,
|
|
29
|
+
mock scope and explicit blocked checks. Keep UI smoke, build and real device evidence distinct.
|
|
30
|
+
|
|
31
|
+
## Example
|
|
32
|
+
For logout during an in-flight profile request, complete the old request after logout and assert that
|
|
33
|
+
the next account never sees previous-account data. If only JS tests can run, report those results;
|
|
34
|
+
Android/iOS build and device checks remain blocked, not implicitly passed.
|
|
35
|
+
|
|
36
|
+
## Quality checklist
|
|
37
|
+
- Test observable screen/navigation outcomes, not only snapshots or internal props/state.
|
|
38
|
+
- Isolate credentials/cache/time/network fixtures and cover relevant failure/lifecycle paths.
|
|
39
|
+
- Distinguish mocks, simulator/device behavior and per-platform build results.
|
|
40
|
+
- Give every blocked native check a concrete follow-up; do not invent scripts or passing output.
|
|
41
|
+
|
|
42
|
+
## Constraints
|
|
43
|
+
Do not call production APIs, change signing, publish OTA/store artifacts or infer native compatibility
|
|
44
|
+
from Node.js component tests. Keep existing tooling and Core permission/review gates.
|
|
45
|
+
|
|
46
|
+
## Handoff
|
|
47
|
+
Pass AC/test/source paths, actual failures/results, device/toolchain needs and affected platforms to
|
|
48
|
+
Implementer/Reviewer. The Harness emits instructions/checklists; the authorized host runs actual tests.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-react-native-screen-delivery
|
|
3
|
+
description: Implement React Native or Expo screens with existing navigation, forms, API/state and platform conventions. Use for CRUD/search/profile screens and cross-screen flows in new or maintained mobile apps.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Mobile screen delivery
|
|
7
|
+
|
|
8
|
+
## Input
|
|
9
|
+
Task/AC and screen/flow notes, API contract, actual Expo/bare setup and router/version, supported
|
|
10
|
+
platforms, and existing navigation/theme/client/storage/test paths.
|
|
11
|
+
|
|
12
|
+
## Procedure
|
|
13
|
+
1. Apply `.harness/core/rules/project-conventions.md` and selected adapter rules. Inspect a comparable
|
|
14
|
+
screen and public navigation/UI/client/state APIs. Preserve Expo/bare, native architecture and
|
|
15
|
+
existing router; ask only consequential unresolved platform or business choices with recommendations.
|
|
16
|
+
2. Plan one route → screen → data operation slice. Use the existing typed navigation contract and
|
|
17
|
+
validate external parameters. Preserve auth transitions/back behavior; hiding a screen is not backend
|
|
18
|
+
authorization. Do not add a second navigation container or assume a particular navigation library.
|
|
19
|
+
3. Reuse form/input and API/query boundaries. Distinguish transient, remote and persisted state; avoid
|
|
20
|
+
copying remote data into another store. Handle loading, empty, validation, failed/pending/success writes,
|
|
21
|
+
token expiry and stale responses after navigation or account switching.
|
|
22
|
+
4. Use theme tokens and appropriate platform behavior: safe areas, keyboard/input visibility, accessible
|
|
23
|
+
labels/focus, back/cancel and long-list rendering. Handle focus/background/foreground requests with
|
|
24
|
+
the existing lifecycle abstraction; prevent old-account responses from restoring cleared data.
|
|
25
|
+
5. Load `.agents/skills/harness-react-native-offline-sync/SKILL.md` only for persistence/replay/conflicts;
|
|
26
|
+
use `.agents/skills/harness-react-native-device-permissions/SKILL.md` when permissions/deep links change.
|
|
27
|
+
Keep credentials in the existing secure store and ordinary cache under the approved data policy.
|
|
28
|
+
6. Use Core TDD/review and `.agents/skills/harness-react-native-behavior-testing/SKILL.md`. Record
|
|
29
|
+
JS/build/device evidence per affected platform and missing toolchain/device access.
|
|
30
|
+
|
|
31
|
+
## Output
|
|
32
|
+
Screen diff, AC → navigation/UI → API/state → tests mapping, reused public APIs and new-code rationale;
|
|
33
|
+
platform-specific evidence and unresolved business/native decisions.
|
|
34
|
+
|
|
35
|
+
## Example
|
|
36
|
+
For profile editing in a bare app, reuse its navigator, FormField, client/query and theme. Handle pending
|
|
37
|
+
save, server validation, expiry and back/cancel; do not convert to Expo or add an offline queue.
|
|
38
|
+
An illustrative handoff reports JS tests actually run and missing iOS device access separately.
|
|
39
|
+
|
|
40
|
+
## Quality checklist
|
|
41
|
+
- Preserve navigation/auth/account boundaries and guard stale asynchronous results.
|
|
42
|
+
- Verify keyboard/safe-area/accessibility and affected lifecycle states on supported platforms.
|
|
43
|
+
- Reuse existing storage/client/state APIs; explain new abstractions and data retention.
|
|
44
|
+
- Report iOS/Android/JS results separately with blocked checks and next owner.
|
|
45
|
+
|
|
46
|
+
## Constraints
|
|
47
|
+
Do not assume new native modules, permissions, offline behavior or signing are needed. A task does not
|
|
48
|
+
authorize a toolchain/router migration, OTA publication or store deployment. Do not claim native success
|
|
49
|
+
from JavaScript tests or bypass backend validation/authorization.
|
|
50
|
+
|
|
51
|
+
## Handoff
|
|
52
|
+
Pass AC IDs, source/public APIs, route/state decisions, actual platform evidence and remaining checks
|
|
53
|
+
to Reviewer/Test Engineer. Use optional UI/UX/Architecture contracts only when installed and relevant.
|
|
@@ -16,13 +16,16 @@
|
|
|
16
16
|
"rules/architecture.md",
|
|
17
17
|
"rules/security.md",
|
|
18
18
|
"rules/database.md",
|
|
19
|
-
"rules/performance.md"
|
|
19
|
+
"rules/performance.md",
|
|
20
|
+
"rules/conventions.md"
|
|
20
21
|
],
|
|
21
22
|
"skills": [
|
|
22
23
|
"harness-react-nextjs-accessible-ui",
|
|
23
|
-
"harness-react-nextjs-server-boundaries"
|
|
24
|
+
"harness-react-nextjs-server-boundaries",
|
|
25
|
+
"harness-react-nextjs-feature-delivery",
|
|
26
|
+
"harness-react-nextjs-behavior-testing"
|
|
24
27
|
],
|
|
25
28
|
"verification": "checks/verification.yaml",
|
|
26
29
|
"evaluation": "evals/cases.json",
|
|
27
|
-
"module_version": "1.
|
|
30
|
+
"module_version": "1.2.0"
|
|
28
31
|
}
|
|
@@ -44,6 +44,42 @@
|
|
|
44
44
|
"SSR/hydration checks when applicable"
|
|
45
45
|
],
|
|
46
46
|
"execution": "advisory"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "convention-fit",
|
|
50
|
+
"title": "Review project convention, reuse and module boundary fit",
|
|
51
|
+
"command": [],
|
|
52
|
+
"when_file": null,
|
|
53
|
+
"evidence": [
|
|
54
|
+
"Applicable convention sources and comparable implementation paths",
|
|
55
|
+
"Reused public symbols and rationale for new components or dependencies",
|
|
56
|
+
"Configured lint/type/build/test and boundary results, or explicit manual review limits"
|
|
57
|
+
],
|
|
58
|
+
"execution": "manual"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "feature-slice",
|
|
62
|
+
"title": "Review route/screen, data/state and existing public API fit",
|
|
63
|
+
"command": [],
|
|
64
|
+
"when_file": null,
|
|
65
|
+
"evidence": [
|
|
66
|
+
"AC to route/screen, interaction and API/state mapping",
|
|
67
|
+
"Reused component/client/form/router APIs and justified new code",
|
|
68
|
+
"Validation, loading/error/pending states and stale/account response handling"
|
|
69
|
+
],
|
|
70
|
+
"execution": "manual"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "behavior-evidence",
|
|
74
|
+
"title": "Review actual behavior checks and environment limits",
|
|
75
|
+
"command": [],
|
|
76
|
+
"when_file": null,
|
|
77
|
+
"evidence": [
|
|
78
|
+
"AC-linked component/integration results and simulated boundaries",
|
|
79
|
+
"Actual browser/server evidence or explicit blocked checks",
|
|
80
|
+
"Confirmed scripts, actual results and owner for unavailable checks"
|
|
81
|
+
],
|
|
82
|
+
"execution": "manual"
|
|
47
83
|
}
|
|
48
84
|
]
|
|
49
85
|
}
|