Skip to content

[Bug]: octopoda_log_decision context field rejects dict, requires string #10

Description

@Dvalin21

The octopoda_log_decision MCP tool has a type mismatch in its context parameter.

The MCP tool definition advertises:
context: "Optional context dict"

But the pydantic validator enforces:
Input should be a valid string [type=string_type]

How to reproduce:

  1. Call octopoda_log_decision with context={"key": "value"}
  2. Observe: Error executing tool octopoda_log_decision:
    Input should be a valid string

The JSON schema in the tool definition has context listed as:
"anyOf": [{"type": "string"}, {"type": "null"}]

So the schema says string-or-null. But the documentation says "dict".
One of them is wrong. Either:

  • The schema should accept object/dict (fix the pydantic model)
  • Or the docs should say "JSON string, not a dict" (fix the description)

Current behavior breaks any caller that passes structured data directly.
Workaround: JSON-serialize the context dict to a string before calling.

Environment:
octopoda 3.1.3
synrix_runtime 3.1.0
Linux x86_64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions