{"apiVersion": "openeyes.nails.web.v1", "boundary": "go_live_provider_collector_workspace_preparation_local_only", "collectionExecutionEnabled": false, "contract": {"additionalProperties": false, "contractVersion": 1, "methods": ["POST"], "name": "nails-production-cutover-provider-collector-workspace", "optionalFields": ["handoffDir", "outputDir", "observedAt", "windowStart", "windowEnd", "exportSuffix", "replace", "compactOutputFiles"], "requiredFields": ["startBundle"], "schemaDigest": "4956460d3b9f191ce26c6fe4111ad14e0b9e90f55f9ccd42dc2e4b2f3778760f", "schemaId": "https://openeyes.local/plugins/nails/web/v1/production-cutover-provider-collector-workspace-request.schema.json"}, "deployEnabled": false, "links": {"providerAuthorizationCompletion": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:provider-authorization-completion-contract", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:provider-authorization-completion"}, "realEvidenceEntryConfirmedWrite": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:real-evidence-entry-confirmed-write-contract", "evidenceEntryId": "provider_collector_return", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:real-evidence-entry-confirmed-write"}, "stagingExecutionPacketAudit": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:staging-execution-packet-audit-contract", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:staging-execution-packet-audit", "requiresFilledProviderCollectorReturn": true}}, "liveCollectionEnabled": false, "localWrapper": {"collectionExecutionEnabled": false, "commandTemplate": "rtk python scripts/nails_prepare_go_live_provider_collector_workspace.py --start-bundle <startBundle> --handoff-dir <handoffDir> --output-dir <outputDir>", "deployEnabled": false, "liveCollectionEnabled": false, "network": false, "productionMutations": false, "script": "scripts/nails_prepare_go_live_provider_collector_workspace.py", "steps": ["locate verified provider crawl handoff", "prepare empty external collector workspace", "prepare raw JSONL collector-source drop zone", "advance the local go-live tracker with provider_collector_workspace"], "submitEnabled": false, "uploadEnabled": false}, "method": "GET", "network": false, "ok": true, "pluginId": "nails", "productionMutations": false, "route": "/api/web/v1/plugins/nails/production-cutover:provider-collector-workspace-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/production-cutover-provider-collector-workspace-request.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": {"compactOutputFiles": {"default": false, "description": "Write compact JSON artifacts when true.", "type": "boolean"}, "exportSuffix": {"description": "Optional suffix for generated collector export names.", "minLength": 1, "type": "string"}, "handoffDir": {"description": "Optional verified provider crawl handoff directory. Defaults to the latest provider authorization completion recorded inside the start bundle.", "minLength": 1, "type": "string"}, "observedAt": {"description": "Optional collector observation timestamp.", "minLength": 1, "type": "string"}, "outputDir": {"description": "Optional empty local output directory for workspace preparation artifacts. When supplied it must resolve inside the start bundle.", "minLength": 1, "type": "string"}, "replace": {"default": false, "description": "Allow replacing the provider_collector_workspace stage entry when advancing the local go-live tracker.", "type": "boolean"}, "startBundle": {"description": "Local go-live start bundle directory whose provider authorization stage has completed.", "minLength": 1, "type": "string"}, "windowEnd": {"description": "Optional collection window end timestamp.", "minLength": 1, "type": "string"}, "windowStart": {"description": "Optional collection window start timestamp.", "minLength": 1, "type": "string"}}, "required": ["startBundle"], "title": "Nails Production Cutover Provider Collector Workspace Request v1", "type": "object"}, "sideEffects": "local_provider_collector_workspace_files_only", "submitEnabled": false, "uploadEnabled": false, "workspaceBoundary": {"advancesLocalGoLiveTracker": true, "collectionExecutionEnabled": false, "deployEnabled": false, "generatesCollectorRecords": false, "liveCollectionEnabled": false, "mode": "provider_collector_workspace_preparation_local_files_only", "network": false, "preparesExternalCollectorWorkspace": true, "preparesRawSourceDropZone": true, "productionMutations": false, "readsLocalFiles": true, "secretMaterialReturned": false, "submitEnabled": false, "uploadEnabled": false, "writesLocalFiles": true, "writesLocalState": false}, "workspaceContractPath": "/api/web/v1/plugins/nails/production-cutover:provider-collector-workspace-contract", "workspacePath": "/api/web/v1/plugins/nails/production-cutover:provider-collector-workspace"}