M3c: Add thin stdio MCP adapter and parity tests #53
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
P1
P2
P3
question
wontfix
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Creatidy/scarcity-router!53
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "m3c-stdio-mcp"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
scarcity_status,scarcity_select, andscarcity_simulate.mcp2.1.1, constrained bymcp>=2,<3) and the low-levelmcp.server.lowlevel.ServerAPI for exactstructured result and logical error control.
transport, network listener, resources, prompts, sampling, elicitation,
subscriptions, or model execution.
machine_api.pyfor shared logical request parsing and machine-interfacev1 envelopes, and a transport-neutral
ApplicationDependenciesrecord. RESTdelegates its existing logical parsing/envelopes to the shared boundary.
REST, CLI, subprocesses, temp files or duplicated selector logic.
Contract and errors
structured_contentand adeterministic text block containing the same JSON.
is_error=truewith the exactstructured
invalid_requestpayload.is_error=truewith the fixed safe
internal_errorpayload.accepted by MCP.
Compatibility boundary
duplicate JSON names with last-value normalization and carries
NaN,Infinity, and-Infinityin untyped arguments as floats.Scarcity Router tool handler.
JSON-RPC decoding are the transport boundary; application semantics begin at
the tool-argument object delivered by the SDK. REST strict JSON behavior is
unchanged. No custom MCP protocol parser was added.
Verification
status, select, and simulation inputs with synthetic collectors and a fixed
clock, including the 98/2 simulation.
descriptions, advertised logical fields, and no resources/prompts.
degraded status, unknown profile, requirement-source errors, null
replenishment states, unknown fields, empty/semantic/schema-invalid
simulation overrides, malformed catalog, collector failure and safe error
redaction.
smoke verify framing and bounded client-owned cleanup without live collectors.
uv sync --only-dev: passed.make check: passed, 884 tests; basedpyright 0 errors, 0 warnings, 0 notes.uv run basedpyright: passed with 0 errors, 0 warnings, 0 notes.git diff --check: passed; branch contains 0 merge commits.Documentation and status
lifecycle, exact surface, shared boundary, parity evidence and raw parser
amendment.
updated; a generic stdio orchestrator example is in
examples/mcp-stdio.json.live acceptance remain pending. M3 is not marked PASS.
Closes #52