@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.
@@ -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,EAyD3C,CAAC;AAEF,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAED,wBAAgB,cAAc,CAAC,cAAc,GAAE,MAAyB,GAAG,WAAW,CAgBrF"}
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
  {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@damphuquy/agent-init",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Scaffolding CLI to bootstrap RIPER-5 Coding Agents & Operational Workspace",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -0,0 +1,15 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ indent_style = space
7
+ indent_size = 2
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.tsv]
12
+ indent_style = tab
13
+
14
+ [*.md]
15
+ trim_trailing_whitespace = false
@@ -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
- └── planning/all-planning.md # Planning calibration & vertical slicing rules
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
- │ │ └── handoff.md # Final projection
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
- └── handoff.md ← instantiated from handoff-template.md.seed
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>