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:truebeing 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-listfences - 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}thenoculus 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.