@haposoft/cafekit 0.13.4 → 0.14.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/README.md +2 -23
- package/bin/lib/i18n.js +2 -2
- package/bin/lib/manifest.js +15 -0
- package/bin/lib/opencode-install.js +0 -14
- package/bin/phases/claude-runtime.js +4 -1
- package/bin/phases/claude-settings.js +38 -7
- package/bin/phases/root-config.js +5 -24
- package/package.json +1 -1
- package/src/claude/agents/ui-ux-designer.md +4 -4
- package/src/claude/gitignore +4 -11
- package/src/claude/hooks/__tests__/privacy-block.test.js +79 -0
- package/src/claude/hooks/__tests__/session-writeenv.test.js +68 -0
- package/src/claude/hooks/__tests__/spec-gate.test.js +270 -0
- package/src/claude/hooks/privacy-block.cjs +22 -2
- package/src/claude/hooks/session.cjs +5 -1
- package/src/claude/hooks/spec-gate.cjs +173 -0
- package/src/claude/hooks/spec-state.cjs +10 -17
- package/src/claude/hooks/task-scaffold-guard.cjs +4 -2
- package/src/claude/migration-manifest.json +5 -5
- package/src/claude/rules/skill-domain-routing.md +2 -3
- package/src/claude/rules/skill-workflow-routing.md +2 -11
- package/src/claude/rules/state-sync.md +4 -0
- package/src/claude/runtime.json +4 -0
- package/src/claude/scripts/validate-docs.cjs +4 -7
- package/src/claude/scripts/validate-spec-output.cjs +29 -9
- package/src/claude/settings/settings.json +4 -0
- package/src/claude/skills/ai-multimodal/.env.example +11 -13
- package/src/claude/skills/ai-multimodal/SKILL.md +1 -1
- package/src/claude/skills/ai-multimodal/references/audio-processing.md +25 -27
- package/src/claude/skills/ai-multimodal/references/video-analysis.md +23 -27
- package/src/claude/skills/ai-multimodal/references/vision-understanding.md +26 -26
- package/src/claude/skills/ai-multimodal/scripts/check_setup.py +1 -1
- package/src/claude/skills/ai-multimodal/scripts/gemini_batch_process.py +7 -9
- package/src/claude/skills/brainstorm/SKILL.md +1 -2
- package/src/claude/skills/docx/SKILL.md +1 -1
- package/src/claude/skills/frontend-design/SKILL.md +1 -1
- package/src/claude/skills/frontend-design/references/ai-multimodal-overview.md +4 -4
- package/src/claude/skills/frontend-design/references/analysis-techniques.md +3 -3
- package/src/claude/skills/frontend-design/references/asset-generation.md +2 -2
- package/src/claude/skills/frontend-design/references/design-extraction-overview.md +4 -4
- package/src/claude/skills/frontend-design/references/extraction-best-practices.md +3 -3
- package/src/claude/skills/frontend-design/references/technical-accessibility.md +1 -1
- package/src/claude/skills/frontend-design/references/technical-optimization.md +1 -1
- package/src/claude/skills/frontend-design/references/technical-overview.md +2 -2
- package/src/claude/skills/frontend-design/references/technical-workflows.md +6 -6
- package/src/claude/skills/frontend-design/references/visual-analysis-overview.md +3 -3
- package/src/claude/skills/inspect/SKILL.md +3 -3
- package/src/claude/skills/inspect/references/external-gemini-inspection.md +9 -9
- package/src/claude/skills/pdf/SKILL.md +1 -1
- package/src/claude/skills/pptx/SKILL.md +1 -1
- package/src/claude/skills/specs/SKILL.md +1 -1
- package/src/claude/skills/xlsx/SKILL.md +1 -1
- package/src/opencode/AGENTS.md +1 -2
- package/src/opencode/plugins/session.ts +2 -2
- package/src/opencode/plugins/spec-state.ts +244 -0
- package/src/opencode/plugins/task-scaffold-guard.ts +161 -0
- package/src/claude/scripts/browser-tool.cjs +0 -138
- package/src/claude/skills/delegate/SKILL.md +0 -124
- package/src/claude/skills/delegate/references/codex-delegation.md +0 -71
- package/src/claude/skills/delegate/references/grok-delegation.md +0 -84
- package/src/claude/skills/generate-graph/LICENSE +0 -21
- package/src/claude/skills/generate-graph/README.md +0 -523
- package/src/claude/skills/generate-graph/SKILL.md +0 -429
- package/src/claude/skills/generate-graph/agentloop-core.svg +0 -101
- package/src/claude/skills/generate-graph/agents/openai.yaml +0 -4
- package/src/claude/skills/generate-graph/assets/samples/sample-style1-flat.png +0 -0
- package/src/claude/skills/generate-graph/assets/samples/sample-style2-dark.png +0 -0
- package/src/claude/skills/generate-graph/assets/samples/sample-style3-blueprint.png +0 -0
- package/src/claude/skills/generate-graph/assets/samples/sample-style4-notion.png +0 -0
- package/src/claude/skills/generate-graph/assets/samples/sample-style5-glass.png +0 -0
- package/src/claude/skills/generate-graph/assets/samples/sample-style6-claude.png +0 -0
- package/src/claude/skills/generate-graph/assets/samples/sample-style7-openai.png +0 -0
- package/src/claude/skills/generate-graph/fixtures/agent-memory-types-style4.json +0 -181
- package/src/claude/skills/generate-graph/fixtures/api-flow-style7.json +0 -40
- package/src/claude/skills/generate-graph/fixtures/mem0-style1.json +0 -297
- package/src/claude/skills/generate-graph/fixtures/microservices-style3.json +0 -64
- package/src/claude/skills/generate-graph/fixtures/multi-agent-style5.json +0 -45
- package/src/claude/skills/generate-graph/fixtures/system-architecture-style6.json +0 -48
- package/src/claude/skills/generate-graph/fixtures/tool-call-style2.json +0 -182
- package/src/claude/skills/generate-graph/package.json +0 -42
- package/src/claude/skills/generate-graph/references/icons.md +0 -281
- package/src/claude/skills/generate-graph/references/style-1-flat-icon.md +0 -108
- package/src/claude/skills/generate-graph/references/style-2-dark-terminal.md +0 -107
- package/src/claude/skills/generate-graph/references/style-3-blueprint.md +0 -113
- package/src/claude/skills/generate-graph/references/style-4-notion-clean.md +0 -94
- package/src/claude/skills/generate-graph/references/style-5-glassmorphism.md +0 -125
- package/src/claude/skills/generate-graph/references/style-6-claude-official.md +0 -209
- package/src/claude/skills/generate-graph/references/style-7-openai.md +0 -215
- package/src/claude/skills/generate-graph/references/style-diagram-matrix.md +0 -135
- package/src/claude/skills/generate-graph/references/svg-layout-best-practices.md +0 -100
- package/src/claude/skills/generate-graph/scripts/generate-diagram.sh +0 -157
- package/src/claude/skills/generate-graph/scripts/generate-from-template.py +0 -1556
- package/src/claude/skills/generate-graph/scripts/test-all-styles.sh +0 -135
- package/src/claude/skills/generate-graph/scripts/validate-svg.sh +0 -292
- package/src/claude/skills/generate-graph/templates/agent-architecture.svg +0 -28
- package/src/claude/skills/generate-graph/templates/architecture.svg +0 -23
- package/src/claude/skills/generate-graph/templates/comparison-matrix.svg +0 -14
- package/src/claude/skills/generate-graph/templates/data-flow.svg +0 -28
- package/src/claude/skills/generate-graph/templates/er-diagram.svg +0 -21
- package/src/claude/skills/generate-graph/templates/flowchart.svg +0 -21
- package/src/claude/skills/generate-graph/templates/sequence.svg +0 -20
- package/src/claude/skills/generate-graph/templates/state-machine.svg +0 -20
- package/src/claude/skills/generate-graph/templates/timeline.svg +0 -19
- package/src/claude/skills/generate-graph/templates/use-case.svg +0 -21
- package/src/claude/skills/impact-analysis/SKILL.md +0 -276
- package/src/claude/skills/impact-analysis/references/change-detection.md +0 -270
- package/src/claude/skills/impact-analysis/references/dependency-scouting.md +0 -338
- package/src/claude/skills/impact-analysis/references/edge-case-identification.md +0 -439
- package/src/claude/skills/impact-analysis/references/industry-techniques.md +0 -695
- package/src/claude/skills/impact-analysis/references/practical-techniques-guide.md +0 -753
- package/src/claude/skills/impact-analysis/references/project-detection.md +0 -704
- package/src/claude/skills/impact-analysis/references/react-native-customization.md +0 -508
- package/src/claude/skills/impact-analysis/references/report-template.md +0 -604
- package/src/claude/skills/impact-analysis/references/test-scenario-generation.md +0 -459
- package/src/claude/skills/impact-analysis/scripts/README.md +0 -476
- package/src/claude/skills/impact-analysis/scripts/ast-analyze.js +0 -403
- package/src/claude/skills/impact-analysis/scripts/calculate-risk.js +0 -475
- package/src/claude/skills/impact-analysis/scripts/find-dependencies.sh +0 -202
- package/src/claude/skills/impact-analysis/scripts/run-analysis.sh +0 -312
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
# Dependency Inspection - Finding Affected Files
|
|
2
|
-
|
|
3
|
-
Methods for finding and analyzing dependencies to determine impact scope.
|
|
4
|
-
|
|
5
|
-
## Inspection Strategies
|
|
6
|
-
|
|
7
|
-
### 1. Import Analysis (Direct Dependencies)
|
|
8
|
-
|
|
9
|
-
Find files that import the modified code:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
# JavaScript/TypeScript
|
|
13
|
-
grep -r "from ['\"].*{module-name}" src/
|
|
14
|
-
grep -r "import.*{module-name}" src/
|
|
15
|
-
grep -r "require(['\"].*{module-name}" src/
|
|
16
|
-
|
|
17
|
-
# Python
|
|
18
|
-
grep -r "from {module} import" src/
|
|
19
|
-
grep -r "import {module}" src/
|
|
20
|
-
|
|
21
|
-
# Go
|
|
22
|
-
grep -r "import.*{package}" .
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Example:**
|
|
26
|
-
```bash
|
|
27
|
-
# Changed: src/utils/auth.ts
|
|
28
|
-
# Find who imports it:
|
|
29
|
-
grep -r "from.*utils/auth" src/
|
|
30
|
-
|
|
31
|
-
# Output:
|
|
32
|
-
# src/api/users.ts:import { verifyToken } from '@/utils/auth'
|
|
33
|
-
# src/middleware/auth.ts:import { verifyToken } from '@/utils/auth'
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### 2. Function/Class Usage (Reverse Dependencies)
|
|
37
|
-
|
|
38
|
-
Find where functions/classes are used:
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
# Function calls
|
|
42
|
-
grep -r "{function-name}(" src/
|
|
43
|
-
|
|
44
|
-
# Class instantiation
|
|
45
|
-
grep -r "new {ClassName}" src/
|
|
46
|
-
|
|
47
|
-
# Method calls
|
|
48
|
-
grep -r "\.{method-name}(" src/
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**Example:**
|
|
52
|
-
```bash
|
|
53
|
-
# Changed function: validateEmail()
|
|
54
|
-
grep -r "validateEmail(" src/
|
|
55
|
-
|
|
56
|
-
# Output:
|
|
57
|
-
# src/api/auth.ts: if (!validateEmail(email)) {
|
|
58
|
-
# src/components/SignupForm.tsx: const isValid = validateEmail(value)
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### 3. API Endpoint Consumers
|
|
62
|
-
|
|
63
|
-
If backend API is modified, find frontend calls:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
# Fetch/Axios calls
|
|
67
|
-
grep -r "fetch.*['\"].*{endpoint}" src/
|
|
68
|
-
grep -r "axios.*['\"].*{endpoint}" src/
|
|
69
|
-
grep -r "api\.{method}.*{endpoint}" src/
|
|
70
|
-
|
|
71
|
-
# API client methods
|
|
72
|
-
grep -r "api\.(get|post|put|delete).*{endpoint}" src/
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
**Example:**
|
|
76
|
-
```bash
|
|
77
|
-
# Changed: POST /api/users
|
|
78
|
-
grep -r "api/users" src/
|
|
79
|
-
|
|
80
|
-
# Output:
|
|
81
|
-
# src/services/userService.ts: return fetch('/api/users', { method: 'POST' })
|
|
82
|
-
# src/hooks/useUsers.ts: const { data } = useSWR('/api/users')
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### 4. Database Dependencies
|
|
86
|
-
|
|
87
|
-
If database schema is modified:
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
# Table usage
|
|
91
|
-
grep -r "{table_name}" src/
|
|
92
|
-
|
|
93
|
-
# Column usage
|
|
94
|
-
grep -r "{column_name}" src/
|
|
95
|
-
|
|
96
|
-
# Prisma queries
|
|
97
|
-
grep -r "prisma\.{model}\." src/
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**Example:**
|
|
101
|
-
```bash
|
|
102
|
-
# Changed: users table, added 'role' column
|
|
103
|
-
grep -r "users\." src/
|
|
104
|
-
grep -r "\.role" src/
|
|
105
|
-
|
|
106
|
-
# Find queries that need updating
|
|
107
|
-
grep -r "prisma.user.findMany" src/
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### 5. Type/Interface Dependencies
|
|
111
|
-
|
|
112
|
-
Find where types are used:
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
# TypeScript interfaces
|
|
116
|
-
grep -r ":\s*{TypeName}" src/
|
|
117
|
-
grep -r "as {TypeName}" src/
|
|
118
|
-
grep -r "extends {TypeName}" src/
|
|
119
|
-
|
|
120
|
-
# Type imports
|
|
121
|
-
grep -r "import.*type.*{TypeName}" src/
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
**Example:**
|
|
125
|
-
```bash
|
|
126
|
-
# Changed: User interface
|
|
127
|
-
grep -r ": User" src/
|
|
128
|
-
grep -r "as User" src/
|
|
129
|
-
|
|
130
|
-
# Output:
|
|
131
|
-
# src/api/users.ts: const user: User = await getUser()
|
|
132
|
-
# src/components/UserCard.tsx: props: { user: User }
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Using /hapo:inspect for Dependency Inspection
|
|
136
|
-
|
|
137
|
-
When multiple files change, use `/hapo:inspect` for scoped discovery first:
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
/hapo:inspect Inspect dependencies for these changes.
|
|
141
|
-
|
|
142
|
-
Scope:
|
|
143
|
-
- src/api/
|
|
144
|
-
- src/utils/
|
|
145
|
-
- prisma/
|
|
146
|
-
|
|
147
|
-
Changed files:
|
|
148
|
-
- src/api/auth.ts (authentication logic)
|
|
149
|
-
- src/utils/validation.ts (email validation)
|
|
150
|
-
- prisma/schema.prisma (users table)
|
|
151
|
-
|
|
152
|
-
Find:
|
|
153
|
-
1. Files importing these modules
|
|
154
|
-
2. Functions/classes being used
|
|
155
|
-
3. API endpoints affected
|
|
156
|
-
4. Database queries using changed tables
|
|
157
|
-
5. Frontend components calling changed APIs
|
|
158
|
-
6. Test files covering changed code
|
|
159
|
-
|
|
160
|
-
Keep scope narrow. Do not scan repo root.
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
## Dependency Graph
|
|
164
|
-
|
|
165
|
-
### Build Dependency Map
|
|
166
|
-
|
|
167
|
-
```javascript
|
|
168
|
-
// dependency-map.js
|
|
169
|
-
const dependencies = {
|
|
170
|
-
"src/api/auth.ts": {
|
|
171
|
-
directDeps: [
|
|
172
|
-
"src/utils/validation.ts",
|
|
173
|
-
"src/services/userService.ts"
|
|
174
|
-
],
|
|
175
|
-
reverseDeps: [
|
|
176
|
-
"src/middleware/auth.ts",
|
|
177
|
-
"src/api/users.ts"
|
|
178
|
-
],
|
|
179
|
-
integrationPoints: [
|
|
180
|
-
"POST /api/login",
|
|
181
|
-
"POST /api/register"
|
|
182
|
-
]
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
### Visualize Impact
|
|
188
|
-
|
|
189
|
-
```
|
|
190
|
-
src/api/auth.ts (CHANGED)
|
|
191
|
-
├── Direct Dependencies (what it uses)
|
|
192
|
-
│ ├── src/utils/validation.ts
|
|
193
|
-
│ └── src/services/userService.ts
|
|
194
|
-
│
|
|
195
|
-
└── Reverse Dependencies (who uses it)
|
|
196
|
-
├── src/middleware/auth.ts
|
|
197
|
-
│ └── src/api/users.ts (affected)
|
|
198
|
-
│ └── src/api/posts.ts (affected)
|
|
199
|
-
└── src/api/profile.ts (affected)
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Integration Points Analysis
|
|
203
|
-
|
|
204
|
-
### API Endpoints
|
|
205
|
-
|
|
206
|
-
```bash
|
|
207
|
-
# Find route definitions
|
|
208
|
-
grep -r "router\.(get|post|put|delete)" src/api/
|
|
209
|
-
|
|
210
|
-
# Find endpoint usage in frontend
|
|
211
|
-
grep -r "fetch.*api/" src/components/
|
|
212
|
-
grep -r "axios.*api/" src/services/
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
### Event Handlers
|
|
216
|
-
|
|
217
|
-
```bash
|
|
218
|
-
# React event handlers
|
|
219
|
-
grep -r "onClick.*{handler}" src/
|
|
220
|
-
grep -r "onChange.*{handler}" src/
|
|
221
|
-
|
|
222
|
-
# Event emitters
|
|
223
|
-
grep -r "emit(['\"].*{event}" src/
|
|
224
|
-
grep -r "on(['\"].*{event}" src/
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
### State Management
|
|
228
|
-
|
|
229
|
-
```bash
|
|
230
|
-
# Redux actions
|
|
231
|
-
grep -r "dispatch.*{action}" src/
|
|
232
|
-
|
|
233
|
-
# Context usage
|
|
234
|
-
grep -r "useContext.*{Context}" src/
|
|
235
|
-
|
|
236
|
-
# Zustand stores
|
|
237
|
-
grep -r "use{Store}" src/
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
## Automated Inspection Script
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
#!/bin/bash
|
|
244
|
-
# inspect-dependencies.sh
|
|
245
|
-
|
|
246
|
-
CHANGED_FILE=$1
|
|
247
|
-
|
|
248
|
-
echo "=== Dependency inspection for: $CHANGED_FILE ==="
|
|
249
|
-
echo ""
|
|
250
|
-
|
|
251
|
-
# Extract module name
|
|
252
|
-
MODULE_NAME=$(basename "$CHANGED_FILE" | sed 's/\.[^.]*$//')
|
|
253
|
-
|
|
254
|
-
echo "1. Direct Imports:"
|
|
255
|
-
grep -r "from.*$MODULE_NAME" src/ | head -10
|
|
256
|
-
echo ""
|
|
257
|
-
|
|
258
|
-
echo "2. Function Usage:"
|
|
259
|
-
# Extract function names from changed file
|
|
260
|
-
FUNCTIONS=$(grep -E "^(export )?(function|const) \w+" "$CHANGED_FILE" | awk '{print $2}' | sed 's/[=(].*//')
|
|
261
|
-
for func in $FUNCTIONS; do
|
|
262
|
-
echo " - $func:"
|
|
263
|
-
grep -r "$func(" src/ | grep -v "$CHANGED_FILE" | head -5
|
|
264
|
-
done
|
|
265
|
-
echo ""
|
|
266
|
-
|
|
267
|
-
echo "3. Type Usage:"
|
|
268
|
-
TYPES=$(grep -E "^(export )?(interface|type) \w+" "$CHANGED_FILE" | awk '{print $2}')
|
|
269
|
-
for type in $TYPES; do
|
|
270
|
-
echo " - $type:"
|
|
271
|
-
grep -r ": $type" src/ | grep -v "$CHANGED_FILE" | head -5
|
|
272
|
-
done
|
|
273
|
-
echo ""
|
|
274
|
-
|
|
275
|
-
echo "4. API Endpoints (if applicable):"
|
|
276
|
-
grep -E "router\.(get|post|put|delete)" "$CHANGED_FILE" | while read line; do
|
|
277
|
-
ENDPOINT=$(echo "$line" | grep -oE "['\"][^'\"]+['\"]" | head -1 | tr -d "'\"")
|
|
278
|
-
echo " - $ENDPOINT:"
|
|
279
|
-
grep -r "$ENDPOINT" src/ | grep -v "$CHANGED_FILE" | head -5
|
|
280
|
-
done
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
## Output Format
|
|
284
|
-
|
|
285
|
-
```json
|
|
286
|
-
{
|
|
287
|
-
"changedFile": "src/api/auth.ts",
|
|
288
|
-
"dependencies": {
|
|
289
|
-
"direct": [
|
|
290
|
-
{
|
|
291
|
-
"file": "src/utils/validation.ts",
|
|
292
|
-
"imports": ["validateEmail", "validatePassword"],
|
|
293
|
-
"risk": "medium"
|
|
294
|
-
}
|
|
295
|
-
],
|
|
296
|
-
"reverse": [
|
|
297
|
-
{
|
|
298
|
-
"file": "src/middleware/auth.ts",
|
|
299
|
-
"uses": ["verifyToken", "refreshToken"],
|
|
300
|
-
"impact": "high",
|
|
301
|
-
"reason": "Authentication middleware affected"
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
"file": "src/api/users.ts",
|
|
305
|
-
"uses": ["verifyToken"],
|
|
306
|
-
"impact": "medium",
|
|
307
|
-
"reason": "User API needs auth"
|
|
308
|
-
}
|
|
309
|
-
],
|
|
310
|
-
"integrationPoints": [
|
|
311
|
-
{
|
|
312
|
-
"type": "api",
|
|
313
|
-
"endpoint": "POST /api/login",
|
|
314
|
-
"consumers": [
|
|
315
|
-
"src/components/LoginForm.tsx",
|
|
316
|
-
"src/services/authService.ts"
|
|
317
|
-
]
|
|
318
|
-
}
|
|
319
|
-
]
|
|
320
|
-
},
|
|
321
|
-
"affectedComponents": 8,
|
|
322
|
-
"riskLevel": "high"
|
|
323
|
-
}
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
## Best Practices
|
|
327
|
-
|
|
328
|
-
1. **Start with direct imports** - Easiest to find
|
|
329
|
-
2. **Use parallel inspection** - For multiple files
|
|
330
|
-
3. **Check integration points** - APIs, events, state
|
|
331
|
-
4. **Verify test coverage** - Find test files
|
|
332
|
-
5. **Document findings** - For test scenario generation
|
|
333
|
-
|
|
334
|
-
## Next Steps
|
|
335
|
-
|
|
336
|
-
After inspection, proceed to:
|
|
337
|
-
1. **Edge Case Identification** - Analyze risks in affected files
|
|
338
|
-
2. **Test Scenario Generation** - Create tests for affected components
|