3.3 KiB
id, title, status, date, updated, authors, tags
| id | title | status | date | updated | authors | tags | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ADR-0001 | ruflo-knowledge-graph plugin contract — pinning, namespace coordination, embeddings_generate fix, smoke as contract | Accepted | 2026-05-04 | 2026-05-09 |
|
|
Context
ruflo-knowledge-graph (v0.2.0) — entity extraction + relation mapping + pathfinder graph traversal. Surface: 1 agent + 2 skills + 1 command (5 subcommands). Backed by agentdb_hierarchical-* (entity tree), agentdb_causal-edge (relation tracking), agentdb_semantic-route (query routing), and embeddings_* (entity description embeddings).
The drift this ADR fixes
Two files reference mcp__claude-flow__embeddings_embed, but the real tool is embeddings_generate (v3/@claude-flow/cli/src/mcp-tools/embeddings-tools.ts:260). There is no embeddings_embed MCP tool.
skills/kg-extract/SKILL.md:5—allowed-toolsline includes the wrong tool nameagents/graph-navigator.md:56— agent's tool list also wrong
This is a real bug: invocations would fail with "tool not found". Fixing in this ADR pass.
Other gaps
- No plugin-level ADR.
- No smoke test.
- No Compatibility section.
- No namespace coordination cross-reference (uses graph storage but no explicit namespace claim).
Decision
- Functional fix: rename
embeddings_embed→embeddings_generatein both files. - Add this ADR (Proposed).
- README augment: Compatibility (pin v3.6); Namespace coordination (claims
kg-graph); Verification + Architecture Decisions sections. - Plugin metadata stays at
0.2.0(already at the cadence). Patch bump justified by the functional fix (rename of a referenced tool name) but cadence keeps it at minor for consistency. Keywords addmcp,pathfinder-traversal,entity-extraction. scripts/smoke.sh— 10 structural checks: version + keywords; both skills + agent + command with valid frontmatter; no reference toembeddings_embedanywhere (regression check on the bug fix);embeddings_generatereferenced; 5 subcommands documented; v3.6 pin; namespace coordination; ADR Proposed; no wildcard tools.
Consequences
Positive:
- Real bug fixed: kg-extract skill no longer references a non-existent MCP tool.
- Plugin joins the cadence.
Negative:
- Anyone scripting against the old (broken) tool name was already silently failing. Net zero on real impact.
Verification
bash plugins/ruflo-knowledge-graph/scripts/smoke.sh
# Expected: "10 passed, 0 failed"
Related
plugins/ruflo-agentdb/docs/adrs/0001-agentdb-optimization.md— namespace conventionplugins/ruflo-cost-tracker/docs/adrs/0001-cost-tracker-contract.md— sibling pattern of fixing real MCP-tool drift in skillsv3/@claude-flow/cli/src/mcp-tools/embeddings-tools.ts:260—embeddings_generate(the real tool name)
Implementation status
Plugin version v0.2.0 shipped and listed in marketplace.json. Source exists at plugins/ruflo-knowledge-graph/. Contract elements implemented: embeddings_embed → embeddings_generate tool-name drift fixed in both skill and agent files; namespace knowledge-graph claimed; pathfinder graph traversal via agentdb_semantic-route + agentdb_causal-edge documented; smoke-as-contract gate defined in scripts/smoke.sh.