@mknrt/autotests-overkill 1.1.4 → 1.2.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 +7 -3
- package/dist/src/cli/runAcceptance.d.ts +2 -1
- package/dist/src/cli/runAcceptance.js +33 -2
- package/dist/src/contracts/toolOutput.d.ts +6 -6
- package/dist/src/contracts/toolOutput.js +8 -4
- package/dist/src/domain/analyzeDiffImpact.d.ts +1 -1
- package/dist/src/domain/analyzeDiffImpact.js +14 -4
- package/dist/src/domain/analyzeTestGaps.d.ts +1 -1
- package/dist/src/domain/analyzeTestGaps.js +13 -1
- package/dist/src/domain/buildRerunScope.d.ts +1 -1
- package/dist/src/domain/buildRerunScope.js +6 -1
- package/dist/src/domain/buildSetupTeardownPlan.d.ts +1 -1
- package/dist/src/domain/findBackendTestContext.d.ts +1 -1
- package/dist/src/domain/findBackendTestContext.js +100 -15
- package/dist/src/domain/findExistingTestAssets.d.ts +1 -1
- package/dist/src/domain/findFrontendContract.d.ts +1 -1
- package/dist/src/domain/findFrontendRuntimeLogic.d.ts +1 -1
- package/dist/src/domain/findTestAreaContext.d.ts +1 -1
- package/dist/src/domain/generateSpecBlueprint.d.ts +1 -1
- package/dist/src/domain/mapFeatureToExistingCoverage.d.ts +1 -1
- package/dist/src/domain/recommendSelectorStrategy.d.ts +1 -1
- package/dist/src/domain/reviewTestDraft.d.ts +26 -0
- package/dist/src/domain/reviewTestDraft.js +226 -0
- package/dist/src/domain/shared.js +15 -2
- package/dist/src/domain/summarizeCiContext.d.ts +1 -1
- package/dist/src/domain/triageFailedRun.d.ts +1 -1
- package/dist/src/domain/triageFailedRun.js +14 -3
- package/dist/src/indexer/extractors/frontendContractExtractor.js +47 -3
- package/dist/src/indexer/refreshPipeline.d.ts +10 -0
- package/dist/src/indexer/refreshPipeline.js +38 -8
- package/dist/src/mcp/registerTools.js +12 -0
- package/dist/src/utils/pathUtils.d.ts +3 -0
- package/dist/src/utils/pathUtils.js +29 -0
- package/docs/audits/2026-04-20-iteration-1.md +251 -0
- package/docs/audits/2026-04-20-iteration-2-comprehensive.md +563 -0
- package/package.json +2 -1
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
# Audit Iteration 1
|
|
2
|
+
|
|
3
|
+
Date: 2026-04-20
|
|
4
|
+
|
|
5
|
+
## Goal
|
|
6
|
+
|
|
7
|
+
Evaluate the current state of `autotests-overkill` as a strong assistant for:
|
|
8
|
+
|
|
9
|
+
- test design
|
|
10
|
+
- test drafting
|
|
11
|
+
- test debugging
|
|
12
|
+
- coverage and impact analysis
|
|
13
|
+
|
|
14
|
+
This first iteration focuses on architectural quality, product readiness, verification coverage, portability, and obvious drift risks.
|
|
15
|
+
|
|
16
|
+
## Scope
|
|
17
|
+
|
|
18
|
+
Reviewed:
|
|
19
|
+
|
|
20
|
+
- product docs and positioning
|
|
21
|
+
- MCP and CLI entrypoints
|
|
22
|
+
- domain and indexing architecture
|
|
23
|
+
- bundled skills
|
|
24
|
+
- package and plugin manifests
|
|
25
|
+
- current verification commands
|
|
26
|
+
- representative tests
|
|
27
|
+
|
|
28
|
+
Key files reviewed:
|
|
29
|
+
|
|
30
|
+
- `README.md`
|
|
31
|
+
- `package.json`
|
|
32
|
+
- `.codex-plugin/plugin.json`
|
|
33
|
+
- `.mcp.json`
|
|
34
|
+
- `src/mcp/registerTools.ts`
|
|
35
|
+
- `src/mcp/server.ts`
|
|
36
|
+
- `src/indexer/refreshPipeline.ts`
|
|
37
|
+
- `src/contracts/toolOutput.ts`
|
|
38
|
+
- `src/contracts/confidence.ts`
|
|
39
|
+
- `src/cli/runAcceptance.ts`
|
|
40
|
+
- `docs/architecture/overview.md`
|
|
41
|
+
|
|
42
|
+
## Verified State
|
|
43
|
+
|
|
44
|
+
The following command was run during the audit:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm run verify
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Observed result:
|
|
51
|
+
|
|
52
|
+
- TypeScript lint passed
|
|
53
|
+
- Vitest suite passed
|
|
54
|
+
- Build passed
|
|
55
|
+
- `75` tests passed across `40` test files
|
|
56
|
+
|
|
57
|
+
This means the repository is currently in a healthy technical state at the baseline verification level.
|
|
58
|
+
|
|
59
|
+
## Strong Areas
|
|
60
|
+
|
|
61
|
+
### 1. Clear architecture
|
|
62
|
+
|
|
63
|
+
The project already has a strong boundary model:
|
|
64
|
+
|
|
65
|
+
- connectors gather evidence
|
|
66
|
+
- indexers normalize and persist it
|
|
67
|
+
- domain services compose outputs
|
|
68
|
+
- MCP exposes narrow, composable tools
|
|
69
|
+
|
|
70
|
+
This is one of the strongest parts of the repository because it matches the actual product goal: helping an agent reason about tests without silently editing consumer repositories.
|
|
71
|
+
|
|
72
|
+
Relevant files:
|
|
73
|
+
|
|
74
|
+
- `docs/architecture/overview.md`
|
|
75
|
+
- `src/indexer/refreshPipeline.ts`
|
|
76
|
+
- `src/mcp/registerTools.ts`
|
|
77
|
+
|
|
78
|
+
### 2. Strong normalized tool contract
|
|
79
|
+
|
|
80
|
+
The unified output shape is a major strength:
|
|
81
|
+
|
|
82
|
+
- `summary`
|
|
83
|
+
- `evidence`
|
|
84
|
+
- `recommended_actions`
|
|
85
|
+
- `repo_paths`
|
|
86
|
+
- `confidence`
|
|
87
|
+
- `warnings`
|
|
88
|
+
|
|
89
|
+
This makes the project much more reliable as an LLM-facing tool platform because every MCP tool returns a predictable structure.
|
|
90
|
+
|
|
91
|
+
Relevant files:
|
|
92
|
+
|
|
93
|
+
- `src/contracts/toolOutput.ts`
|
|
94
|
+
- `src/contracts/confidence.ts`
|
|
95
|
+
- `src/domain/shared.ts`
|
|
96
|
+
|
|
97
|
+
### 3. Good product stance
|
|
98
|
+
|
|
99
|
+
The platform consistently keeps the right operating boundary:
|
|
100
|
+
|
|
101
|
+
- analyze
|
|
102
|
+
- explain
|
|
103
|
+
- draft
|
|
104
|
+
- suggest
|
|
105
|
+
- do not silently mutate consumer repositories
|
|
106
|
+
|
|
107
|
+
That principle is visible in README, skills, and domain behavior. This is important because it makes the tool safer and more trustworthy in real engineering workflows.
|
|
108
|
+
|
|
109
|
+
Relevant files:
|
|
110
|
+
|
|
111
|
+
- `README.md`
|
|
112
|
+
- `skills/overkill-generate-test/SKILL.md`
|
|
113
|
+
- `skills/overkill-onboard/SKILL.md`
|
|
114
|
+
|
|
115
|
+
### 4. Better-than-average verification mindset
|
|
116
|
+
|
|
117
|
+
The project does not stop at unit-level checks. It already includes:
|
|
118
|
+
|
|
119
|
+
- docs checks
|
|
120
|
+
- packaging checks
|
|
121
|
+
- MCP handshake coverage
|
|
122
|
+
- acceptance-style checks for coverage, blueprint, failure triage, and impact analysis
|
|
123
|
+
|
|
124
|
+
That is a strong base for a tool whose value is mostly in workflow quality and output usefulness.
|
|
125
|
+
|
|
126
|
+
Relevant files:
|
|
127
|
+
|
|
128
|
+
- `tests/mcp/stdioHandshake.test.ts`
|
|
129
|
+
- `tests/docs/pluginManifest.test.ts`
|
|
130
|
+
- `tests/docs/packageManifest.test.ts`
|
|
131
|
+
- `tests/cli/runAcceptance.test.ts`
|
|
132
|
+
|
|
133
|
+
## Weak Areas
|
|
134
|
+
|
|
135
|
+
### 1. Release metadata drift
|
|
136
|
+
|
|
137
|
+
There is already visible drift between package, plugin, and MCP metadata.
|
|
138
|
+
|
|
139
|
+
Observed examples:
|
|
140
|
+
|
|
141
|
+
- `package.json` version: `1.1.5`
|
|
142
|
+
- `.codex-plugin/plugin.json` version: `1.1.0`
|
|
143
|
+
- `src/mcp/server.ts` version: `1.1.0`
|
|
144
|
+
|
|
145
|
+
There is also identity drift in plugin metadata:
|
|
146
|
+
|
|
147
|
+
- plugin manifest still points to `openai.com`
|
|
148
|
+
- plugin manifest still points to `https://github.com/openai/plugins`
|
|
149
|
+
- plugin manifest still uses `OpenAI Codex` as project author/developer identity
|
|
150
|
+
|
|
151
|
+
Why this matters:
|
|
152
|
+
|
|
153
|
+
- packaging looks less trustworthy
|
|
154
|
+
- plugin identity is partially incorrect
|
|
155
|
+
- release information can become misleading for users and tooling
|
|
156
|
+
|
|
157
|
+
Relevant files:
|
|
158
|
+
|
|
159
|
+
- `package.json`
|
|
160
|
+
- `.codex-plugin/plugin.json`
|
|
161
|
+
- `src/mcp/server.ts`
|
|
162
|
+
|
|
163
|
+
### 2. Poor portability
|
|
164
|
+
|
|
165
|
+
The project currently contains machine-specific assumptions that reduce reliability outside the current workstation.
|
|
166
|
+
|
|
167
|
+
Observed examples:
|
|
168
|
+
|
|
169
|
+
- `.mcp.json` contains hardcoded `cwd: C:\\gitrep\\autotests-overkill`
|
|
170
|
+
- docs repeat that exact local path
|
|
171
|
+
- tests assert that exact path
|
|
172
|
+
- test helpers assume `C:/gitrep/autotests2` and `C:/gitrep/caseplatform-web`
|
|
173
|
+
|
|
174
|
+
Why this matters:
|
|
175
|
+
|
|
176
|
+
- local checkout usage is brittle
|
|
177
|
+
- plugin packaging is less reusable
|
|
178
|
+
- tests are tightly coupled to one environment shape
|
|
179
|
+
- onboarding quality drops sharply outside the author machine
|
|
180
|
+
|
|
181
|
+
Relevant files:
|
|
182
|
+
|
|
183
|
+
- `.mcp.json`
|
|
184
|
+
- `docs/plugin-packaging.md`
|
|
185
|
+
- `tests/docs/pluginManifest.test.ts`
|
|
186
|
+
- `tests/helpers/testContext.ts`
|
|
187
|
+
|
|
188
|
+
### 3. Verify command does not fully protect the product promise
|
|
189
|
+
|
|
190
|
+
The docs position `mcp:smoke` and acceptance commands as important proof of installation and behavior, but `npm run verify` currently includes only:
|
|
191
|
+
|
|
192
|
+
- lint
|
|
193
|
+
- test
|
|
194
|
+
- build
|
|
195
|
+
|
|
196
|
+
This is not broken, but it does leave a gap between:
|
|
197
|
+
|
|
198
|
+
- what the product says matters
|
|
199
|
+
- what the main verification gate actually enforces
|
|
200
|
+
|
|
201
|
+
Why this matters:
|
|
202
|
+
|
|
203
|
+
- release confidence depends on social discipline instead of automation
|
|
204
|
+
- MCP/package workflow regressions may survive longer than necessary
|
|
205
|
+
- product-level trust is slightly weaker than the current architecture deserves
|
|
206
|
+
|
|
207
|
+
Relevant files:
|
|
208
|
+
|
|
209
|
+
- `README.md`
|
|
210
|
+
- `docs/operator-cookbook.md`
|
|
211
|
+
- `package.json`
|
|
212
|
+
|
|
213
|
+
## Assessment
|
|
214
|
+
|
|
215
|
+
This repository is already a strong first-generation foundation for an AI-assisted testing platform. Its strongest qualities are:
|
|
216
|
+
|
|
217
|
+
- disciplined architecture
|
|
218
|
+
- evidence-first tool outputs
|
|
219
|
+
- strong problem framing
|
|
220
|
+
- good initial verification culture
|
|
221
|
+
|
|
222
|
+
Its most important current risks are not algorithmic quality failures or test instability. The higher-priority risks are:
|
|
223
|
+
|
|
224
|
+
- release/metadata drift
|
|
225
|
+
- portability problems
|
|
226
|
+
- incomplete automation around product-level verification
|
|
227
|
+
|
|
228
|
+
In other words: the core is promising, but the outer delivery shell is weaker than the inner design.
|
|
229
|
+
|
|
230
|
+
## Recommended Next Iteration
|
|
231
|
+
|
|
232
|
+
Recommended focus for the next improvement cycle:
|
|
233
|
+
|
|
234
|
+
`operability / release integrity`
|
|
235
|
+
|
|
236
|
+
That iteration should prioritize:
|
|
237
|
+
|
|
238
|
+
1. Synchronizing package, plugin, and MCP versions and identity metadata
|
|
239
|
+
2. Reducing machine-specific assumptions in MCP packaging and test setup
|
|
240
|
+
3. Adding anti-drift checks so metadata divergence is caught automatically
|
|
241
|
+
4. Strengthening the verification gate around packaging and MCP operability
|
|
242
|
+
|
|
243
|
+
## Short Conclusion
|
|
244
|
+
|
|
245
|
+
Iteration 1 verdict:
|
|
246
|
+
|
|
247
|
+
- the project is technically healthy
|
|
248
|
+
- the architecture is strong
|
|
249
|
+
- the product direction is correct
|
|
250
|
+
- the most valuable next work is not feature expansion
|
|
251
|
+
- the most valuable next work is making the platform more portable, more release-safe, and harder to drift out of sync
|