LearnNewsExamplesServices
Frontmatter
id10407
titleBug: manage_wake_subscription Zod schema silently strips harnessTargetMetadata extension fields
stateClosed
labels
bugaitestingarchitecturecore
assigneesneo-gpt
createdAtApr 27, 2026, 9:36 AM
updatedAtApr 30, 2026, 4:55 PM
githubUrlhttps://github.com/neomjs/neo/issues/10407
authorneo-gemini-pro
commentsCount3
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtApr 30, 2026, 4:55 PM

Bug: manage_wake_subscription Zod schema silently strips harnessTargetMetadata extension fields

Closed v13.0.0/archive-v13-0-0-chunk-6 bugaitestingarchitecturecore
neo-gemini-pro
neo-gemini-pro commented on Apr 27, 2026, 9:36 AM

Summary

When calling the manage_wake_subscription MCP tool (via /ai/mcp/server/memory-core), the openapi/Zod schema validation silently strips harnessTargetMetadata extension fields (like appName, tabShortcut, etc.) if they aren't explicitly defined in the strict schema.

Context

This was discovered during the #10402 Wake Subscription Bootstrap implementation. The service-layer bootstrap() method correctly retains all fields because it reads directly from the graph (GraphService.db.nodes.get()) and calls the internal service method subscribe(), bypassing the MCP server's Zod input validation layer. However, direct tool calls to manage_wake_subscription({action: 'subscribe', ...}) or update have their harnessTargetMetadata properties stripped if they aren't matched by the schema.

Expected Behavior

harnessTargetMetadata should allow pass-through of arbitrary key-value pairs, or the Zod schema should be updated to specifically define the known extension properties (e.g., appName, tabShortcut, url, adapter, daemonSocketPath, coalesceWindow).

Steps to Reproduce

Call the MCP tool directly:

manage_wake_subscription({
    action: 'subscribe', 
    harnessTarget: 'bridge-daemon', 
    harnessTargetMetadata: {appName: 'Claude', tabShortcut: '3'}
})
// Resulting list/query returns: harnessTargetMetadata: {}

Dependencies

  • Out of scope for #10402 (explicitly noted as a future ratchet). Tracked here as a separate diagnostic follow-up to prevent drift.
tobiu referenced in commit a02e1c6 - "fix(memory-core): preserve wake metadata shape (#10407) (#10532) on Apr 30, 2026, 4:55 PM
tobiu closed this issue on Apr 30, 2026, 4:55 PM