{"ok":true,"success":true,"data":{"schemaVersion":"opendocs.demo_handoffs.v1","service":"OpenDocs","baseUrl":"https://docs.platphormnews.com","generatedAt":"2026-07-09T14:17:51.054Z","receiver":{"canonical":"docs.platform.receive_handoff.v1","legacy":"docs.browserops.receive_handoff.v1","endpoint":"https://docs.platphormnews.com/api/docs/receive-handoff","method":"POST","dryRunPublic":true,"durableAcceptanceRequires":"PLATPHORM_API_KEY","acceptedSchemas":["platphorm.handoff.v1"]},"demoFlow":["Paste a public URL into OpenDocs and create an attributed preview.","Submit the public-safe source and open the public document or submission page.","Use MCP to read OpenDocs tools, resources, prompts, and the demo handoff matrix.","Use Evals, Sandbox, AgentUI, and Spec to validate the public routes and send dry-run handoff envelopes.","Use the root PlatPhorm network graph to show OpenDocs in the mesh.","Only use PLATPHORM_API_KEY for protected durable publishing, mutation, private exports, and report imports."],"services":[{"id":"platphorm-network","label":"PlatPhorm Network Graph","role":"Topology source and public network manifest.","baseUrl":"https://platphormnews.com","productValue":"Shows where OpenDocs sits in the PlatPhorm News web mesh and provides route evidence for the demo.","primaryHandoff":"OpenDocs reads public graph evidence and links published documents, datasets, and handoff reports back to the network.","publicRoutes":[{"label":"Network graph","url":"https://platphormnews.com/api/network/graph","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read the current network topology and site relationships."},{"label":"Agents policy","url":"https://platphormnews.com/.well-known/agents.json","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Discover public agent policy for the root network."}],"handoffActions":["read network graph","link route evidence","cite source site","normalize canonical service URL"],"protectedActions":["registry mutation","network sync","private topology export"],"demoScript":["Open the root network graph.","Find OpenDocs and adjacent demo services.","Show that OpenDocs publishes public docs while protected registry mutation stays out of the public UI."],"degradedRules":["If the graph is unavailable, OpenDocs keeps local docs usable and reports network graph status as degraded."],"evidence":["https://platphormnews.com/api/network/graph","/api/v1/integrations/handoffs"]},{"id":"mcp","label":"MCP Registry","role":"Capability registry and JSON-RPC discovery layer.","baseUrl":"https://mcp.platphormnews.com","productValue":"Demonstrates that agents can discover OpenDocs tools, resources, prompts, and handoff contracts.","primaryHandoff":"OpenDocs exposes its MCP endpoint, tools, resources, prompts, and demo handoff matrix to the registry.","publicRoutes":[{"label":"MCP metadata","url":"https://mcp.platphormnews.com/api/mcp","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read public MCP server metadata."},{"label":"MCP well-known file","url":"https://mcp.platphormnews.com/.well-known/mcp.json","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read MCP discovery metadata."}],"handoffActions":["tools/list","resources/list","prompts/list","read docs://demo-handoffs","call get_demo_handoff_matrix"],"protectedActions":["protected tool calls","registry mutation","private capability export"],"demoScript":["Open OpenDocs MCP metadata.","List the demo handoff resource and tool.","Use MCP to fetch the handoff matrix without requiring a user login."],"degradedRules":["If registry fetch fails, OpenDocs still exposes its local MCP endpoint and marks external registry status degraded."],"evidence":["https://mcp.platphormnews.com/api/mcp","/api/mcp","/.well-known/mcp.json"]},{"id":"evals","label":"Evals","role":"Release gate and quality scoring layer.","baseUrl":"https://evals.platphormnews.com","productValue":"Scores whether the OpenDocs demo is ready across discovery, ingest, SEO, MCP, datasets, and no-fake-data rules.","primaryHandoff":"Evals can send a public-safe scorecard envelope to OpenDocs for preview or protected durable intake.","publicRoutes":[{"label":"Evals health","url":"https://evals.platphormnews.com/api/health","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read public health before presenting release-gate evidence."},{"label":"Evals LLMS","url":"https://evals.platphormnews.com/llms.txt","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read agent-facing Evals context."}],"handoffActions":["validate OpenAPI","validate MCP","validate LLMS","validate dataset JSON-LD","send public-safe scorecard envelope"],"protectedActions":["trigger eval suite","publish release gate","export private eval report"],"demoScript":["Run read-only route checks or show the latest Evals scorecard.","Send a dry-run handoff envelope to OpenDocs.","Open the preview state and explain that durable publishing requires PLATPHORM_API_KEY."],"degradedRules":["If no eval run exists, the UI must say not_configured or degraded and must not invent a score."],"evidence":["https://evals.platphormnews.com/api/health","/api/docs/receive-handoff"]},{"id":"sandbox","label":"Sandbox","role":"Fixture validation and safe execution layer.","baseUrl":"https://sandbox.platphormnews.com","productValue":"Validates extraction fixtures, parser behavior, export formats, and replayable demo inputs without trusting arbitrary code.","primaryHandoff":"Sandbox can hand public-safe fixture evidence to OpenDocs as a report preview or protected intake.","publicRoutes":[{"label":"Sandbox health","url":"https://sandbox.platphormnews.com/api/health","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read public health before showing fixture validation state."},{"label":"Sandbox LLMS","url":"https://sandbox.platphormnews.com/llms.txt","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read sandbox agent context."}],"handoffActions":["validate fixture","validate parser output","validate dataset export","send fixture evidence envelope"],"protectedActions":["execute sandbox run","replay private fixture","export private artifact"],"demoScript":["Run or display public-safe fixture validation.","Show OpenDocs ingest handling for a known public fixture.","Hand the validation summary to OpenDocs as a dry-run report."],"degradedRules":["If execution is not configured, show validation-only or auth-required instead of a fake sandbox run."],"evidence":["https://sandbox.platphormnews.com/api/health","/api/v1/clip/preview"]},{"id":"agentui","label":"AgentUI","role":"Agent-facing UI and workflow validation layer.","baseUrl":"https://agentui.platphormnews.com","productValue":"Presents the OpenDocs ingest, preview, submit, MCP, and handoff flow as a usable agent workflow.","primaryHandoff":"AgentUI can open public OpenDocs routes, validate the user journey, and send workflow evidence back to OpenDocs.","publicRoutes":[{"label":"AgentUI health","url":"https://agentui.platphormnews.com/api/health","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read public health before launching agent workflow UI."},{"label":"AgentUI LLMS","url":"https://agentui.platphormnews.com/llms.txt","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read AgentUI agent instructions."}],"handoffActions":["open ingest UI","validate source preview","validate latest submissions","send workflow evidence envelope"],"protectedActions":["run protected workflow","persist private workflow state","publish protected workflow report"],"demoScript":["Open OpenDocs from AgentUI.","Paste a public URL and preview attribution.","Submit and land on the public document/submission page."],"degradedRules":["If AgentUI cannot trigger external runs, the demo must show local validation status rather than claiming a completed workflow."],"evidence":["https://agentui.platphormnews.com/api/health","/","/ingest","/submissions"]},{"id":"spec","label":"Spec Workbench","role":"Specification and contract validation layer.","baseUrl":"https://spec.platphormnews.com","productValue":"Checks OpenDocs OpenAPI, MCP, LLMS, dataset, and handoff contracts against the demo specification.","primaryHandoff":"Spec can produce public-safe contract diffs and send them to OpenDocs for attribution and publication review.","publicRoutes":[{"label":"Spec health","url":"https://spec.platphormnews.com/api/health","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read public health before showing spec validation status."},{"label":"Spec OpenAPI","url":"https://spec.platphormnews.com/openapi.json","method":"GET","publicSafe":true,"expectedStatus":[200],"purpose":"Read public API contract if exposed."}],"handoffActions":["compare OpenAPI","compare MCP inventory","compare LLMS index","send spec diff envelope"],"protectedActions":["write canonical spec","approve spec delta","export private implementation report"],"demoScript":["Open OpenDocs OpenAPI and LLMS index.","Compare against the public demo spec.","Hand a public-safe diff summary back to OpenDocs."],"degradedRules":["If a spec artifact is missing, label the contract route unavailable and do not claim conformance."],"evidence":["https://spec.platphormnews.com/api/health","/openapi.json","/llms-index.json"]}],"checks":[{"serviceId":"platphorm-network","status":"not_checked","routes":[{"label":"Network graph","url":"https://platphormnews.com/api/network/graph","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null},{"label":"Agents policy","url":"https://platphormnews.com/.well-known/agents.json","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null}]},{"serviceId":"mcp","status":"not_checked","routes":[{"label":"MCP metadata","url":"https://mcp.platphormnews.com/api/mcp","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null},{"label":"MCP well-known file","url":"https://mcp.platphormnews.com/.well-known/mcp.json","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null}]},{"serviceId":"evals","status":"not_checked","routes":[{"label":"Evals health","url":"https://evals.platphormnews.com/api/health","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null},{"label":"Evals LLMS","url":"https://evals.platphormnews.com/llms.txt","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null}]},{"serviceId":"sandbox","status":"not_checked","routes":[{"label":"Sandbox health","url":"https://sandbox.platphormnews.com/api/health","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null},{"label":"Sandbox LLMS","url":"https://sandbox.platphormnews.com/llms.txt","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null}]},{"serviceId":"agentui","status":"not_checked","routes":[{"label":"AgentUI health","url":"https://agentui.platphormnews.com/api/health","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null},{"label":"AgentUI LLMS","url":"https://agentui.platphormnews.com/llms.txt","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null}]},{"serviceId":"spec","status":"not_checked","routes":[{"label":"Spec health","url":"https://spec.platphormnews.com/api/health","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null},{"label":"Spec OpenAPI","url":"https://spec.platphormnews.com/openapi.json","method":"GET","status":"not_checked","statusCode":null,"contentType":null,"checkedAt":null,"error":null}]}],"auth":{"publicRead":["handoff manifest","receiver metadata","dry-run handoff validation","MCP introspection","OpenAPI","LLMS","public docs"],"protected":"PLATPHORM_API_KEY","headers":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"]}},"meta":{"source":"static-route-contract","liveChecks":false,"noFakeLiveStatus":true,"request_id":"edd21c09-5ce3-40b8-9c0c-f1ff91f8107e"}}