@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.
Files changed (36) hide show
  1. package/README.md +7 -3
  2. package/dist/src/cli/runAcceptance.d.ts +2 -1
  3. package/dist/src/cli/runAcceptance.js +33 -2
  4. package/dist/src/contracts/toolOutput.d.ts +6 -6
  5. package/dist/src/contracts/toolOutput.js +8 -4
  6. package/dist/src/domain/analyzeDiffImpact.d.ts +1 -1
  7. package/dist/src/domain/analyzeDiffImpact.js +14 -4
  8. package/dist/src/domain/analyzeTestGaps.d.ts +1 -1
  9. package/dist/src/domain/analyzeTestGaps.js +13 -1
  10. package/dist/src/domain/buildRerunScope.d.ts +1 -1
  11. package/dist/src/domain/buildRerunScope.js +6 -1
  12. package/dist/src/domain/buildSetupTeardownPlan.d.ts +1 -1
  13. package/dist/src/domain/findBackendTestContext.d.ts +1 -1
  14. package/dist/src/domain/findBackendTestContext.js +100 -15
  15. package/dist/src/domain/findExistingTestAssets.d.ts +1 -1
  16. package/dist/src/domain/findFrontendContract.d.ts +1 -1
  17. package/dist/src/domain/findFrontendRuntimeLogic.d.ts +1 -1
  18. package/dist/src/domain/findTestAreaContext.d.ts +1 -1
  19. package/dist/src/domain/generateSpecBlueprint.d.ts +1 -1
  20. package/dist/src/domain/mapFeatureToExistingCoverage.d.ts +1 -1
  21. package/dist/src/domain/recommendSelectorStrategy.d.ts +1 -1
  22. package/dist/src/domain/reviewTestDraft.d.ts +26 -0
  23. package/dist/src/domain/reviewTestDraft.js +226 -0
  24. package/dist/src/domain/shared.js +15 -2
  25. package/dist/src/domain/summarizeCiContext.d.ts +1 -1
  26. package/dist/src/domain/triageFailedRun.d.ts +1 -1
  27. package/dist/src/domain/triageFailedRun.js +14 -3
  28. package/dist/src/indexer/extractors/frontendContractExtractor.js +47 -3
  29. package/dist/src/indexer/refreshPipeline.d.ts +10 -0
  30. package/dist/src/indexer/refreshPipeline.js +38 -8
  31. package/dist/src/mcp/registerTools.js +12 -0
  32. package/dist/src/utils/pathUtils.d.ts +3 -0
  33. package/dist/src/utils/pathUtils.js +29 -0
  34. package/docs/audits/2026-04-20-iteration-1.md +251 -0
  35. package/docs/audits/2026-04-20-iteration-2-comprehensive.md +563 -0
  36. 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