@damphuquy/agent-init 1.3.0 → 1.4.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/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/package.json +1 -1
- package/templates/process/.editorconfig +15 -0
- package/templates/process/README.md +10 -2
- package/templates/process/_seeds/_GUIDE.md +37 -8
- package/templates/process/_seeds/cancellation-template.md.seed +79 -0
- package/templates/process/_seeds/results-template.tsv.seed +5 -0
- package/templates/process/context/all-context.md +6 -0
- package/templates/process/context/tests/all-tests.md +56 -0
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EA6D3C,CAAC;AAEF,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAED,wBAAgB,cAAc,CAAC,cAAc,GAAE,MAAyB,GAAG,WAAW,CAgBrF"}
|
package/dist/config.js
CHANGED
|
@@ -22,6 +22,7 @@ export const FILE_GROUPS = [
|
|
|
22
22
|
title: 'Operational Workspace Control & Seeds (_seeds/)',
|
|
23
23
|
files: [
|
|
24
24
|
{ path: 'process/README.md', desc: 'Operational Workspace Control Center' },
|
|
25
|
+
{ path: 'process/.editorconfig', desc: 'Consistent editor and format rules for process artifacts' },
|
|
25
26
|
{ path: 'process/_seeds/_GUIDE.md', desc: 'Seed archetypes usage & lifecycle guide' },
|
|
26
27
|
{ path: 'process/_seeds/task-template.md.seed', desc: 'Task master contract & RIPER-5 execution plan' },
|
|
27
28
|
{ path: 'process/_seeds/context-group.md.seed', desc: 'Research phase artifact blueprint' },
|
|
@@ -30,6 +31,8 @@ export const FILE_GROUPS = [
|
|
|
30
31
|
{ path: 'process/_seeds/state-template.md.seed', desc: 'Execute loop persistent memory' },
|
|
31
32
|
{ path: 'process/_seeds/review-template.md.seed', desc: 'Review phase artifact & Gate 3' },
|
|
32
33
|
{ path: 'process/_seeds/handoff-template.md.seed', desc: 'Final projection (intentionally short)' },
|
|
34
|
+
{ path: 'process/_seeds/cancellation-template.md.seed', desc: 'Knowledge-preserving task cancellation record' },
|
|
35
|
+
{ path: 'process/_seeds/results-template.tsv.seed', desc: 'Benchmark & quantitative metrics evaluation registry' },
|
|
33
36
|
{ path: 'process/_seeds/program-template.md.seed', desc: 'Multi-phase umbrella epic blueprint' },
|
|
34
37
|
],
|
|
35
38
|
},
|
|
@@ -38,6 +41,7 @@ export const FILE_GROUPS = [
|
|
|
38
41
|
files: [
|
|
39
42
|
{ path: 'process/context/all-context.md', desc: 'Root context & knowledge routing registry' },
|
|
40
43
|
{ path: 'process/context/planning/all-planning.md', desc: 'INVEST criteria & vertical slicing standards' },
|
|
44
|
+
{ path: 'process/context/tests/all-tests.md', desc: 'Test pyramid, isolation policies, and harness strategy' },
|
|
41
45
|
],
|
|
42
46
|
},
|
|
43
47
|
{
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C;QACE,KAAK,EAAE,iCAAiC;QACxC,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gDAAgD,EAAE;SAC9E;KACF;IACD;QACE,KAAK,EAAE,gCAAgC;QACvC,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,kDAAkD,EAAE;YACvF,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,uDAAuD,EAAE;YAC9F,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,oDAAoD,EAAE;YAC7F,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,6CAA6C,EAAE;SAC/F;KACF;IACD;QACE,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,sCAAsC,EAAE;YAC3E,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,yCAAyC,EAAE;YACrF,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,+CAA+C,EAAE;YACvG,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,mCAAmC,EAAE;YAC3F,EAAE,IAAI,EAAE,0CAA0C,EAAE,IAAI,EAAE,yCAAyC,EAAE;YACrG,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,mDAAmD,EAAE;YAC3G,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,gCAAgC,EAAE;YACzF,EAAE,IAAI,EAAE,wCAAwC,EAAE,IAAI,EAAE,gCAAgC,EAAE;YAC1F,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,wCAAwC,EAAE;YACnG,EAAE,IAAI,EAAE,yCAAyC,EAAE,IAAI,EAAE,qCAAqC,EAAE;SACjG;KACF;IACD;QACE,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,2CAA2C,EAAE;YAC7F,EAAE,IAAI,EAAE,0CAA0C,EAAE,IAAI,EAAE,8CAA8C,EAAE;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
```text
|
|
14
14
|
process/
|
|
15
15
|
├── README.md # Operational guide (this file)
|
|
16
|
+
├── .editorconfig # Unified format settings for markdown, tsv, json
|
|
16
17
|
├── _seeds/ # Read-only archetype blueprints
|
|
17
18
|
│ ├── _GUIDE.md # Full catalog, artifact chain, and instantiation commands
|
|
18
19
|
│ ├── task-template.md.seed # Master contract & RIPER state record
|
|
@@ -22,10 +23,13 @@ process/
|
|
|
22
23
|
│ ├── state-template.md.seed # Execute loop persistent memory
|
|
23
24
|
│ ├── review-template.md.seed # Review phase artifact (Gate 3)
|
|
24
25
|
│ ├── handoff-template.md.seed # Final projection (short)
|
|
26
|
+
│ ├── cancellation-template.md.seed # Knowledge-preserving cancellation record
|
|
27
|
+
│ ├── results-template.tsv.seed # Benchmark & quantitative metrics tracker
|
|
25
28
|
│ └── program-template.md.seed # Multi-phase program blueprint
|
|
26
29
|
├── context/ # Durable knowledge base & context routers
|
|
27
30
|
│ ├── all-context.md # Root context router
|
|
28
|
-
│
|
|
31
|
+
│ ├── planning/all-planning.md # Planning calibration & vertical slicing rules
|
|
32
|
+
│ └── tests/all-tests.md # Testing pyramid, harness policy & mock conventions
|
|
29
33
|
├── development-protocols/ # System rules & execution harness
|
|
30
34
|
│ ├── all-development-protocols.md
|
|
31
35
|
│ ├── orchestration.md # Subagent delegation rules
|
|
@@ -39,7 +43,9 @@ process/
|
|
|
39
43
|
│ │ ├── plan.md # Plan phase output
|
|
40
44
|
│ │ ├── state.md # Execute loop memory
|
|
41
45
|
│ │ ├── review.md # Review phase output
|
|
42
|
-
│ │
|
|
46
|
+
│ │ ├── handoff.md # Final projection
|
|
47
|
+
│ │ ├── results.tsv # (Optional) Benchmark & metric iteration tracking
|
|
48
|
+
│ │ └── cancelled.md # (If aborted) Cancellation findings & rollback status
|
|
43
49
|
│ ├── completed/ # Archived task workspaces
|
|
44
50
|
│ └── backlog/ # Backlog notes: {note_slug}_NOTE_{dd-mm-yy}.md
|
|
45
51
|
└── general-plans/ # Cross-cutting & standalone tasks
|
|
@@ -101,6 +107,8 @@ handoff.md ← (Complete) Short final projection
|
|
|
101
107
|
| Execute | source code + tests + `state.md` |
|
|
102
108
|
| Review | `review.md` |
|
|
103
109
|
| Handoff | `handoff.md` |
|
|
110
|
+
| Cancellation | `cancelled.md` (knowledge preservation upon abort) |
|
|
111
|
+
| Benchmark / Metrics | `results.tsv` (performance and eval metrics) |
|
|
104
112
|
| Gate 1 | `decision.md` approval |
|
|
105
113
|
| Gate 2 | `plan.md` approval |
|
|
106
114
|
| Gate 3 | `review.md` approval |
|
|
@@ -69,6 +69,16 @@
|
|
|
69
69
|
blast radius registries, and phase gate rules.
|
|
70
70
|
</seed>
|
|
71
71
|
|
|
72
|
+
<seed type="cancellation" path="cancellation-template.md.seed">
|
|
73
|
+
Task cancellation record. Preserves investigation findings, decision rationale,
|
|
74
|
+
reusable prototypes/tests, and rollback verification when an in-flight task is cancelled.
|
|
75
|
+
</seed>
|
|
76
|
+
|
|
77
|
+
<seed type="results" path="results-template.tsv.seed">
|
|
78
|
+
Benchmark and quantitative metrics evaluation registry.
|
|
79
|
+
Use for tracking latency, throughput, memory, or eval scores across iterations and vertical slices.
|
|
80
|
+
</seed>
|
|
81
|
+
|
|
72
82
|
</catalog>
|
|
73
83
|
|
|
74
84
|
---
|
|
@@ -107,15 +117,28 @@ handoff.md ← Final projection (short)
|
|
|
107
117
|
|
|
108
118
|
## 3. Recommended Task Workspace Layout
|
|
109
119
|
|
|
120
|
+
### Standard Single-Project Layout
|
|
110
121
|
```text
|
|
111
122
|
process/features/active/CHG-017-your-feature/
|
|
112
|
-
├── task.md ← instantiated from task-template.md.seed
|
|
113
|
-
├── research.md ← instantiated from context-group.md.seed
|
|
114
|
-
├── decision.md ← instantiated from decision-template.md.seed
|
|
115
|
-
├── plan.md ← instantiated from plan-template.md.seed
|
|
116
|
-
├── state.md ← instantiated from state-template.md.seed
|
|
117
|
-
├── review.md ← instantiated from review-template.md.seed
|
|
118
|
-
|
|
123
|
+
├── task.md ← instantiated from task-template.md.seed (Master Spec & AC)
|
|
124
|
+
├── research.md ← instantiated from context-group.md.seed (Research Output)
|
|
125
|
+
├── decision.md ← instantiated from decision-template.md.seed (Gate 1 Options)
|
|
126
|
+
├── plan.md ← instantiated from plan-template.md.seed (Gate 2 Execution Contract)
|
|
127
|
+
├── state.md ← instantiated from state-template.md.seed (Execute Memory)
|
|
128
|
+
├── review.md ← instantiated from review-template.md.seed (Gate 3 Audit)
|
|
129
|
+
├── handoff.md ← instantiated from handoff-template.md.seed (Final Projection)
|
|
130
|
+
├── results.tsv ← (Optional) instantiated from results-template.tsv.seed (Metrics/Benchmarks)
|
|
131
|
+
└── cancelled.md ← (If cancelled) instantiated from cancellation-template.md.seed
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Monorepo / Multi-Domain Layout (Optional)
|
|
135
|
+
When working in monorepos with independent domains (e.g. `mobile-app`, `billing-service`), partition features by domain:
|
|
136
|
+
```text
|
|
137
|
+
process/features/{domain-slug}/
|
|
138
|
+
├── active/
|
|
139
|
+
│ └── CHG-XXX-your-feature/
|
|
140
|
+
├── backlog/
|
|
141
|
+
└── completed/
|
|
119
142
|
```
|
|
120
143
|
|
|
121
144
|
Not all artifacts are required at start. Create them progressively as the task advances through RIPER phases.
|
|
@@ -128,7 +151,7 @@ Not all artifacts are required at start. Create them progressively as the task a
|
|
|
128
151
|
# Create a new task workspace
|
|
129
152
|
mkdir -p process/features/active/CHG-XXX-your-feature
|
|
130
153
|
|
|
131
|
-
# Instantiate seeds into the workspace
|
|
154
|
+
# Instantiate primary seeds into the workspace
|
|
132
155
|
cp process/_seeds/task-template.md.seed process/features/active/CHG-XXX-your-feature/task.md
|
|
133
156
|
cp process/_seeds/context-group.md.seed process/features/active/CHG-XXX-your-feature/research.md
|
|
134
157
|
cp process/_seeds/decision-template.md.seed process/features/active/CHG-XXX-your-feature/decision.md
|
|
@@ -136,6 +159,12 @@ cp process/_seeds/plan-template.md.seed process/features/active/CHG-XXX-your-
|
|
|
136
159
|
cp process/_seeds/state-template.md.seed process/features/active/CHG-XXX-your-feature/state.md
|
|
137
160
|
cp process/_seeds/review-template.md.seed process/features/active/CHG-XXX-your-feature/review.md
|
|
138
161
|
cp process/_seeds/handoff-template.md.seed process/features/active/CHG-XXX-your-feature/handoff.md
|
|
162
|
+
|
|
163
|
+
# (Optional) Tracking performance or evaluation metrics:
|
|
164
|
+
cp process/_seeds/results-template.tsv.seed process/features/active/CHG-XXX-your-feature/results.tsv
|
|
165
|
+
|
|
166
|
+
# (When cancelling an in-flight task):
|
|
167
|
+
cp process/_seeds/cancellation-template.md.seed process/features/active/CHG-XXX-your-feature/cancelled.md
|
|
139
168
|
```
|
|
140
169
|
|
|
141
170
|
</seeds_guide>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Cancellation Record: [TASK-ID] [Task Title]
|
|
2
|
+
|
|
3
|
+
<cancellation_record task_id="[TASK-ID]" version="1.0" framework="RIPER-5">
|
|
4
|
+
|
|
5
|
+
<!--
|
|
6
|
+
TASK CANCELLATION GUIDELINES:
|
|
7
|
+
- Purpose: Preserve investigation knowledge, technical discoveries, and decision rationale when a task is aborted.
|
|
8
|
+
- Never delete a task workspace outright if research or partial planning has occurred.
|
|
9
|
+
- Instantiate this file as `cancelled.md` inside the task workspace.
|
|
10
|
+
- Complete the reversal checklist, then move the task directory to `completed/` (or `cancelled/`).
|
|
11
|
+
-->
|
|
12
|
+
|
|
13
|
+
<status>
|
|
14
|
+
<phase_at_cancellation>[RESEARCH | INNOVATE | PLAN | EXECUTE | REVIEW]</phase_at_cancellation>
|
|
15
|
+
<cancelled_date>[YYYY-MM-DD or DD-MM-YY]</cancelled_date>
|
|
16
|
+
<cancelled_by>[@engineer_or_product_lead]</cancelled_by>
|
|
17
|
+
<reversal_status>[CLEAN | ROLLBACK_APPLIED | DIRTY_NEEDS_MANUAL_CLEANUP]</reversal_status>
|
|
18
|
+
</status>
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. Rationale for Cancellation
|
|
23
|
+
|
|
24
|
+
<cancellation_rationale>
|
|
25
|
+
<primary_reason>
|
|
26
|
+
<!-- [e.g. Pivot in product strategy / Architectural blocker / Excessive blast radius / Superseded by CHG-YYY] -->
|
|
27
|
+
[Concise summary of why this task was terminated prematurely.]
|
|
28
|
+
</primary_reason>
|
|
29
|
+
|
|
30
|
+
<decision_context>
|
|
31
|
+
[Detailed context, trade-offs evaluated, and key stakeholder guidance that led to cancellation.]
|
|
32
|
+
</decision_context>
|
|
33
|
+
</cancellation_rationale>
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. Technical Findings & Preserved Knowledge
|
|
38
|
+
|
|
39
|
+
<preserved_knowledge>
|
|
40
|
+
<codebase_discoveries>
|
|
41
|
+
<!-- What did we learn about the system, data models, or hidden dependencies during this task? -->
|
|
42
|
+
- [Discovery 1 — Component behavior, undocumented API limits, or legacy constraints]
|
|
43
|
+
- [Discovery 2 — Existing tests or subsystem boundaries uncovered]
|
|
44
|
+
</codebase_discoveries>
|
|
45
|
+
|
|
46
|
+
<invalidated_hypotheses>
|
|
47
|
+
<!-- What assumptions proved false during investigation? -->
|
|
48
|
+
- [Hypothesis that turned out incorrect or infeasible]
|
|
49
|
+
</invalidated_hypotheses>
|
|
50
|
+
|
|
51
|
+
<reusable_assets>
|
|
52
|
+
<!-- Are there test cases, draft schemas, benchmarks, or prototypes that future tasks can reuse? -->
|
|
53
|
+
- [Reusable asset 1: test cases or data models in draft branch / commit]
|
|
54
|
+
</reusable_assets>
|
|
55
|
+
</preserved_knowledge>
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 3. Working Tree Reversal & Cleanup Checklist
|
|
60
|
+
|
|
61
|
+
<cleanup_checklist>
|
|
62
|
+
- [ ] Uncommitted changes rolled back or stashed cleanly (`git status` clean)
|
|
63
|
+
- [ ] Temporary debug logs, scratch scripts, or test dumps deleted
|
|
64
|
+
- [ ] No phantom migrations or schema artifacts left in local database
|
|
65
|
+
- [ ] Task folder archived to `completed/` (or `cancelled/`)
|
|
66
|
+
</cleanup_checklist>
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 4. Superseding Task or Follow-Up
|
|
71
|
+
|
|
72
|
+
<follow_up>
|
|
73
|
+
<superseded_by>[Link to new task folder or CHG-YYY, or NONE]</superseded_by>
|
|
74
|
+
<recommended_next_action>
|
|
75
|
+
[Specific recommendations if this problem is revisited in the future.]
|
|
76
|
+
</recommended_next_action>
|
|
77
|
+
</follow_up>
|
|
78
|
+
|
|
79
|
+
</cancellation_record>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Benchmark & Metric Evaluation Registry (RIPER-5 Framework)
|
|
2
|
+
# Instantiate as results.tsv in task workspace when tracking performance, latency, memory, or eval metrics.
|
|
3
|
+
iteration timestamp slice_id metric_name baseline observed unit diff_pct status notes
|
|
4
|
+
0 2026-01-01T00:00:00Z baseline p99_latency_ms 100.0 100.0 ms 0.0% BASELINE Initial baseline measurement
|
|
5
|
+
1 2026-01-01T01:00:00Z slice-01 p99_latency_ms 100.0 75.0 ms -25.0% PASS Optimization slice 1 applied
|
|
@@ -29,6 +29,12 @@
|
|
|
29
29
|
<scope>Scaffolding seeds for tasks, research, decisions, plans, state, reviews, handoffs, and programs. Full artifact chain and instantiation commands.</scope>
|
|
30
30
|
</group>
|
|
31
31
|
|
|
32
|
+
<group id="tests">
|
|
33
|
+
<title>Testing Standards & Harness Strategy</title>
|
|
34
|
+
<path>[`tests/all-tests.md`](tests/all-tests.md)</path>
|
|
35
|
+
<scope>Test pyramid, unit/integration isolation policies, mock conventions, and test fixtures</scope>
|
|
36
|
+
</group>
|
|
37
|
+
|
|
32
38
|
<group id="protocols">
|
|
33
39
|
<title>Development Protocols Index</title>
|
|
34
40
|
<path>[`../development-protocols/all-development-protocols.md`](../development-protocols/all-development-protocols.md)</path>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Testing Standards & Harness Strategy Context
|
|
2
|
+
|
|
3
|
+
<testing_context version="1.0">
|
|
4
|
+
|
|
5
|
+
<overview>
|
|
6
|
+
Guidelines for test pyramid calibration, isolation policies, mock conventions, and automated verification harness across the system.
|
|
7
|
+
</overview>
|
|
8
|
+
|
|
9
|
+
## 1. Test Pyramid & Classification
|
|
10
|
+
<test_pyramid>
|
|
11
|
+
<layer name="Unit Tests" path="tests/unit/">
|
|
12
|
+
- Scope: Pure business logic, domain models, utility functions, edge case branching.
|
|
13
|
+
- Execution speed: Fast (< 50ms per test), zero network/disk/external I/O.
|
|
14
|
+
- Mock policy: Mock all I/O boundaries, external clients, and port interfaces.
|
|
15
|
+
</layer>
|
|
16
|
+
|
|
17
|
+
<layer name="Integration Tests" path="tests/integration/">
|
|
18
|
+
- Scope: Database persistence, external API client adapters, framework wiring.
|
|
19
|
+
- Isolation: Ephemeral test containers (e.g. Testcontainers) or dedicated isolated test database per suite.
|
|
20
|
+
- Teardown: Must guarantee zero state leakage across test runs.
|
|
21
|
+
</layer>
|
|
22
|
+
|
|
23
|
+
<layer name="End-to-End Tests" path="tests/e2e/">
|
|
24
|
+
- Scope: Critical user journeys, full HTTP/gRPC API lifecycle, regression smoke tests.
|
|
25
|
+
- Verification: Validates end-to-end contract integrity across subsystems.
|
|
26
|
+
</layer>
|
|
27
|
+
</test_pyramid>
|
|
28
|
+
|
|
29
|
+
## 2. Test Harness Policies
|
|
30
|
+
<test_policies>
|
|
31
|
+
<policy name="Determinism">
|
|
32
|
+
Zero flaky tests. Tests must not depend on real wall-clock time (use frozen clocks or fake timers) or randomized execution order.
|
|
33
|
+
</policy>
|
|
34
|
+
|
|
35
|
+
<policy name="Clean State">
|
|
36
|
+
Every test must seed its own data or fixtures. Tests must never assume pre-existing database rows.
|
|
37
|
+
</policy>
|
|
38
|
+
|
|
39
|
+
<policy name="Assertion Precision">
|
|
40
|
+
Avoid vague assertions (e.g. `expect(res).toBeTruthy()`). Always assert exact expected structures, status codes, and error types.
|
|
41
|
+
</policy>
|
|
42
|
+
|
|
43
|
+
<policy name="Fast Feedback">
|
|
44
|
+
Unit tests must execute in under 30 seconds for the entire suite. Slow integration suites must be cleanly partitioned.
|
|
45
|
+
</policy>
|
|
46
|
+
</test_policies>
|
|
47
|
+
|
|
48
|
+
## 3. Verification Commands Mapping
|
|
49
|
+
<verification_commands>
|
|
50
|
+
<!-- Keep aligned with AGENTS.md <validation_commands> -->
|
|
51
|
+
<command type="unit">Run fast unit test suite</command>
|
|
52
|
+
<command type="integration">Run integration/e2e tests</command>
|
|
53
|
+
<command type="coverage">Run test coverage check</command>
|
|
54
|
+
</verification_commands>
|
|
55
|
+
|
|
56
|
+
</testing_context>
|