lantern

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 investigation

Error 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 Cause

  • Contains: 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_node which may produce different structure

  • Section 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-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.