{
  "schema": "creative_machine_readiness.v1",
  "generated_utc": "2026-05-13T07:49:56Z",
  "status": "review_only_endpoint_preflight_no_paid_generation_started",
  "purpose": "Make the Sonic-Forage machine feel like a full creative workstation: talk, art, music, video, live show, and safe ComfyUI/cloud endpoint routing.",
  "probe_summary": {
    "mindforge_omni_endpoint": "healthy",
    "mindforge_paths": [
      "/health",
      "/v1/audio/speech",
      "/v1/images/generations",
      "/v1/brain/chat",
      "/v1/omni/create"
    ],
    "mindforge_health_models": {
      "brain": "Qwen3.6-27B via OpenRouter",
      "tts": "OmniVoice checkpoint-1500 / MindExpander clone",
      "image": "HiDream-O1-Image-Dev max 2048x2048"
    },
    "modal_cli": "available: modal client version 1.4.2",
    "local_comfyui_server": "not_running_on_127.0.0.1:8188",
    "comfy_cli": "not_installed_on_path",
    "comfy_cloud_api_key": "not_present_in_env_probe",
    "uvx": "available_for_comfy_cli_bootstrap",
    "ffmpeg_ffprobe": "available",
    "python_node_npm": "available",
    "missing_or_recommended": [
      "comfy-cli install or uvx wrapper",
      "COMFY_CLOUD_API_KEY if using Comfy Cloud",
      "ComfyUI endpoint URL/secret if using RunPod/VPS",
      "websocket-client Python package for live ComfyUI progress",
      "jq CLI for shell JSON ergonomics",
      "workflow registry under workflows/comfyui/",
      "model ledger with approval gates before downloads"
    ]
  },
  "lanes": [
    {
      "id": "talk",
      "title": "Talk / host / character voices",
      "ready": "partial_live",
      "backend": "MindForge / OmniVoice FULL_TRAIN endpoint; local TTS fallback available",
      "safe_next": "Add a short text-only voice smoke card, then approve one explicit TTS generation if needed."
    },
    {
      "id": "art",
      "title": "Art / posters / backgrounds / avatars",
      "ready": "endpoint_preflight_ready",
      "backend": "MindForge /v1/images/generations is advertised by OpenAPI; ComfyUI Cloud/local can become the workflow engine",
      "safe_next": "Run one approved tiny image generation test or wire ComfyUI API once key/base URL is provided."
    },
    {
      "id": "music",
      "title": "Music / radio beds / loops",
      "ready": "partial_live",
      "backend": "Generated radio bed + FFmpeg live pusher already works; ACE-Step/Stable Audio/Comfy workflow lane needs endpoint/workflow",
      "safe_next": "Create workflow registry and first approved smoke song workflow."
    },
    {
      "id": "video",
      "title": "Video / bumpers / VJ loops",
      "ready": "scaffold_ready",
      "backend": "FFmpeg packaging available; ComfyUI Wan/LTX or vLLM-Omni video needs A100/A10G endpoint and approved workflow",
      "safe_next": "Keep video as queued review artifacts until an approved GPU endpoint is selected."
    },
    {
      "id": "live_show",
      "title": "Live show / browser program / stream cockpit",
      "ready": "live_primary_exists",
      "backend": "Modal single-primary generated-radio pusher + static browser surfaces + watchdog",
      "safe_next": "Add redacted status JSON panel and source-refresh script for approved visual swaps."
    },
    {
      "id": "comfyui",
      "title": "ComfyUI cloud/local workflow engine",
      "ready": "not_connected_yet",
      "backend": "No local server, no COMFY_CLOUD_API_KEY in env, comfy CLI not installed on PATH; uvx can bootstrap",
      "safe_next": "Choose Comfy Cloud API key or provide RunPod/VPS base URL; preflight /system_stats /object_info /queue /prompt before POST /prompt."
    }
  ],
  "closed_gates": {
    "starts_paid_generation": false,
    "downloads_large_models": false,
    "starts_gpu_job": false,
    "posts_publicly": false,
    "uploads_private_media": false,
    "prints_secrets_or_endpoints": false,
    "chat_to_shell": false,
    "model_training": false,
    "cron_mutation_from_page": false
  },
  "approved_without_more_input": [
    "Read-only endpoint health checks",
    "Static pages/manifests/verifiers",
    "Local browser previews",
    "Secret scans",
    "Repo-only workflow registry drafts"
  ],
  "needs_human_yes_or_secret": [
    "COMFY_CLOUD_API_KEY or current RunPod/VPS ComfyUI base URL",
    "Any POST /prompt generation on paid Comfy/RunPod/Modal GPU",
    "Large model downloads",
    "Live stream visual source swap",
    "Public posting/payment/outreach/uploads"
  ],
  "operator_install_plan": [
    "Install comfy-cli with uvx/pipx or use uvx --from comfy-cli comfy --help.",
    "If cloud: set COMFY_CLOUD_API_KEY in protected env only; preflight cloud /api routes.",
    "If local/RunPod/VPS: expose a reachable COMFYUI_BASE_URL and verify /system_stats, /queue, /prompt, /object_info.",
    "Create workflows/comfyui/ registry and model ledger before downloads.",
    "Install websocket-client for live progress and jq for easier CLI parsing.",
    "Run one smoke workflow only after explicit approval, then record prompt_id, outputs, queue-empty receipt, and costs."
  ],
  "proof_paths": [
    "docs/operator/creative_machine_readiness.html",
    "docs/data/creative-machine-readiness.json",
    "scripts/verify_creative_machine_readiness.py",
    "docs/operator/sonic_forage_live_framework_lesson.html"
  ]
}
