oculus-poke-500-error
π― The Case of the Oculus Poke 500 Error
Case Details
Case ID: task-4f53221b-3938-4c0b-a7dc-a3aacd0e0982
Status: parked
Created: 2025-11-10T16:39:26.914Z
Updated: 2025-11-10T16:39:26.914Z
Priority: 2
Investigation Details
Case Type: investigation Urgency Level: emergency
Notes
Initial Report
Attempted to use oculus_poke MCP tool to update content in the methuselah-troubleshooting node but received a 500 Internal Server Error.
Error: MCP error -32000: API call failed: 500 Internal Server Error
Context
Working on documenting the Methuselah DynamoDB array decode error. Created the troubleshooting guide node and wanted to update a specific section with corrected root cause analysis.
Command Executed
mcp__wanderland__oculus_poke
slug: methuselah-troubleshooting
path: content.sections.DynamoDB Data Issues.subsections.Issue: json_decode() expects string, array given.Root Cause
value: [updated root cause text]
context: Updating root cause analysis based on actual investigationError Details
- Error Code: -32000 (JSON-RPC error)
- HTTP Status: 500 Internal Server Error
- Tool: oculus_poke MCP function
- Target Node: methuselah-troubleshooting
- Operation: Attempting to poke deep path in markdown AST structure
Potential Causes
Path syntax issue: The path may contain special characters (colons, spaces) that aren't properly escaped- Path:
content.sections.DynamoDB Data Issues.subsections.Issue: json_decode() expects string, array given.Root CauseContains: spaces, colons, parentheses
AST parsing failure: Oculus may be unable to parse the markdown structure correctly- The section may not exist in the AST
The nested path may be too deep or malformed
Server-side error: The Oculus API encountered an unhandled exception- Could be in the poke implementation
Could be in AST manipulation logic
Content structure mismatch: The node content may not match expected format- Created via
oculus_create_nodewhich may produce different structureSection headers may not be properly detected
Workaround Used
Instead of oculus_poke, used oculus_append_file to prepend content to the section, which succeeded.
Investigation Needed
- Check Oculus API logs for the 500 error
- Verify the actual AST structure of the node
- Test poke with simpler paths
- Determine if special characters in paths need escaping
- Check if there's a path depth limit
- Verify section/subsection detection in markdown parser
Impact
- Functionality: Cannot update specific nested sections programmatically
- Workaround Available: Yes - use append_file or edit entire node
- User Impact: Reduces ability to make surgical updates to documentation
Investigation Timeline
2025-11-10T16:39:26.915Z - System - case_created
Case opened from CLI
Consciousness Links
Context: Error occurred while updating Oculus documentation node
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.