Skip to content

feat(GEN-4760): derive hosted MCP vidsheet schema - #26

Merged
mavxdegods merged 1 commit into
mainfrom
feature/GEN-4760-mcp-contract
Aug 1, 2026
Merged

mavxdegods merged 1 commit into
mainfrom
feature/GEN-4760-mcp-contract

Conversation

@mavxdegods

Copy link
Copy Markdown
Member

GEN-4760

Makes the independently deployed hosted MCP server a thin consumer of the Rails-generated Vidsheet wire artifact.

What changed

  • Vendors gen-backend-v2/docs/generated/vidsheet-operations-schema.json into the hosted MCP package and includes it in the deployment wheel.
  • Adds fail-closed artifact parsing: missing, malformed, non-wire, markerless, or unmarked ordering-shaped contracts prevent unsafe tool publication.
  • Derives spreadsheet_column.type and video_layer.type FastMCP enums directly from the artifact.
  • Removes model-facing raw position inputs from column/layer create/update tools.
  • Adds named gen_reorder_columns / gen_reorder_layers tools; they derive Rails' id_to_position wire payload internally.
  • Layer creation reads the current cell and derives Rails' required append position internally.

Verification

  • PYTHONPATH="$PWD/src" python -m pytest tests --tb=short — 12 passed
  • Built a wheel and verified gen_mcp_server/contracts/vidsheet-operations-schema.json is included (627,286 bytes).
  • Scoped Ruff clean for new contract/tests; existing unrelated Ruff findings remain in pre-existing scheduling code at server.py:1571 and server.py:1587.
  • Scoped automated/manual review was run. The independent Claude review command could not execute because the shared Claude CLI weekly quota is exhausted; no reviewer findings were returned.

No merge or deploy performed.

@mavxdegods
mavxdegods force-pushed the feature/GEN-4760-mcp-contract branch from 5d7ed02 to ceb00a8 Compare August 1, 2026 14:40
@mavxdegods
mavxdegods merged commit 9757e35 into main Aug 1, 2026
2 checks passed
@mavxdegods
mavxdegods deleted the feature/GEN-4760-mcp-contract branch August 1, 2026 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants