{"ok": true, "requestId": "1dac474b-914b-41ed-8f77-7f58e6416b88", "version": "private-workspace-foundation-v1.1", "readOnly": true, "mutationAllowed": false, "submittedPayloadsEchoed": false, "publicKnowledgeFree": true, "billingLive": false, "privateWorkspaceLive": false, "privateIngestionLive": false, "privateSearchLive": false, "privateAskLive": false, "privateDataAccepted": false, "accountCreationLive": false, "checkoutLive": false, "paymentProviderConnected": false, "paymentIsSafetyBypass": false, "readiness": [{"id": "public_knowledge_base", "label": "Public Knowledge Base", "category": "public_free", "state": "available_public", "statusLabel": "Available public read", "live": true, "planned": false, "blocked": false, "operatorControlled": false, "summary": "Public wiki-style articles, context, citations, and related links remain free.", "nextStep": "Keep expanding public authority content and citation coverage."}, {"id": "public_ask", "label": "Public Ask Over Public Context", "category": "public_free", "state": "available_public", "statusLabel": "Available public read", "live": true, "planned": false, "blocked": false, "operatorControlled": false, "summary": "Public Ask answers from bounded public Knowledge Base context with citations and no submitted-payload echo.", "nextStep": "Keep public answers bounded to public context."}, {"id": "subscription_plan_display", "label": "Subscription Plan Display", "category": "public_free", "state": "available_public", "statusLabel": "Available public read", "live": true, "planned": false, "blocked": false, "operatorControlled": false, "summary": "Pricing and plan pages explain the free-public and paid-private boundary without checkout.", "nextStep": "Use the pages to validate the product model before enabling billing."}, {"id": "private_workspace_identity", "label": "Private Workspace Identity", "category": "planned_private", "state": "planned_not_live", "statusLabel": "Planned, not live", "live": false, "planned": true, "blocked": true, "operatorControlled": true, "summary": "Future account and member identity must be present before any private workspace access.", "nextStep": "Implement account and workspace identity after schema and billing decisions are approved."}, {"id": "private_source_ingestion", "label": "Private Source Ingestion", "category": "planned_private", "state": "planned_not_live", "statusLabel": "Planned, not live", "live": false, "planned": true, "blocked": true, "operatorControlled": true, "summary": "Private source intake is planned only; public routes do not accept private documents.", "nextStep": "Design authenticated intake, redaction, storage, and audit before accepting private sources."}, {"id": "private_search", "label": "Private Search", "category": "planned_private", "state": "planned_not_live", "statusLabel": "Planned, not live", "live": false, "planned": true, "blocked": true, "operatorControlled": true, "summary": "Workspace-scoped search over private indexes is planned after tenant isolation exists.", "nextStep": "Require workspace authorization, citations, and audit before private search launches."}, {"id": "private_ask", "label": "Private Ask", "category": "planned_private", "state": "planned_not_live", "statusLabel": "Planned, not live", "live": false, "planned": true, "blocked": true, "operatorControlled": true, "summary": "Workspace-scoped answers over private context are planned and must never weaken public safety boundaries.", "nextStep": "Reuse the public answer layer only after workspace authorization and private citation controls exist."}, {"id": "audit_history", "label": "Audit History", "category": "planned_private", "state": "operator_controlled_not_live", "statusLabel": "Operator-controlled, not live", "live": false, "planned": true, "blocked": true, "operatorControlled": true, "summary": "Private workspace reads, writes, exports, and retention actions require audit-safe metadata.", "nextStep": "Add durable audit records before enabling private workspace mutations."}, {"id": "retention_controls", "label": "Retention Controls", "category": "planned_private", "state": "operator_controlled_not_live", "statusLabel": "Operator-controlled, not live", "live": false, "planned": true, "blocked": true, "operatorControlled": true, "summary": "Retention windows, export requests, deletion requests, and holds are policy previews only.", "nextStep": "Implement retention jobs only after workspace authorization, audit, and operator approval."}, {"id": "team_permissions", "label": "Team Permissions", "category": "planned_private", "state": "planned_not_live", "statusLabel": "Planned, not live", "live": false, "planned": true, "blocked": true, "operatorControlled": true, "summary": "Owner, admin, member, viewer, and service-agent roles are planned inside one workspace boundary.", "nextStep": "Add role checks before private reads, writes, exports, or deletion requests."}, {"id": "enterprise_controls", "label": "Enterprise Controls", "category": "planned_private", "state": "planned_not_live", "statusLabel": "Planned, not live", "live": false, "planned": true, "blocked": true, "operatorControlled": true, "summary": "Enterprise policy and support controls are planned and must not imply certification.", "nextStep": "Define enterprise policy contracts without making unsupported compliance claims."}, {"id": "billing_provider", "label": "Billing Provider", "category": "planned_private", "state": "operator_controlled_not_live", "statusLabel": "Operator-controlled, not live", "live": false, "planned": true, "blocked": true, "operatorControlled": true, "summary": "Billing integration is not connected; plan pages do not create checkout or payment sessions.", "nextStep": "Select and configure billing only in a separate approved implementation pass."}], "status": {"workspaceLive": false, "billingLive": false, "privateIngestionLive": false, "privateSearchLive": false, "privateAskLive": false, "mutationAllowed": false, "submittedPayloadsEchoed": false, "publicKnowledgeFree": true, "paymentIsSafetyBypass": false, "privateDataAccepted": false, "checkoutLive": false, "accountCreationLive": false, "workspaceSchemaCreated": false}, "summary": {"availablePublicCount": 3, "plannedCount": 9, "blockedCount": 9, "operatorControlledCount": 9, "privateWorkspaceCreationLive": false, "privateDataAcceptanceLive": false}, "nextLinks": {"pricing": "/pricing/", "privateWiki": "/private-wiki/", "privateWorkspace": "/private-workspace/", "readiness": "/private-workspace/readiness/", "lifecycle": "/private-workspace/lifecycle/", "dataBoundary": "/private-workspace/data-boundary/", "requestAccess": "/private-workspace/request-access/", "status": "/api/private-workspace/status", "entitlements": "/api/private-workspace/entitlements", "schemaPlan": "/api/private-workspace/schema-plan", "accessBoundary": "/api/private-workspace/access-boundary", "readinessApi": "/api/private-workspace/readiness", "lifecycleApi": "/api/private-workspace/lifecycle", "dataBoundaryApi": "/api/private-workspace/data-boundary", "retentionPolicy": "/api/private-workspace/retention-policy", "auditPolicy": "/api/private-workspace/audit-policy", "accessRequestSchema": "/api/private-workspace/access-request-schema", "accessRequestV12Schema": "/api/private-workspace/access-request/schema", "accessRequestPreview": "/api/private-workspace/access-request/preview", "subscriptionStatus": "/api/subscription/status", "publicKnowledgeBase": "/knowledge-base/"}}