fix(mcp-wrapper): planWork creates a real BacklogItem; reviewBacklog lists by type #59
Reference in New Issue
Block a user
Delete Branch "fix/wrapper-backlog-endpoints"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Backlog MCP tools use the right endpoints (planWork/reviewBacklog)
planWorkfell throughcreate_typed_nodeto a generic/api/neuron/memorywrite — storing a[BacklogItem]-prefixed memory blob with title/project/priority dropped, never a realBacklogItem.reviewBacklogused a lexical/recall(top-50, untyped), so it never listed backlog items.Now:
planWork→create_node_typed→POST /api/neuron/node/create {node_type:"BacklogItem", label:title, content, tier, tags:[project,priority]}— a real typed node.reviewBacklog→list_typed("BacklogItem")→GET /api/neuron/list/BacklogItem.elc-clean. Depends on neuron PR #58 (the
/api/neuron/list/<type>slice fix) to round-trip, and needsthe wrapper binary rebuilt +
:7779restarted to take effect. Together with #58 this makes the backlog(and
trackWork, a follow-up) actually persist + read back — the L7 open loop.planWork fell through create_typed_node to a generic /api/neuron/memory write — a [BacklogItem]-prefixed memory blob with title/project/priority DROPPED, never a real BacklogItem. reviewBacklog used a lexical /recall (top-50, untyped). Now: planWork -> /api/neuron/node/create {node_type:BacklogItem,...} via new create_node_typed; reviewBacklog -> list_typed('BacklogItem') (GET /api/neuron/list/BacklogItem). elc-clean. Depends on neuron PR #58 (the list/<type> slice fix) to round-trip; needs the wrapper binary rebuilt + :7779 restarted to take effect. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>⚠️ Deploy notes (bundle with #58):
This rides #58.
reviewBacklog→/api/neuron/list/BacklogItemonly round-trips once thelist/<type>slice fix (#58) is in the running soul. So deploy this wrapper together with #58'sdist/soul.cregen — one coordinated restart, then test the full create→list round-trip.The wrapper rebuild MUST use
-DHAVE_CURL. A bareelbbuild omits it → every HTTP call becomes a no-curl stub ({"error":"not built with HAVE_CURL"}). A solo deploy attempt hit exactly this and was reverted. Build with the soul recipe's flags, e.g.:cc -O2 -DHAVE_CURL -I <runtime> <generated main.c> <runtime>/el_runtime.c -lssl -lcrypto -lcurl -lpthread -lm -o dist/neuron-mcp-wrapper(then restart theai.neuron.mcp-wrapperLaunchAgent).Known limitation (separate loop):
planWorknow creates a real BacklogItem with title/description, butstatus/priority/projectlive in node metadata, whichengram_node_fullcan't write — so those show defaults until the backlog metadata model is addressed.trackWorkis unchanged for the same reason.