{"ok":true,"success":true,"data":{"runs":[{"id":"ff8820dc-e52c-4c0e-a751-0ae5065efe77","template_id":"mcp-tool-tester","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"cc04ce9823f54907a192e42cc16a112d","metadata":{"run":{"id":"ff8820dc-e52c-4c0e-a751-0ae5065efe77","logs":"","files":[{"path":"tool-call.json","sizeBytes":142}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: MCP Tool Tester","completedAt":"2026-06-11T19:03:23.481Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"cc04ce9823f54907a192e42cc16a112d","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-06-11T19:03:23.481Z","sandboxId":null,"sessionId":"public_ff8820dc","traceLink":"https://trace.platphormnews.com/traces/cc04ce9823f54907a192e42cc16a112d","templateId":"mcp-tool-tester","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"mcp"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"203d5170-9fd0-4236-8e09-a99f4061f023","template_id":"mcp-tool-tester","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"68e3b82dbf8543908b9bdea9c085c966","metadata":{"run":{"id":"203d5170-9fd0-4236-8e09-a99f4061f023","logs":"","files":[{"path":"tool-call.json","sizeBytes":142}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: MCP Tool Tester","completedAt":"2026-05-26T00:54:45.564Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"68e3b82dbf8543908b9bdea9c085c966","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-26T00:54:45.564Z","sandboxId":null,"sessionId":"public_203d5170","traceLink":"https://trace.platphormnews.com/traces/68e3b82dbf8543908b9bdea9c085c966","templateId":"mcp-tool-tester","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"mcp"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"fb28cba1-e80e-41d0-89c3-33ae9c45ca58","template_id":"mcp-tool-tester","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"04a841a92ab54787b6acdfe4265c82a0","metadata":{"run":{"id":"fb28cba1-e80e-41d0-89c3-33ae9c45ca58","logs":"","files":[{"path":"tool-call.json","sizeBytes":142}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: MCP Tool Tester","completedAt":"2026-05-26T00:54:32.671Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"04a841a92ab54787b6acdfe4265c82a0","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-26T00:54:32.671Z","sandboxId":null,"sessionId":"public_fb28cba1","traceLink":"https://trace.platphormnews.com/traces/04a841a92ab54787b6acdfe4265c82a0","templateId":"mcp-tool-tester","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"mcp"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"79a2b99f-78da-4695-974e-c14504d1e67b","template_id":"trace-span-completion","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"9a3dd3a1e56f43f2a6edd996a449d7d4","metadata":{"run":{"id":"79a2b99f-78da-4695-974e-c14504d1e67b","logs":"","files":[{"path":"trace-span.js","sizeBytes":167}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: Trace Span Completion","completedAt":"2026-05-26T00:53:45.503Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"9a3dd3a1e56f43f2a6edd996a449d7d4","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-26T00:53:45.503Z","sandboxId":null,"sessionId":"public_79a2b99f","traceLink":"https://trace.platphormnews.com/traces/9a3dd3a1e56f43f2a6edd996a449d7d4","templateId":"trace-span-completion","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"trace"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"89735298-34c8-422e-b64a-894ae8205b46","template_id":"trace-span-completion","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"4d1c39eea1d540ceb06d213cd9b2d68c","metadata":{"run":{"id":"89735298-34c8-422e-b64a-894ae8205b46","logs":"","files":[{"path":"trace-span.js","sizeBytes":167}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: Trace Span Completion","completedAt":"2026-05-25T21:11:33.189Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"4d1c39eea1d540ceb06d213cd9b2d68c","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-25T21:11:33.189Z","sandboxId":null,"sessionId":"public_89735298","traceLink":"https://trace.platphormnews.com/traces/4d1c39eea1d540ceb06d213cd9b2d68c","templateId":"trace-span-completion","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"trace"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"fc151671-ac22-43a6-bbef-6f8b33dff3c5","template_id":"agentui-tool-renderer","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"aa2a87d3db4a44a894b15d897d762541","metadata":{"run":{"id":"fc151671-ac22-43a6-bbef-6f8b33dff3c5","logs":"","files":[{"path":"agentui-payload.json","sizeBytes":188}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: AgentUI Tool Renderer","completedAt":"2026-05-25T21:10:46.214Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"aa2a87d3db4a44a894b15d897d762541","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-25T21:10:46.214Z","sandboxId":null,"sessionId":"public_fc151671","traceLink":"https://trace.platphormnews.com/traces/aa2a87d3db4a44a894b15d897d762541","templateId":"agentui-tool-renderer","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"agentui"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"d4d4f266-af44-43d8-8826-ad9ee177f460","template_id":"browserops-journey-preflight","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"97559260a1bb4b23be8766ac00c414d7","metadata":{"run":{"id":"d4d4f266-af44-43d8-8826-ad9ee177f460","logs":"","files":[{"path":"route-check.js","sizeBytes":181}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: BrowserOps Journey Preflight","completedAt":"2026-05-25T21:09:09.972Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"97559260a1bb4b23be8766ac00c414d7","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-25T21:09:09.972Z","sandboxId":null,"sessionId":"public_d4d4f266","traceLink":"https://trace.platphormnews.com/traces/97559260a1bb4b23be8766ac00c414d7","templateId":"browserops-journey-preflight","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"browserops"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"5ab44218-ce80-45ec-8b48-5d760947bf18","template_id":"hello-node-command","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"19cd8dd886bf46e0aa64037bcb5124f4","metadata":{"run":{"id":"5ab44218-ce80-45ec-8b48-5d760947bf18","logs":"","files":[{"path":"hello.js","sizeBytes":107}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: Hello Node Command","completedAt":"2026-05-25T21:08:32.645Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"19cd8dd886bf46e0aa64037bcb5124f4","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-25T21:08:32.645Z","sandboxId":null,"sessionId":"public_5ab44218","traceLink":"https://trace.platphormnews.com/traces/19cd8dd886bf46e0aa64037bcb5124f4","templateId":"hello-node-command","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"trace"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"7e098dd6-718b-4132-82c1-f94c59680ed7","template_id":"opencontent-ingest-prep","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"a8453fffb6e648259333e6d65284c9b9","metadata":{"run":{"id":"7e098dd6-718b-4132-82c1-f94c59680ed7","logs":"","files":[{"path":"opencontent-manifest.json","sizeBytes":114}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: OpenContent Ingest Prep","completedAt":"2026-05-22T21:25:54.231Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"a8453fffb6e648259333e6d65284c9b9","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-22T21:25:54.231Z","sandboxId":null,"sessionId":"public_7e098dd6","traceLink":"https://trace.platphormnews.com/traces/a8453fffb6e648259333e6d65284c9b9","templateId":"opencontent-ingest-prep","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"opencontent"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"4edcdceb-2b3d-49fd-b896-baad166c7c65","template_id":"sandbox-to-evals-score","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"9e082d03f3df41daa54be279a9c44bda","metadata":{"run":{"id":"4edcdceb-2b3d-49fd-b896-baad166c7c65","logs":"","files":[{"path":"evals-input.json","sizeBytes":125}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: Sandbox to Evals Score","completedAt":"2026-05-22T21:25:21.702Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"9e082d03f3df41daa54be279a9c44bda","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-22T21:25:21.702Z","sandboxId":null,"sessionId":"public_4edcdceb","traceLink":"https://trace.platphormnews.com/traces/9e082d03f3df41daa54be279a9c44bda","templateId":"sandbox-to-evals-score","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":null},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}}],"persistence":"server","message":"Runs loaded from server persistence.","database":{"ok":true,"data":[{"id":"ff8820dc-e52c-4c0e-a751-0ae5065efe77","template_id":"mcp-tool-tester","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"cc04ce9823f54907a192e42cc16a112d","metadata":{"run":{"id":"ff8820dc-e52c-4c0e-a751-0ae5065efe77","logs":"","files":[{"path":"tool-call.json","sizeBytes":142}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: MCP Tool Tester","completedAt":"2026-06-11T19:03:23.481Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"cc04ce9823f54907a192e42cc16a112d","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-06-11T19:03:23.481Z","sandboxId":null,"sessionId":"public_ff8820dc","traceLink":"https://trace.platphormnews.com/traces/cc04ce9823f54907a192e42cc16a112d","templateId":"mcp-tool-tester","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"mcp"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"203d5170-9fd0-4236-8e09-a99f4061f023","template_id":"mcp-tool-tester","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"68e3b82dbf8543908b9bdea9c085c966","metadata":{"run":{"id":"203d5170-9fd0-4236-8e09-a99f4061f023","logs":"","files":[{"path":"tool-call.json","sizeBytes":142}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: MCP Tool Tester","completedAt":"2026-05-26T00:54:45.564Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"68e3b82dbf8543908b9bdea9c085c966","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-26T00:54:45.564Z","sandboxId":null,"sessionId":"public_203d5170","traceLink":"https://trace.platphormnews.com/traces/68e3b82dbf8543908b9bdea9c085c966","templateId":"mcp-tool-tester","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"mcp"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"fb28cba1-e80e-41d0-89c3-33ae9c45ca58","template_id":"mcp-tool-tester","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"04a841a92ab54787b6acdfe4265c82a0","metadata":{"run":{"id":"fb28cba1-e80e-41d0-89c3-33ae9c45ca58","logs":"","files":[{"path":"tool-call.json","sizeBytes":142}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: MCP Tool Tester","completedAt":"2026-05-26T00:54:32.671Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"04a841a92ab54787b6acdfe4265c82a0","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-26T00:54:32.671Z","sandboxId":null,"sessionId":"public_fb28cba1","traceLink":"https://trace.platphormnews.com/traces/04a841a92ab54787b6acdfe4265c82a0","templateId":"mcp-tool-tester","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"mcp"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"79a2b99f-78da-4695-974e-c14504d1e67b","template_id":"trace-span-completion","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"9a3dd3a1e56f43f2a6edd996a449d7d4","metadata":{"run":{"id":"79a2b99f-78da-4695-974e-c14504d1e67b","logs":"","files":[{"path":"trace-span.js","sizeBytes":167}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: Trace Span Completion","completedAt":"2026-05-26T00:53:45.503Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"9a3dd3a1e56f43f2a6edd996a449d7d4","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-26T00:53:45.503Z","sandboxId":null,"sessionId":"public_79a2b99f","traceLink":"https://trace.platphormnews.com/traces/9a3dd3a1e56f43f2a6edd996a449d7d4","templateId":"trace-span-completion","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"trace"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"89735298-34c8-422e-b64a-894ae8205b46","template_id":"trace-span-completion","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"4d1c39eea1d540ceb06d213cd9b2d68c","metadata":{"run":{"id":"89735298-34c8-422e-b64a-894ae8205b46","logs":"","files":[{"path":"trace-span.js","sizeBytes":167}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: Trace Span Completion","completedAt":"2026-05-25T21:11:33.189Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"4d1c39eea1d540ceb06d213cd9b2d68c","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-25T21:11:33.189Z","sandboxId":null,"sessionId":"public_89735298","traceLink":"https://trace.platphormnews.com/traces/4d1c39eea1d540ceb06d213cd9b2d68c","templateId":"trace-span-completion","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"trace"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"fc151671-ac22-43a6-bbef-6f8b33dff3c5","template_id":"agentui-tool-renderer","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"aa2a87d3db4a44a894b15d897d762541","metadata":{"run":{"id":"fc151671-ac22-43a6-bbef-6f8b33dff3c5","logs":"","files":[{"path":"agentui-payload.json","sizeBytes":188}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: AgentUI Tool Renderer","completedAt":"2026-05-25T21:10:46.214Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"aa2a87d3db4a44a894b15d897d762541","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-25T21:10:46.214Z","sandboxId":null,"sessionId":"public_fc151671","traceLink":"https://trace.platphormnews.com/traces/aa2a87d3db4a44a894b15d897d762541","templateId":"agentui-tool-renderer","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"agentui"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"d4d4f266-af44-43d8-8826-ad9ee177f460","template_id":"browserops-journey-preflight","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"97559260a1bb4b23be8766ac00c414d7","metadata":{"run":{"id":"d4d4f266-af44-43d8-8826-ad9ee177f460","logs":"","files":[{"path":"route-check.js","sizeBytes":181}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: BrowserOps Journey Preflight","completedAt":"2026-05-25T21:09:09.972Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"97559260a1bb4b23be8766ac00c414d7","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-25T21:09:09.972Z","sandboxId":null,"sessionId":"public_d4d4f266","traceLink":"https://trace.platphormnews.com/traces/97559260a1bb4b23be8766ac00c414d7","templateId":"browserops-journey-preflight","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"browserops"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"5ab44218-ce80-45ec-8b48-5d760947bf18","template_id":"hello-node-command","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"19cd8dd886bf46e0aa64037bcb5124f4","metadata":{"run":{"id":"5ab44218-ce80-45ec-8b48-5d760947bf18","logs":"","files":[{"path":"hello.js","sizeBytes":107}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: Hello Node Command","completedAt":"2026-05-25T21:08:32.645Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"19cd8dd886bf46e0aa64037bcb5124f4","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-25T21:08:32.645Z","sandboxId":null,"sessionId":"public_5ab44218","traceLink":"https://trace.platphormnews.com/traces/19cd8dd886bf46e0aa64037bcb5124f4","templateId":"hello-node-command","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"trace"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"7e098dd6-718b-4132-82c1-f94c59680ed7","template_id":"opencontent-ingest-prep","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"a8453fffb6e648259333e6d65284c9b9","metadata":{"run":{"id":"7e098dd6-718b-4132-82c1-f94c59680ed7","logs":"","files":[{"path":"opencontent-manifest.json","sizeBytes":114}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: OpenContent Ingest Prep","completedAt":"2026-05-22T21:25:54.231Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"a8453fffb6e648259333e6d65284c9b9","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-22T21:25:54.231Z","sandboxId":null,"sessionId":"public_7e098dd6","traceLink":"https://trace.platphormnews.com/traces/a8453fffb6e648259333e6d65284c9b9","templateId":"opencontent-ingest-prep","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":"opencontent"},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}},{"id":"4edcdceb-2b3d-49fd-b896-baad166c7c65","template_id":"sandbox-to-evals-score","workspace_id":null,"status":"running","current_step":"create-sandbox","trace_id":"9e082d03f3df41daa54be279a9c44bda","metadata":{"run":{"id":"4edcdceb-2b3d-49fd-b896-baad166c7c65","logs":"","files":[{"path":"evals-input.json","sizeBytes":125}],"steps":[{"id":"choose-template","label":"Choose template","status":"completed","evidence":"Template selected: Sandbox to Evals Score","completedAt":"2026-05-22T21:25:21.702Z","description":"Select a public-safe workflow template."},{"id":"create-sandbox","label":"Create sandbox","status":"current","description":"Create a Vercel Sandbox when provider auth allows, or continue as a local draft."},{"id":"write-files","label":"Write files","status":"pending","description":"Write template files into the bounded workspace."},{"id":"run-command","label":"Run command","status":"pending","description":"Execute the template command under command policy limits."},{"id":"stream-logs","label":"Stream logs","status":"pending","description":"Read real stdout/stderr or report degraded log streaming."},{"id":"read-outputs","label":"Read outputs","status":"pending","description":"Read files or command artifacts from the workspace."},{"id":"validate-output","label":"Validate output","status":"pending","description":"Validate JSON, XML, Markdown, OpenAPI, MCP, or trace payloads."},{"id":"send-to-tool","label":"Send to next tool","status":"pending","description":"Prepare or execute a cross-site integration send without faking delivery."},{"id":"capture-trace","label":"Capture trace","status":"pending","description":"Attach trace ids, command ids, sandbox ids, and evidence links."},{"id":"export-evidence","label":"Export evidence","status":"pending","description":"Export public-safe reports locally or require PLATPHORM_API_KEY for publishing."}],"status":"running","traceId":"9e082d03f3df41daa54be279a9c44bda","metadata":{"baseUrl":"https://sandbox.platphormnews.com","service":"platphorm-sandbox","databaseReady":true,"providerReady":true,"templateStatus":"available"},"artifacts":[],"commandId":null,"createdAt":"2026-05-22T21:25:21.702Z","sandboxId":null,"sessionId":"public_4edcdceb","traceLink":"https://trace.platphormnews.com/traces/9e082d03f3df41daa54be279a9c44bda","templateId":"sandbox-to-evals-score","validation":{"status":"pending","message":"Waiting for a real command, validation, or integration response."},"completedAt":null,"currentStep":"create-sandbox","workspaceId":null,"exportActions":[{"id":"download-json","label":"Export local evidence JSON","protected":false},{"id":"docs-report","label":"Publish Docs report","protected":true},{"id":"sheets-report","label":"Export to Sheets","protected":true},{"id":"deck-summary","label":"Generate Deck","protected":true}],"nextSuggestedTool":null},"database":{"mode":"postgres","status":"configured","tables":["sandbox_workspaces","sandbox_sessions","sandbox_commands","sandbox_file_operations","sandbox_snapshots","sandbox_artifacts","sandbox_lifecycle_runs","sandbox_lifecycle_steps","sandbox_integration_sends","sandbox_eval_runs","sandbox_integration_status","sandbox_audit_events","sandbox_rate_limits","sandbox_health_snapshots","sandbox_public_reports","network_graph_snapshots"],"message":"Postgres is configured as the primary Sandbox database. Route-level reads and writes degrade honestly if the schema has not been migrated yet.","primary":"postgres","postgres":{"status":"configured","message":"Postgres is configured as the primary Sandbox database. Query health is checked by the route that performs the read or write.","authMode":"connection_string","provider":"postgres","configured":true,"envSources":{"host":"POSTGRES_HOST","port":null,"user":"POSTGRES_USER","sslmode":null,"database":"POSTGRES_DATABASE","password":"[REDACTED]","connectionString":"POSTGRES_URL"},"missingEnv":[],"publicSafe":true,"requiredEnv":["Postgres connection string or component host/database/user/password credentials"]},"provider":"postgres","supabase":{"status":"configured","message":"Supabase/Postgres environment is configured as a fallback when primary Postgres is unavailable.","provider":"supabase","configured":true,"publicSafe":true,"fallbackMode":"read_write_protected"},"configured":true,"publicSafe":true,"fallbackMode":"read_write_protected","fallbackConfigured":true},"provider":{"ok":true,"data":{"sdk":"@vercel/sandbox","auth":{"mode":"access_token","method":"vercel-token","teamScoped":true,"oidcAvailable":false,"accessTokenConfigured":"[REDACTED]"},"limits":{"maxLogBytes":64000,"maxFileBytes":256000,"maxCommandArgs":32,"commandTimeoutMs":30000,"maxCommandLength":240,"sandboxTimeoutMs":300000,"maxWorkspaceBytes":5000000,"rateLimitWindowMs":3600000,"maxSnapshotsPerSession":5,"maxPublicCreatesPerWindow":12,"maxPublicCommandsPerWindow":40},"status":"ready","runtimes":["node24","node22","python3.13"],"listProbe":[],"configured":true,"supportsFiles":true,"defaultRuntime":"node24","executionEnabled":false,"supportsSnapshots":true,"supportsCommandLogs":true,"networkPolicyDefault":"deny-all"},"provider":"vercel"}},"completed_at":null,"created_at":{}}],"status":"read","source":"postgres"}},"meta":{"generatedAt":"2026-07-09T11:30:48.598Z","traceId":"902dedcb67504ab38dd2ac8f9c44fb23","degraded":false,"source":"generated"},"warnings":[],"errors":[]}