claude-flow 3.32.10 → 3.32.11
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-flow",
|
|
3
|
-
"version": "3.32.
|
|
3
|
+
"version": "3.32.11",
|
|
4
4
|
"description": "Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -1643,47 +1643,68 @@ export async function bridgeRecordFeedback(options) {
|
|
|
1643
1643
|
try {
|
|
1644
1644
|
let controller = 'none';
|
|
1645
1645
|
let updated = 0;
|
|
1646
|
-
//
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1646
|
+
// Real intelligence-pipeline write (#2786 fix-3, 2026-07-26 sweep follow-up).
|
|
1647
|
+
// The prior code called `learningSystem.recordFeedback/.record` and
|
|
1648
|
+
// `reasoningBank.recordOutcome/.record` — none of those methods exist on
|
|
1649
|
+
// the LocalSonaCoordinator / LocalReasoningBank instances the bridge
|
|
1650
|
+
// actually wires into the registry (see initializeIntelligence in
|
|
1651
|
+
// memory/intelligence.ts). The silent catch made it look successful.
|
|
1652
|
+
//
|
|
1653
|
+
// The REAL public API is `intelligence.recordTrajectory(steps, verdict)`
|
|
1654
|
+
// — same call `hooks_post-command` already uses (hooks-tools.ts).
|
|
1655
|
+
// It initializes lazily, embeds the step, and drives both the SONA
|
|
1656
|
+
// coordinator and pattern distillation.
|
|
1657
|
+
try {
|
|
1658
|
+
const intelligence = await import('./intelligence.js');
|
|
1659
|
+
const verdict = options.success ? 'success' : 'failure';
|
|
1660
|
+
const recorded = await intelligence.recordTrajectory([{
|
|
1661
|
+
type: 'action',
|
|
1662
|
+
content: `Task ${options.taskId} completed by ${options.agent || 'unknown'} — success=${options.success}, quality=${options.quality.toFixed(3)}`,
|
|
1663
|
+
metadata: {
|
|
1664
|
+
taskId: options.taskId,
|
|
1665
|
+
agent: options.agent,
|
|
1666
|
+
quality: options.quality,
|
|
1667
|
+
duration: options.duration,
|
|
1654
1668
|
// ADR-147 P2: forward spawn-tree lineage if present
|
|
1655
|
-
parentAgentId: options.parentAgentId,
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
}
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
updated++;
|
|
1664
|
-
}
|
|
1669
|
+
parentAgentId: options.parentAgentId,
|
|
1670
|
+
depth: options.depth,
|
|
1671
|
+
},
|
|
1672
|
+
timestamp: Date.now(),
|
|
1673
|
+
}], verdict);
|
|
1674
|
+
if (recorded) {
|
|
1675
|
+
controller = 'intelligence';
|
|
1676
|
+
updated++;
|
|
1665
1677
|
}
|
|
1666
|
-
catch { /* API mismatch — skip */ }
|
|
1667
1678
|
}
|
|
1668
|
-
|
|
1679
|
+
catch {
|
|
1680
|
+
// Intelligence init failed (missing embeddings backend etc.). Fall
|
|
1681
|
+
// through to the memory-store write below — that always succeeds via
|
|
1682
|
+
// sql.js fallback so feedback is never fully lost.
|
|
1683
|
+
}
|
|
1684
|
+
// Optional pattern store: if the caller supplied learned patterns,
|
|
1685
|
+
// add them to LocalReasoningBank via its real `.store()` method (the
|
|
1686
|
+
// one method that DOES exist on the class).
|
|
1669
1687
|
const reasoningBank = registry.get('reasoningBank');
|
|
1670
|
-
if (reasoningBank) {
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
updated++;
|
|
1688
|
+
if (reasoningBank && Array.isArray(options.patterns) && options.patterns.length) {
|
|
1689
|
+
for (const pattern of options.patterns) {
|
|
1690
|
+
try {
|
|
1691
|
+
if (typeof reasoningBank.store === 'function') {
|
|
1692
|
+
reasoningBank.store({
|
|
1693
|
+
id: `feedback-pattern-${options.taskId}-${updated}`,
|
|
1694
|
+
content: pattern,
|
|
1695
|
+
category: options.agent || 'general',
|
|
1696
|
+
confidence: options.quality,
|
|
1697
|
+
source: 'bridge-feedback',
|
|
1698
|
+
});
|
|
1699
|
+
updated++;
|
|
1700
|
+
}
|
|
1684
1701
|
}
|
|
1702
|
+
catch { /* pattern rejected — non-critical */ }
|
|
1685
1703
|
}
|
|
1686
|
-
|
|
1704
|
+
if (updated > 0 && controller === 'intelligence')
|
|
1705
|
+
controller = 'intelligence+reasoningBank';
|
|
1706
|
+
else if (updated > 0 && controller === 'none')
|
|
1707
|
+
controller = 'reasoningBank';
|
|
1687
1708
|
}
|
|
1688
1709
|
// Phase 4: SkillLibrary promotion for high-quality patterns
|
|
1689
1710
|
if (options.success && options.quality >= 0.9 && options.patterns?.length) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claude-flow/cli",
|
|
3
|
-
"version": "3.32.
|
|
3
|
+
"version": "3.32.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Ruflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
|
|
6
6
|
"main": "dist/src/index.js",
|