lantern

oculus-node-registry-sync

🎯 Oculus Node Registry Sync Issues - Nodes Not Found After Creation

Case Details

Case ID: task-94845163-fda3-427d-b08f-edbfeb9f8e52 Status: parked Created: 2025-11-17T16:08:51.695Z Updated: 2025-11-17T16:08:51.695Z Priority: 2

Investigation Details

Case Type: investigation Urgency Level: routine

Notes

Summary

Nodes created via MCP oculus_create_node are not immediately available via MCP oculus_goto or oculus_look, despite successful creation confirmation. The nodes ARE accessible via direct API calls to localhost:7778.

Reproduction Steps

  • Create node via MCP:```[id=oculus-node-registry-sync-reproduction-steps-fence-0] mcp__wanderland__oculus_create_node( slug: "pqis-lb-internal-dev", content: "..." )

**Result**: `{"slug":"pqis-lb-internal-dev","filepath":"/Users/graemefawcett/.local/share/oculus/nodes/pqis-lb-internal-dev.md","registered":true}`
- Attempt to navigate to node via MCP:```[id=oculus-node-registry-sync-reproduction-steps-fence-1]
mcp__wanderland__oculus_look(slug: "pqis-lb-internal-dev")

Result: MCP error -32000: 🎩 Down the rabbit hole we go! But 'pqis-lb-internal-dev' has vanished like the Cheshire Cat's grin...

  • Verify file exists on filesystem:```bash[id=oculus-node-registry-sync-reproduction-steps-fence-2] cat /Users/graemefawcett/.local/share/oculus/nodes/pqis-lb-internal-dev.md

**Result**: File exists and contains correct content
- Access via direct API call:```bash[id=oculus-node-registry-sync-reproduction-steps-fence-3]
curl -s http://localhost:7778/api/oculus/node/pqis-lb-internal-dev | jq -r '.slug'

Result: pqis-lb-internal-dev βœ… Works!

  • Second node creation (devops-lb-utilities-dev):- Same pattern: MCP create succeeds, but MCP goto fails
  • Direct API access works immediately
  • File exists on filesystem

Observations

  • MCP create_node reports success with "registered":true
  • MCP navigation/lookup fails immediately after creation
  • Direct API calls work - suggests the Oculus API has the node
  • Filesystem has correct files - creation is completing
  • Issue appears to be MCP-layer registry/cache - not the underlying Oculus API

Possible Causes

  • MCP proxy cache inconsistency - MCP proxy may have stale registry cache that doesn't update after create
  • Separate registries - Create operation might hit different registry than lookup operation
  • Async registration - Node creation might be async, with registered:true being optimistic
  • TTL/caching issue - MCP layer might have TTL caching that doesn't invalidate on create

Impact

  • Workflow disruption: Cannot immediately work with newly created nodes via MCP
  • User confusion: Success message followed by "not found" errors
  • Workaround required: Must use direct API or wait for cache refresh

Workaround

Use direct API calls:

curl -s http://localhost:7778/api/oculus/node/{slug}

Or wait for MCP cache to refresh (unknown duration).

Next Steps

  • Examine MCP proxy caching logic for node registry
  • Check if create_node triggers registry refresh
  • Investigate if MCP and API use different registry instances
  • Consider adding immediate cache invalidation on node creation

Investigation Timeline

2025-11-17T16:08:51.697Z - System - case_created

Case opened from CLI

Auto-Detected Keywords

investigation


This case file is automatically updated. For investigation logs, see the corresponding log channel.

πŸ“‹ Case To-Do List

This case has an integrated to-do list system that syncs with the Oculus knowledge graph. The to-do list uses the virtual:todo-list fence which auto-detects GitHub-style checkbox markdown.

How the To-Do System Works

  • Auto-Detection: Checkbox lists are automatically detected as virtual:todo-list fences
  • Alice Integration: Display in Alice dashboard using :::wonderland-todo-list slug="${current_case}"
  • ISA Operations: Use fence exec for add/check/update operations
  • Metadata Support: Add [assignee:name] [priority:level] tags to tasks

Case To-Do Operations

  • View state: oculus fence list ${slug} then oculus fence view ${slug} <fence-index>
  • Add task: oculus fence exec ${slug} <fence-index> add "New task"
  • Check task: oculus fence exec ${slug} <fence-index> check 0
  • Update task: oculus fence exec ${slug} <fence-index> update 0 "Updated content"
  • Reference: See virtual-fence-todo for full documentation

Current Case Tasks

  • 🎯 Solve the case
  • πŸ“ Document findings in investigation notes
  • πŸ”— Link relevant evidence and consciousness resources
  • βœ… Update case status when complete

Next Steps

Add investigation notes and evidence tags as you progress. The to-do list will evolve with your investigation. Tasks can be managed via Oculus fence operations or edited directly in the node.