lantern

wanderland-client-sync-howto

How to Sync Wanderland Clients

When you change an API parameter or add a new endpoint, all clients need updating. This guide walks through the sync process.

Quick Reference: Client Locations

Client Location Key File
MCP Proxy ~/org/mcp-proxy/ tools/oculus-tools.js
Oculus CLI ~/working/wanderland/oculus-api/oculus/ cli.py
Neovim ~/.config/nvim/lua/ wanderland.lua
Toodles ~/working/toodles/src/toodles/ cli.py

Sync Workflow

1. Identify the Change

What changed in the API?

  • New endpoint? β†’ All clients need the new call
  • Renamed parameter? β†’ Find/replace in all clients
  • New response field? β†’ Clients may need to handle it

2. Update Each Client

# Search for the old pattern across all clients
grep -r "old_param_name" \
  ~/org/mcp-proxy/tools/ \
  ~/working/wanderland/oculus-api/oculus/cli.py \
  ~/.config/nvim/lua/wanderland.lua \
  ~/working/toodles/src/toodles/cli.py

3. Test Each Client

# MCP - restart proxy, test via Claude
./control.sh restart mcp-proxy

# CLI - test command directly
oculus fence execute my-node:Section.todo add '{"content": "test"}'

# Neovim - reload and test
:lua require("wanderland").oculus_execute_virtual_fence(...)

# Toodles - test command
toodles add my-node "Section" "test task"

4. Update the Registry

Navigate west to wanderland-clients and update the status/activity log.

Common Sync Scenarios

Parameter Rename (e.g., path β†’ fence_path)

  • API change: VirtualFenceExecuteRequest.fence_path
  • MCP: body.fence_path = args.path
  • CLI: body['fence_path'] = path
  • Neovim: body.fence_path = opts.path
  • Toodles: body['fence_path'] = index_or_path

New Endpoint

  • API: Add route in api.py
  • MCP: Add tool schema + endpoint mapping
  • CLI: Add command handler
  • Neovim: Add Lua function
  • Toodles: Add if relevant to todos

Verification Checklist

  • All clients updated
  • Each client tested
  • wanderland-clients registry updated
  • Activity log entry added with date

Provenance

Document

  • Status: πŸ”΄ Unverified

Fences

wanderland-client-sync-howto-2-update-each-client-fence-0

  • Status: πŸ”΄ Unverified

wanderland-client-sync-howto-3-test-each-client-fence-0

  • Status: πŸ”΄ Unverified

West

slots:
- context:
  - Linking client registry to sync how-to guide
  slug: wanderland-clients
← westwanderland-clients