@claude-flow/cli 3.32.25 → 3.32.29
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/.claude/helpers/.helpers-version +1 -1
- package/.claude/helpers/auto-memory-hook.mjs +430 -430
- package/.claude/helpers/helpers.manifest.json +6 -6
- package/.claude/helpers/hook-handler.cjs +565 -565
- package/.claude/helpers/intelligence.cjs +1058 -1058
- package/.claude/helpers/statusline.cjs +1060 -1060
- package/catalog-manifest.json +4 -4
- package/dist/src/commands/index.d.ts +1 -0
- package/dist/src/commands/index.js +5 -3
- package/dist/src/commands/memory.js +49 -5
- package/dist/src/commands/metaharness.js +100 -2
- package/dist/src/commands/policy.d.ts +4 -0
- package/dist/src/commands/policy.js +107 -0
- package/dist/src/index.js +18 -0
- package/dist/src/mcp-client.js +25 -1
- package/dist/src/mcp-tools/capability-brain.d.ts +134 -0
- package/dist/src/mcp-tools/capability-brain.js +697 -0
- package/dist/src/mcp-tools/guidance-tools.d.ts +2 -0
- package/dist/src/mcp-tools/guidance-tools.js +369 -37
- package/dist/src/mcp-tools/index.d.ts +4 -1
- package/dist/src/mcp-tools/index.js +3 -1
- package/dist/src/mcp-tools/memory-tools.js +26 -0
- package/dist/src/mcp-tools/metaharness-tools.js +106 -1
- package/dist/src/mcp-tools/policy-tools.d.ts +3 -0
- package/dist/src/mcp-tools/policy-tools.js +121 -0
- package/dist/src/memory/memory-bridge.d.ts +11 -0
- package/dist/src/memory/memory-bridge.js +100 -21
- package/dist/src/memory/memory-initializer.d.ts +22 -1
- package/dist/src/memory/memory-initializer.js +184 -39
- package/dist/src/services/bounded-worker-pool.d.ts +28 -0
- package/dist/src/services/bounded-worker-pool.js +90 -0
- package/dist/src/services/flywheel-proposer.d.ts +87 -0
- package/dist/src/services/flywheel-proposer.js +165 -0
- package/dist/src/services/flywheel-receipt.d.ts +136 -0
- package/dist/src/services/flywheel-receipt.js +309 -0
- package/dist/src/services/flywheel-transaction.d.ts +77 -0
- package/dist/src/services/flywheel-transaction.js +378 -0
- package/dist/src/services/harness-flywheel-runtime.d.ts +11 -0
- package/dist/src/services/harness-flywheel-runtime.js +85 -2
- package/dist/src/services/harness-flywheel.d.ts +27 -1
- package/dist/src/services/harness-flywheel.js +138 -27
- package/dist/src/services/policy-runtime.d.ts +38 -0
- package/dist/src/services/policy-runtime.js +340 -0
- package/package.json +23 -5
- package/plugins/ruflo-metaharness/scripts/smoke.sh +22 -14
- package/plugins/ruflo-metaharness/scripts/test-mcp-tools.mjs +3 -1
- package/.claude/.proven-config-version +0 -1
- package/.claude/proven-config.json +0 -42
|
@@ -21,6 +21,7 @@ TOOLS_SRC="$ROOT/../../v3/@claude-flow/cli/src/mcp-tools/metaharness-tools.ts"
|
|
|
21
21
|
SUBS_SRC="$ROOT/../../v3/@claude-flow/cli/src/commands/metaharness.ts"
|
|
22
22
|
EXPECTED_TOOLS=$(grep -cE "name: 'metaharness_" "$TOOLS_SRC" 2>/dev/null; true)
|
|
23
23
|
EXPECTED_SUBS=$(grep -cE "^[[:space:]]+'?[a-z-]+'?:[[:space:]]*'[a-z-]+\.mjs'" "$SUBS_SRC" 2>/dev/null; true)
|
|
24
|
+
EXPECTED_IN_PROCESS_TOOLS=1 # ADR-322 metaharness_flywheel
|
|
24
25
|
: "${EXPECTED_TOOLS:=0}"
|
|
25
26
|
: "${EXPECTED_SUBS:=0}"
|
|
26
27
|
|
|
@@ -883,11 +884,17 @@ for f in $REFS; do
|
|
|
883
884
|
COUNT=$((COUNT + 1))
|
|
884
885
|
[[ -f "$SCRIPTS_DIR/$f" ]] || miss="$miss mcp-script-${f}-missing"
|
|
885
886
|
done
|
|
886
|
-
# One unique runScript() ref per MCP tool (mint deliberately
|
|
887
|
+
# One unique runScript() ref per subprocess-backed MCP tool (mint deliberately
|
|
888
|
+
# excluded). ADR-322's metaharness_flywheel is intentionally in-process so
|
|
889
|
+
# evaluation cancellation and atomic promotion share the CLI transaction code.
|
|
887
890
|
# Cross-aspect check: runScript('*.mjs') call sites vs the derived
|
|
888
|
-
# `name: 'metaharness_*'` declaration count
|
|
889
|
-
#
|
|
890
|
-
|
|
891
|
+
# `name: 'metaharness_*'` declaration count minus the explicitly governed
|
|
892
|
+
# in-process surface.
|
|
893
|
+
EXPECTED_SCRIPT_TOOLS=$((EXPECTED_TOOLS - EXPECTED_IN_PROCESS_TOOLS))
|
|
894
|
+
[[ "$COUNT" == "$EXPECTED_SCRIPT_TOOLS" ]] || miss="$miss mcp-script-count-stale:$COUNT-expected-$EXPECTED_SCRIPT_TOOLS"
|
|
895
|
+
grep -q "name: 'metaharness_flywheel'" "$WRAPPER" 2>/dev/null || miss="$miss no-in-process-flywheel"
|
|
896
|
+
grep -q "runFlywheelWorker" "$WRAPPER" 2>/dev/null || miss="$miss no-flywheel-evaluator"
|
|
897
|
+
grep -q "promoteFlywheelCandidate" "$WRAPPER" 2>/dev/null || miss="$miss no-flywheel-promoter"
|
|
891
898
|
[[ -z "$miss" ]] && ok || bad "$miss"
|
|
892
899
|
|
|
893
900
|
step "17z52. SUBCOMMANDS map entries point at existing script files (iter 89)"
|
|
@@ -1696,11 +1703,11 @@ CODE=$?
|
|
|
1696
1703
|
step "17z9. MCP success-semantic footnote + audit_trend file inputs (iter 46)"
|
|
1697
1704
|
miss=""
|
|
1698
1705
|
WRAPPER="$ROOT/../../v3/@claude-flow/cli/src/mcp-tools/metaharness-tools.ts"
|
|
1699
|
-
# Success-semantic constant declared + appended to
|
|
1700
|
-
#
|
|
1701
|
-
# the
|
|
1706
|
+
# Success-semantic constant declared + appended to every subprocess-backed
|
|
1707
|
+
# tool description. The in-process flywheel has its own transaction semantics,
|
|
1708
|
+
# so total occurrences equal the total tool count (1 constant + N-1 tools).
|
|
1702
1709
|
COUNT=$(grep -c "MCP_SUCCESS_SEMANTIC" "$WRAPPER" 2>/dev/null; true)
|
|
1703
|
-
[[ "$COUNT" == "$
|
|
1710
|
+
[[ "$COUNT" == "$EXPECTED_TOOLS" ]] || miss="$miss footnote-count:$COUNT-expected-$EXPECTED_TOOLS"
|
|
1704
1711
|
# audit_trend now exposes baselineFile / currentFile
|
|
1705
1712
|
grep -q "baselineFile" "$WRAPPER" 2>/dev/null || miss="$miss no-baseline-file"
|
|
1706
1713
|
grep -q "currentFile" "$WRAPPER" 2>/dev/null || miss="$miss no-current-file"
|
|
@@ -1738,9 +1745,10 @@ grep -q "success = exitCode === 0" "$WRAPPER" 2>/dev/null || miss="$miss no-exit
|
|
|
1738
1745
|
COUNT_OLD=$(grep -c "success: !r.degraded" "$WRAPPER" 2>/dev/null; true)
|
|
1739
1746
|
[[ "$COUNT_OLD" == "0" ]] || miss="$miss old-pattern-still-present:$COUNT_OLD"
|
|
1740
1747
|
COUNT_NEW=$(grep -c "success: r.success" "$WRAPPER" 2>/dev/null; true)
|
|
1741
|
-
# One `success: r.success` per handler
|
|
1742
|
-
#
|
|
1743
|
-
|
|
1748
|
+
# One `success: r.success` per subprocess-backed handler. The in-process
|
|
1749
|
+
# flywheel derives success from evaluation/promotion transaction results.
|
|
1750
|
+
EXPECTED_SCRIPT_TOOLS=$((EXPECTED_TOOLS - EXPECTED_IN_PROCESS_TOOLS))
|
|
1751
|
+
[[ "$COUNT_NEW" == "$EXPECTED_SCRIPT_TOOLS" ]] || miss="$miss new-pattern-count:$COUNT_NEW-expected-$EXPECTED_SCRIPT_TOOLS"
|
|
1744
1752
|
# Runtime anchors: iter 44 success assertions present
|
|
1745
1753
|
T="$ROOT/scripts/test-mcp-tools.mjs"
|
|
1746
1754
|
grep -q "iter 44 fix" "$T" 2>/dev/null || miss="$miss no-iter44-anchors"
|
|
@@ -2099,10 +2107,10 @@ grep -q "result has 'success'" "$F" || miss="$miss no-success-assertion"
|
|
|
2099
2107
|
grep -q "result has 'data'" "$F" || miss="$miss no-data-assertion"
|
|
2100
2108
|
grep -q "result has 'degraded'" "$F" || miss="$miss no-degraded-assertion"
|
|
2101
2109
|
grep -q "result has 'exitCode'" "$F" || miss="$miss no-exitcode-assertion"
|
|
2102
|
-
# All
|
|
2110
|
+
# All tool names enumerated (similarity iter 36, drift_from_history iter 54,
|
|
2103
2111
|
# ADR-153 added bench/evolve/security_bench, @metaharness/redblue added redblue,
|
|
2104
|
-
# metaharness@0.3.0/darwin@0.8.0 added learn + gepa)
|
|
2105
|
-
for tool in metaharness_score metaharness_genome metaharness_mcp_scan metaharness_threat_model metaharness_oia_audit metaharness_audit_list metaharness_audit_trend metaharness_similarity metaharness_drift_from_history metaharness_bench metaharness_evolve metaharness_security_bench metaharness_redblue metaharness_learn metaharness_gepa; do
|
|
2112
|
+
# metaharness@0.3.0/darwin@0.8.0 added learn + gepa, ADR-322 added flywheel)
|
|
2113
|
+
for tool in metaharness_score metaharness_genome metaharness_mcp_scan metaharness_threat_model metaharness_oia_audit metaharness_audit_list metaharness_audit_trend metaharness_similarity metaharness_drift_from_history metaharness_bench metaharness_evolve metaharness_security_bench metaharness_redblue metaharness_learn metaharness_gepa metaharness_flywheel; do
|
|
2106
2114
|
grep -q "${tool}" "$F" || miss="$miss missing-${tool}"
|
|
2107
2115
|
done
|
|
2108
2116
|
# test-mcp-tools.mjs keeps its own hardcoded `tools.length === N` literal —
|
|
@@ -74,7 +74,7 @@ async function main() {
|
|
|
74
74
|
// ──────────────────────────────────────────────────────────────────
|
|
75
75
|
console.log('Phase 1 — module shape');
|
|
76
76
|
assert(Array.isArray(tools), 'metaharnessTools is an array');
|
|
77
|
-
assert(tools.length ===
|
|
77
|
+
assert(tools.length === 16, `16 tools registered (got ${tools.length})`);
|
|
78
78
|
|
|
79
79
|
const expectedNames = new Set([
|
|
80
80
|
'metaharness_score',
|
|
@@ -98,6 +98,8 @@ async function main() {
|
|
|
98
98
|
'metaharness_learn',
|
|
99
99
|
// @metaharness/darwin@0.8.0 — GEPA library surface (genome ops)
|
|
100
100
|
'metaharness_gepa',
|
|
101
|
+
// ADR-322 — in-process governed evaluation and atomic promotion
|
|
102
|
+
'metaharness_flywheel',
|
|
101
103
|
]);
|
|
102
104
|
const actualNames = new Set(tools.map((t) => t.name));
|
|
103
105
|
for (const name of expectedNames) {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
sha256:6141a8ea990c5063b77e090ae8f37f9c539d8aa8f58dcceb30f3a82f97e57319
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"adoptedAt": 1785250806308,
|
|
3
|
-
"championId": "sha256:6141a8ea990c5063b77e090ae8f37f9c539d8aa8f58dcceb30f3a82f97e57319",
|
|
4
|
-
"manifest": {
|
|
5
|
-
"schema": "ruflo.proven-config/v1",
|
|
6
|
-
"policy": {
|
|
7
|
-
"ref": "sha256:6141a8ea990c5063b77e090ae8f37f9c539d8aa8f58dcceb30f3a82f97e57319",
|
|
8
|
-
"value": {
|
|
9
|
-
"alpha": 0.3,
|
|
10
|
-
"subjectWeight": 1,
|
|
11
|
-
"mmrLambda": 0.5,
|
|
12
|
-
"bodyWeight": 1.5,
|
|
13
|
-
"typePenaltyFactor": 0.5
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
"layer": "framework/node-cli",
|
|
17
|
-
"compatibility": {
|
|
18
|
-
"ruflo": ">=3.24.0"
|
|
19
|
-
},
|
|
20
|
-
"benchmark": {
|
|
21
|
-
"corpus": "ADR-081-labelled-v1",
|
|
22
|
-
"corpusHash": "sha256:2f700b5c363e20a3bd88ce2bc9b87bbbbaa61732c6177894c6ec37890f888982"
|
|
23
|
-
},
|
|
24
|
-
"receipt": {
|
|
25
|
-
"heldOutDelta": 0.07381404928570845,
|
|
26
|
-
"redblue": "PASS",
|
|
27
|
-
"drift": 0,
|
|
28
|
-
"canary": {
|
|
29
|
-
"rollbackRate": 0,
|
|
30
|
-
"latencyP95": 244.612458000076,
|
|
31
|
-
"costPerTask": 0
|
|
32
|
-
},
|
|
33
|
-
"receiptCoverage": 1
|
|
34
|
-
},
|
|
35
|
-
"platform": [
|
|
36
|
-
"linux",
|
|
37
|
-
"macOS",
|
|
38
|
-
"windows"
|
|
39
|
-
]
|
|
40
|
-
},
|
|
41
|
-
"previous": ""
|
|
42
|
-
}
|