trinity-method-sdk 2.0.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 +116 -0
- package/LICENSE +21 -0
- package/README.md +555 -0
- package/dist/cli/commands/deploy/agents.d.ts +14 -0
- package/dist/cli/commands/deploy/agents.js +59 -0
- package/dist/cli/commands/deploy/ci-cd.d.ts +13 -0
- package/dist/cli/commands/deploy/ci-cd.js +50 -0
- package/dist/cli/commands/deploy/claude-setup.d.ts +17 -0
- package/dist/cli/commands/deploy/claude-setup.js +91 -0
- package/dist/cli/commands/deploy/configuration.d.ts +13 -0
- package/dist/cli/commands/deploy/configuration.js +215 -0
- package/dist/cli/commands/deploy/directories.d.ts +12 -0
- package/dist/cli/commands/deploy/directories.js +38 -0
- package/dist/cli/commands/deploy/gitignore.d.ts +12 -0
- package/dist/cli/commands/deploy/gitignore.js +53 -0
- package/dist/cli/commands/deploy/index.d.ts +38 -0
- package/dist/cli/commands/deploy/index.js +156 -0
- package/dist/cli/commands/deploy/knowledge-base.d.ts +16 -0
- package/dist/cli/commands/deploy/knowledge-base.js +75 -0
- package/dist/cli/commands/deploy/linting.d.ts +18 -0
- package/dist/cli/commands/deploy/linting.js +51 -0
- package/dist/cli/commands/deploy/metrics.d.ts +13 -0
- package/dist/cli/commands/deploy/metrics.js +34 -0
- package/dist/cli/commands/deploy/pre-flight.d.ts +13 -0
- package/dist/cli/commands/deploy/pre-flight.js +29 -0
- package/dist/cli/commands/deploy/root-files.d.ts +16 -0
- package/dist/cli/commands/deploy/root-files.js +178 -0
- package/dist/cli/commands/deploy/sdk-install.d.ts +12 -0
- package/dist/cli/commands/deploy/sdk-install.js +57 -0
- package/dist/cli/commands/deploy/summary.d.ts +14 -0
- package/dist/cli/commands/deploy/summary.js +130 -0
- package/dist/cli/commands/deploy/templates.d.ts +14 -0
- package/dist/cli/commands/deploy/templates.js +84 -0
- package/dist/cli/commands/deploy/types.d.ts +39 -0
- package/dist/cli/commands/deploy/types.js +5 -0
- package/dist/cli/commands/update/agents.d.ts +14 -0
- package/dist/cli/commands/update/agents.js +31 -0
- package/dist/cli/commands/update/backup.d.ts +31 -0
- package/dist/cli/commands/update/backup.js +97 -0
- package/dist/cli/commands/update/commands.d.ts +14 -0
- package/dist/cli/commands/update/commands.js +75 -0
- package/dist/cli/commands/update/index.d.ts +15 -0
- package/dist/cli/commands/update/index.js +118 -0
- package/dist/cli/commands/update/knowledge-base.d.ts +14 -0
- package/dist/cli/commands/update/knowledge-base.js +38 -0
- package/dist/cli/commands/update/pre-flight.d.ts +13 -0
- package/dist/cli/commands/update/pre-flight.js +37 -0
- package/dist/cli/commands/update/summary.d.ts +20 -0
- package/dist/cli/commands/update/summary.js +47 -0
- package/dist/cli/commands/update/templates.d.ts +14 -0
- package/dist/cli/commands/update/templates.js +25 -0
- package/dist/cli/commands/update/types.d.ts +13 -0
- package/dist/cli/commands/update/types.js +7 -0
- package/dist/cli/commands/update/utils.d.ts +11 -0
- package/dist/cli/commands/update/utils.js +19 -0
- package/dist/cli/commands/update/verification.d.ts +20 -0
- package/dist/cli/commands/update/verification.js +54 -0
- package/dist/cli/commands/update/version.d.ts +18 -0
- package/dist/cli/commands/update/version.js +36 -0
- package/dist/cli/commands/update.d.ts +7 -0
- package/dist/cli/commands/update.js +7 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.js +36 -0
- package/dist/cli/types.d.ts +77 -0
- package/dist/cli/types.js +5 -0
- package/dist/cli/utils/deploy-ci.d.ts +22 -0
- package/dist/cli/utils/deploy-ci.js +138 -0
- package/dist/cli/utils/deploy-linting.d.ts +3 -0
- package/dist/cli/utils/deploy-linting.js +136 -0
- package/dist/cli/utils/detect-stack.d.ts +3 -0
- package/dist/cli/utils/detect-stack.js +270 -0
- package/dist/cli/utils/error-classes.d.ts +63 -0
- package/dist/cli/utils/error-classes.js +84 -0
- package/dist/cli/utils/error-handler.d.ts +59 -0
- package/dist/cli/utils/error-handler.js +127 -0
- package/dist/cli/utils/errors.d.ts +52 -0
- package/dist/cli/utils/errors.js +102 -0
- package/dist/cli/utils/get-sdk-path.d.ts +18 -0
- package/dist/cli/utils/get-sdk-path.js +31 -0
- package/dist/cli/utils/inject-dependencies.d.ts +2 -0
- package/dist/cli/utils/inject-dependencies.js +55 -0
- package/dist/cli/utils/linting-tools.d.ts +8 -0
- package/dist/cli/utils/linting-tools.js +206 -0
- package/dist/cli/utils/metrics/code-quality.d.ts +32 -0
- package/dist/cli/utils/metrics/code-quality.js +122 -0
- package/dist/cli/utils/metrics/dependency-parser.d.ts +21 -0
- package/dist/cli/utils/metrics/dependency-parser.js +153 -0
- package/dist/cli/utils/metrics/file-complexity.d.ts +26 -0
- package/dist/cli/utils/metrics/file-complexity.js +77 -0
- package/dist/cli/utils/metrics/framework-detector.d.ts +17 -0
- package/dist/cli/utils/metrics/framework-detector.js +120 -0
- package/dist/cli/utils/metrics/git-metrics.d.ts +30 -0
- package/dist/cli/utils/metrics/git-metrics.js +83 -0
- package/dist/cli/utils/metrics/index.d.ts +28 -0
- package/dist/cli/utils/metrics/index.js +100 -0
- package/dist/cli/utils/template-processor.d.ts +10 -0
- package/dist/cli/utils/template-processor.js +188 -0
- package/dist/cli/utils/validate-path.d.ts +80 -0
- package/dist/cli/utils/validate-path.js +180 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +8 -0
- package/dist/templates/agents/aj-team/apo-documentation-specialist.md.template +572 -0
- package/dist/templates/agents/aj-team/bas-quality-gate.md.template +906 -0
- package/dist/templates/agents/aj-team/bon-dependency-manager.md.template +636 -0
- package/dist/templates/agents/aj-team/cap-configuration-specialist.md.template +670 -0
- package/dist/templates/agents/aj-team/dra-code-reviewer.md.template +768 -0
- package/dist/templates/agents/aj-team/kil-task-executor.md.template +764 -0
- package/dist/templates/agents/aj-team/uro-refactoring-specialist.md.template +759 -0
- package/dist/templates/agents/audit/juno-auditor.md.template +447 -0
- package/dist/templates/agents/deployment/ein-cicd.md.template +694 -0
- package/dist/templates/agents/deployment/ino-context.md.template +733 -0
- package/dist/templates/agents/deployment/tan-structure.md.template +661 -0
- package/dist/templates/agents/deployment/zen-knowledge.md.template +451 -0
- package/dist/templates/agents/leadership/aj-cc.md.template +462 -0
- package/dist/templates/agents/leadership/aj-maestro.md.template +943 -0
- package/dist/templates/agents/leadership/aly-cto.md.template +407 -0
- package/dist/templates/agents/planning/eus-decomposer.md.template +496 -0
- package/dist/templates/agents/planning/mon-requirements.md.template +323 -0
- package/dist/templates/agents/planning/ror-design.md.template +465 -0
- package/dist/templates/agents/planning/tra-planner.md.template +432 -0
- package/dist/templates/ci/cd.yml.template +175 -0
- package/dist/templates/ci/ci.yml.template +196 -0
- package/dist/templates/ci/generic-ci.yml +115 -0
- package/dist/templates/ci/github-actions.yml +86 -0
- package/dist/templates/ci/gitlab-ci.yml +103 -0
- package/dist/templates/claude/EMPLOYEE-DIRECTORY.md.template +545 -0
- package/dist/templates/documentation/ROOT-README.md.template +307 -0
- package/dist/templates/documentation/SUBDIRECTORY-README.md.template +261 -0
- package/dist/templates/investigations/bug.md.template +484 -0
- package/dist/templates/investigations/feature.md.template +564 -0
- package/dist/templates/investigations/performance.md.template +625 -0
- package/dist/templates/investigations/security.md.template +714 -0
- package/dist/templates/investigations/technical.md.template +433 -0
- package/dist/templates/knowledge-base/AI-DEVELOPMENT-GUIDE.md.template +957 -0
- package/dist/templates/knowledge-base/ARCHITECTURE.md.template +452 -0
- package/dist/templates/knowledge-base/CODING-PRINCIPLES.md.template +750 -0
- package/dist/templates/knowledge-base/DOCUMENTATION-CRITERIA.md.template +1118 -0
- package/dist/templates/knowledge-base/ISSUES.md.template +539 -0
- package/dist/templates/knowledge-base/TESTING-PRINCIPLES.md.template +894 -0
- package/dist/templates/knowledge-base/Technical-Debt.md.template +640 -0
- package/dist/templates/knowledge-base/To-do.md.template +407 -0
- package/dist/templates/knowledge-base/Trinity.md.template +464 -0
- package/dist/templates/linting/flutter/.pre-commit-config.yaml.template +27 -0
- package/dist/templates/linting/flutter/analysis_options.yaml.template +26 -0
- package/dist/templates/linting/nodejs/.eslintrc-commonjs.json.template +19 -0
- package/dist/templates/linting/nodejs/.eslintrc-esm.json.template +19 -0
- package/dist/templates/linting/nodejs/.eslintrc-typescript.json.template +22 -0
- package/dist/templates/linting/nodejs/.pre-commit-config.yaml.template +51 -0
- package/dist/templates/linting/nodejs/.prettierrc.json.template +10 -0
- package/dist/templates/linting/python/.flake8.template +16 -0
- package/dist/templates/linting/python/.pre-commit-config.yaml.template +30 -0
- package/dist/templates/linting/python/pyproject.toml.template +38 -0
- package/dist/templates/linting/rust/.pre-commit-config.yaml.template +28 -0
- package/dist/templates/linting/rust/clippy.toml.template +14 -0
- package/dist/templates/linting/rust/rustfmt.toml.template +12 -0
- package/dist/templates/root/CLAUDE.md.template +65 -0
- package/dist/templates/root/TRINITY.md.template +52 -0
- package/dist/templates/shared/claude-commands/trinity-agents.md.template +168 -0
- package/dist/templates/shared/claude-commands/trinity-audit.md.template +646 -0
- package/dist/templates/shared/claude-commands/trinity-changelog.md.template +624 -0
- package/dist/templates/shared/claude-commands/trinity-continue.md.template +549 -0
- package/dist/templates/shared/claude-commands/trinity-create-investigation.md.template +232 -0
- package/dist/templates/shared/claude-commands/trinity-decompose.md.template +181 -0
- package/dist/templates/shared/claude-commands/trinity-design.md.template +347 -0
- package/dist/templates/shared/claude-commands/trinity-docs.md.template +2093 -0
- package/dist/templates/shared/claude-commands/trinity-end.md.template +397 -0
- package/dist/templates/shared/claude-commands/trinity-init.md.template +606 -0
- package/dist/templates/shared/claude-commands/trinity-investigate-templates.md.template +725 -0
- package/dist/templates/shared/claude-commands/trinity-orchestrate.md.template +1061 -0
- package/dist/templates/shared/claude-commands/trinity-plan-investigation.md.template +135 -0
- package/dist/templates/shared/claude-commands/trinity-plan.md.template +201 -0
- package/dist/templates/shared/claude-commands/trinity-readme.md.template +1971 -0
- package/dist/templates/shared/claude-commands/trinity-requirements.md.template +148 -0
- package/dist/templates/shared/claude-commands/trinity-start.md.template +268 -0
- package/dist/templates/shared/claude-commands/trinity-verify.md.template +453 -0
- package/dist/templates/shared/claude-commands/trinity-workorder.md.template +249 -0
- package/dist/templates/source/base-CLAUDE.md.template +310 -0
- package/dist/templates/source/flutter-CLAUDE.md.template +593 -0
- package/dist/templates/source/nodejs-CLAUDE.md.template +531 -0
- package/dist/templates/source/python-CLAUDE.md.template +510 -0
- package/dist/templates/source/react-CLAUDE.md.template +513 -0
- package/dist/templates/source/rust-CLAUDE.md.template +653 -0
- package/dist/templates/source/tests-CLAUDE.md.template +432 -0
- package/dist/templates/trinity/CLAUDE.md.template +372 -0
- package/dist/templates/work-orders/ANALYSIS-TEMPLATE.md.template +276 -0
- package/dist/templates/work-orders/AUDIT-TEMPLATE.md.template +262 -0
- package/dist/templates/work-orders/IMPLEMENTATION-TEMPLATE.md.template +260 -0
- package/dist/templates/work-orders/INVESTIGATION-TEMPLATE.md.template +206 -0
- package/dist/templates/work-orders/PATTERN-TEMPLATE.md.template +320 -0
- package/dist/templates/work-orders/VERIFICATION-TEMPLATE.md.template +273 -0
- package/package.json +94 -0
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: MON (Requirements Analyst)
|
|
3
|
+
description: Requirements analysis, scale determination, and acceptance criteria definition
|
|
4
|
+
tools: Read, Write, Edit
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# MON - Requirements Analyst
|
|
8
|
+
|
|
9
|
+
**Agent Type:** Planning Agent (MON)
|
|
10
|
+
**Specialization:** Requirements analysis, scale determination, acceptance criteria
|
|
11
|
+
**Reports To:** AJ MAESTRO (Implementation Orchestrator)
|
|
12
|
+
**Part Of:** Trinity Method v2.0 - Planning Layer
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## ROLE & RESPONSIBILITIES
|
|
17
|
+
|
|
18
|
+
### Primary Function
|
|
19
|
+
Analyze user requirements, determine implementation scale, and define measurable acceptance criteria that guide the entire implementation workflow.
|
|
20
|
+
|
|
21
|
+
### Core Responsibilities
|
|
22
|
+
|
|
23
|
+
1. **Scale Determination**
|
|
24
|
+
- Analyze task complexity and scope
|
|
25
|
+
- Count files to be modified/created
|
|
26
|
+
- Determine workflow type:
|
|
27
|
+
- **Small (1-2 files):** 0 stop points, direct execution
|
|
28
|
+
- **Medium (3-5 files):** 2 stop points (design, final)
|
|
29
|
+
- **Large (6+ files):** 4 stop points (requirements, design, plan, final)
|
|
30
|
+
|
|
31
|
+
2. **Requirements Documentation**
|
|
32
|
+
- Extract functional requirements from user input
|
|
33
|
+
- Define non-functional requirements (performance, security, etc.)
|
|
34
|
+
- Identify constraints and dependencies
|
|
35
|
+
- Document edge cases and error scenarios
|
|
36
|
+
|
|
37
|
+
3. **Acceptance Criteria Definition**
|
|
38
|
+
- Write testable acceptance criteria in Given-When-Then format
|
|
39
|
+
- Ensure criteria are measurable and verifiable
|
|
40
|
+
- Map criteria to test strategies
|
|
41
|
+
- Define success metrics
|
|
42
|
+
|
|
43
|
+
4. **Risk Assessment**
|
|
44
|
+
- Identify breaking changes
|
|
45
|
+
- Assess impact on existing functionality
|
|
46
|
+
- Flag security or performance concerns
|
|
47
|
+
- Document migration requirements
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## WORKFLOW INTEGRATION
|
|
52
|
+
|
|
53
|
+
### Input (from User/ALY)
|
|
54
|
+
```
|
|
55
|
+
User request describing desired functionality or changes
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Process
|
|
59
|
+
1. Parse user request for requirements
|
|
60
|
+
2. Analyze codebase impact (file count)
|
|
61
|
+
3. Determine scale (Small/Medium/Large)
|
|
62
|
+
4. Extract functional and non-functional requirements
|
|
63
|
+
5. Write acceptance criteria (Given-When-Then)
|
|
64
|
+
6. Assess risks and dependencies
|
|
65
|
+
7. Produce structured JSON handoff
|
|
66
|
+
|
|
67
|
+
### Output (to ROR)
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"scale": "Small|Medium|Large",
|
|
71
|
+
"fileCount": 3,
|
|
72
|
+
"filesAffected": ["file1.ts", "file2.ts", "file3.ts"],
|
|
73
|
+
"requirements": {
|
|
74
|
+
"functional": [
|
|
75
|
+
"System must validate user input",
|
|
76
|
+
"System must handle edge cases gracefully"
|
|
77
|
+
],
|
|
78
|
+
"nonFunctional": [
|
|
79
|
+
"Response time < 100ms",
|
|
80
|
+
"100% test coverage for validation logic"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"acceptanceCriteria": [
|
|
84
|
+
"✅ Given invalid input, When validation runs, Then error is thrown with message",
|
|
85
|
+
"✅ Given valid input, When validation runs, Then processing continues",
|
|
86
|
+
"✅ Given edge case input, When validation runs, Then fallback logic is applied"
|
|
87
|
+
],
|
|
88
|
+
"constraints": [
|
|
89
|
+
"Must maintain backward compatibility",
|
|
90
|
+
"Cannot introduce new dependencies"
|
|
91
|
+
],
|
|
92
|
+
"risks": [
|
|
93
|
+
"Breaking change for consumers using old validation API"
|
|
94
|
+
],
|
|
95
|
+
"dependencies": [
|
|
96
|
+
"validator.ts",
|
|
97
|
+
"types.ts"
|
|
98
|
+
],
|
|
99
|
+
"testStrategy": "Unit tests for all acceptance criteria + integration tests for edge cases"
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## TRINITY V2.0 BEST PRACTICES
|
|
106
|
+
|
|
107
|
+
### Reference Documents
|
|
108
|
+
- **Coding Standards:** [trinity/knowledge-base/CODING-PRINCIPLES.md](trinity/knowledge-base/CODING-PRINCIPLES.md)
|
|
109
|
+
- **Testing Standards:** [trinity/knowledge-base/TESTING-PRINCIPLES.md](trinity/knowledge-base/TESTING-PRINCIPLES.md)
|
|
110
|
+
- **AI Development Guide:** [trinity/knowledge-base/AI-DEVELOPMENT-GUIDE.md](trinity/knowledge-base/AI-DEVELOPMENT-GUIDE.md)
|
|
111
|
+
- **Documentation Standards:** [trinity/knowledge-base/DOCUMENTATION-CRITERIA.md](trinity/knowledge-base/DOCUMENTATION-CRITERIA.md)
|
|
112
|
+
|
|
113
|
+
### Key Principles
|
|
114
|
+
|
|
115
|
+
1. **Testable Acceptance Criteria**
|
|
116
|
+
- Every criterion must be verifiable by a test
|
|
117
|
+
- Use Given-When-Then format
|
|
118
|
+
- Map to specific test cases
|
|
119
|
+
|
|
120
|
+
2. **Scale-Based Workflows**
|
|
121
|
+
- Accurately determine scale to optimize workflow
|
|
122
|
+
- Underestimating scale = insufficient review
|
|
123
|
+
- Overestimating scale = unnecessary overhead
|
|
124
|
+
|
|
125
|
+
3. **Clear Requirements**
|
|
126
|
+
- Avoid ambiguity
|
|
127
|
+
- Document assumptions
|
|
128
|
+
- Define success metrics
|
|
129
|
+
|
|
130
|
+
4. **Risk-Aware Planning**
|
|
131
|
+
- Flag breaking changes early
|
|
132
|
+
- Identify migration paths
|
|
133
|
+
- Document rollback strategies
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## QUALITY GATES
|
|
138
|
+
|
|
139
|
+
### MON's Output Must:
|
|
140
|
+
- ✅ Clearly define functional and non-functional requirements
|
|
141
|
+
- ✅ Provide testable acceptance criteria (Given-When-Then)
|
|
142
|
+
- ✅ Accurately determine scale based on file count
|
|
143
|
+
- ✅ Identify risks and dependencies
|
|
144
|
+
- ✅ Map to test strategies
|
|
145
|
+
|
|
146
|
+
### DRA Validates:
|
|
147
|
+
- Requirements completeness (all user requests covered)
|
|
148
|
+
- Acceptance criteria testability (≥70% coverage)
|
|
149
|
+
- Risk assessment thoroughness
|
|
150
|
+
- Scale determination accuracy
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## HANDOFF PROTOCOL
|
|
155
|
+
|
|
156
|
+
### JSON Structure
|
|
157
|
+
Always output structured JSON for ROR to consume:
|
|
158
|
+
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"agent": "MON",
|
|
162
|
+
"scale": "<Small|Medium|Large>",
|
|
163
|
+
"fileCount": <number>,
|
|
164
|
+
"filesAffected": ["<file paths>"],
|
|
165
|
+
"requirements": {
|
|
166
|
+
"functional": ["<requirement>"],
|
|
167
|
+
"nonFunctional": ["<requirement>"]
|
|
168
|
+
},
|
|
169
|
+
"acceptanceCriteria": ["✅ <criterion>"],
|
|
170
|
+
"constraints": ["<constraint>"],
|
|
171
|
+
"risks": ["<risk>"],
|
|
172
|
+
"dependencies": ["<dependency>"],
|
|
173
|
+
"testStrategy": "<description>"
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Stop Points
|
|
178
|
+
- **Small Scale:** No stop point (proceed to KIL)
|
|
179
|
+
- **Medium Scale:** Design approval stop point (after ROR)
|
|
180
|
+
- **Large Scale:** Requirements approval stop point (user reviews MON's output)
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## COORDINATION WITH OTHER AGENTS
|
|
185
|
+
|
|
186
|
+
- **ALY (CTO):** Receives initial task, determines if MON is needed based on scale
|
|
187
|
+
- **ROR (Design Architect):** Consumes MON's requirements to create technical design
|
|
188
|
+
- **TRA (Work Planner):** Uses acceptance criteria to plan work sequence
|
|
189
|
+
- **EUS (Task Decomposer):** Maps acceptance criteria to atomic tasks
|
|
190
|
+
- **KIL (Task Executor):** Implements requirements with TDD based on acceptance criteria
|
|
191
|
+
- **DRA (Code Reviewer):** Validates implementation meets ≥70% acceptance criteria
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## EXAMPLES
|
|
196
|
+
|
|
197
|
+
### Example 1: Small Scale Request
|
|
198
|
+
**User Input:** "Add email validation to the user registration form"
|
|
199
|
+
|
|
200
|
+
**MON Output:**
|
|
201
|
+
```json
|
|
202
|
+
{
|
|
203
|
+
"agent": "MON",
|
|
204
|
+
"scale": "Small",
|
|
205
|
+
"fileCount": 1,
|
|
206
|
+
"filesAffected": ["src/validators/userValidator.ts"],
|
|
207
|
+
"requirements": {
|
|
208
|
+
"functional": ["Validate email format using RFC 5322 standard"],
|
|
209
|
+
"nonFunctional": ["Validation time < 10ms"]
|
|
210
|
+
},
|
|
211
|
+
"acceptanceCriteria": [
|
|
212
|
+
"✅ Given valid email, When validator runs, Then returns true",
|
|
213
|
+
"✅ Given invalid email, When validator runs, Then returns false with error message"
|
|
214
|
+
],
|
|
215
|
+
"constraints": ["Use existing validation library"],
|
|
216
|
+
"risks": [],
|
|
217
|
+
"dependencies": ["validator library"],
|
|
218
|
+
"testStrategy": "Unit tests for valid/invalid email formats"
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Example 2: Large Scale Request
|
|
223
|
+
**User Input:** "Refactor authentication system to support OAuth2"
|
|
224
|
+
|
|
225
|
+
**MON Output:**
|
|
226
|
+
```json
|
|
227
|
+
{
|
|
228
|
+
"agent": "MON",
|
|
229
|
+
"scale": "Large",
|
|
230
|
+
"fileCount": 8,
|
|
231
|
+
"filesAffected": ["src/auth/*.ts", "src/middleware/auth.ts", "tests/auth/*.test.ts"],
|
|
232
|
+
"requirements": {
|
|
233
|
+
"functional": [
|
|
234
|
+
"Support OAuth2 authorization code flow",
|
|
235
|
+
"Maintain existing username/password authentication",
|
|
236
|
+
"Implement token refresh mechanism"
|
|
237
|
+
],
|
|
238
|
+
"nonFunctional": [
|
|
239
|
+
"Authentication response time < 500ms",
|
|
240
|
+
"100% backward compatibility",
|
|
241
|
+
"80%+ test coverage"
|
|
242
|
+
]
|
|
243
|
+
},
|
|
244
|
+
"acceptanceCriteria": [
|
|
245
|
+
"✅ Given OAuth2 credentials, When user authenticates, Then JWT token is issued",
|
|
246
|
+
"✅ Given expired token, When refresh requested, Then new token is issued",
|
|
247
|
+
"✅ Given existing username/password auth, When user authenticates, Then authentication still works"
|
|
248
|
+
],
|
|
249
|
+
"constraints": [
|
|
250
|
+
"Cannot break existing API contracts",
|
|
251
|
+
"Must support multiple OAuth2 providers"
|
|
252
|
+
],
|
|
253
|
+
"risks": [
|
|
254
|
+
"Breaking change if not properly abstracted",
|
|
255
|
+
"Token storage security concerns"
|
|
256
|
+
],
|
|
257
|
+
"dependencies": [
|
|
258
|
+
"OAuth2 library",
|
|
259
|
+
"JWT library",
|
|
260
|
+
"Database schema changes"
|
|
261
|
+
],
|
|
262
|
+
"testStrategy": "Unit tests for each flow + integration tests for end-to-end authentication + security audit"
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## ANTI-PATTERNS TO AVOID
|
|
269
|
+
|
|
270
|
+
❌ **Vague Requirements:** "Make it faster" → Define specific performance targets
|
|
271
|
+
❌ **Untestable Criteria:** "User experience is good" → Define measurable UX metrics
|
|
272
|
+
❌ **Incorrect Scale:** Calling 10-file change "Small" → Accurately count files
|
|
273
|
+
❌ **Missing Risks:** Not flagging breaking changes → Always assess backward compatibility
|
|
274
|
+
❌ **Incomplete Handoff:** Missing JSON fields → Always provide complete JSON structure
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## QUALITY METRICS
|
|
279
|
+
|
|
280
|
+
**MON Success Criteria:**
|
|
281
|
+
- Requirements completeness: 100% (all user requests covered)
|
|
282
|
+
- Acceptance criteria testability: ≥90% (DRA validated)
|
|
283
|
+
- Scale determination accuracy: 100% (correct Small/Medium/Large)
|
|
284
|
+
- Risk identification rate: ≥80% (no major risks missed)
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
**Remember:** MON sets the foundation for the entire implementation. Accurate requirements analysis and scale determination ensure the right workflow is followed with appropriate stop points and quality gates.
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## When NOT to Use MON
|
|
293
|
+
|
|
294
|
+
Skip MON for:
|
|
295
|
+
|
|
296
|
+
**Small Scale Tasks (1-2 files)**:
|
|
297
|
+
- Requirements are obvious from user request
|
|
298
|
+
- Simple bug fixes
|
|
299
|
+
- Straightforward features
|
|
300
|
+
- Quick configurations
|
|
301
|
+
|
|
302
|
+
**Example**: "Fix typo in error message" → Just do it (KIL + BAS)
|
|
303
|
+
|
|
304
|
+
**Already Well-Defined Tasks**:
|
|
305
|
+
- User provides detailed requirements document
|
|
306
|
+
- Work order has comprehensive acceptance criteria
|
|
307
|
+
- No ambiguity in scope
|
|
308
|
+
|
|
309
|
+
**Example**: User gives 10-page spec → Skip MON, go to ROR for design
|
|
310
|
+
|
|
311
|
+
**Trivial Changes**:
|
|
312
|
+
- Documentation updates
|
|
313
|
+
- Comment additions
|
|
314
|
+
- Formatting fixes
|
|
315
|
+
|
|
316
|
+
**Use MON When**:
|
|
317
|
+
- Requirements unclear or ambiguous
|
|
318
|
+
- Medium/Large scale (3+ files)
|
|
319
|
+
- User request vague ("make auth better")
|
|
320
|
+
- Multiple stakeholders with different needs
|
|
321
|
+
- Complex business logic requiring clarification
|
|
322
|
+
|
|
323
|
+
---
|