@axiomatic-labs/claudeflow 2.32.4 → 2.32.5
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/lib/panel.js +25 -9
- package/package.json +1 -1
package/lib/panel.js
CHANGED
|
@@ -230,16 +230,32 @@ function getSetupContextInfo(cwd) {
|
|
|
230
230
|
try { ctx = JSON.parse(fs.readFileSync(p, 'utf8')); }
|
|
231
231
|
catch { return { exists: false, path: p }; }
|
|
232
232
|
|
|
233
|
-
|
|
233
|
+
// Canonical evidence types per test-tooling-schema.md: the 5 binary `_test`
|
|
234
|
+
// types + the 2 observational `_verification` types. (benchmark /
|
|
235
|
+
// exploratory_test are conditional — triggered only by PERFORMANCE_CHANGE or
|
|
236
|
+
// unmeasurable correctness — so they are NOT required for "complete".)
|
|
237
|
+
// Source of truth: .claude/skills/claudeflow-init/references/test-tooling-schema.md.
|
|
238
|
+
const canonicalToolingTypes = [
|
|
239
|
+
'unit_test',
|
|
240
|
+
'integration_test',
|
|
241
|
+
'api_contract_test',
|
|
242
|
+
'e2e_test',
|
|
243
|
+
'security_test',
|
|
244
|
+
'browser_verification',
|
|
245
|
+
'visual_verification',
|
|
246
|
+
];
|
|
234
247
|
const tooling = ctx.test_tooling || {};
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
248
|
+
// An entry is "defined" when it is shell-backed (`command_pattern`) OR
|
|
249
|
+
// Skill-backed (`invocation`). browser_verification is Skill-backed and
|
|
250
|
+
// legitimately carries NO command_pattern, so a command_pattern-only check
|
|
251
|
+
// would false-flag it as missing.
|
|
252
|
+
const isToolingDefined = (e) =>
|
|
253
|
+
e &&
|
|
254
|
+
typeof e === 'object' &&
|
|
255
|
+
((typeof e.command_pattern === 'string' && e.command_pattern.trim()) ||
|
|
256
|
+
(typeof e.invocation === 'string' && e.invocation.trim()));
|
|
257
|
+
const toolingComplete = canonicalToolingTypes.every((t) => isToolingDefined(tooling[t]));
|
|
258
|
+
const missingTooling = canonicalToolingTypes.filter((t) => !isToolingDefined(tooling[t]));
|
|
243
259
|
|
|
244
260
|
return {
|
|
245
261
|
exists: true,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axiomatic-labs/claudeflow",
|
|
3
|
-
"version": "2.32.
|
|
3
|
+
"version": "2.32.5",
|
|
4
4
|
"description": "Claudeflow — AI-powered development toolkit for Claude Code. Skills, agents, hooks, and quality gates that ship production apps.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"claudeflow": "./bin/cli.js"
|