{"ok":true,"service_id":"pool-v0.3.4","readme":"# Pool v0.3.4\n\nSafe local UI service for Goal.\n\n## Run From Goal\n\nStart Goal and open the portal.\n\n```powershell\n.\\start_goal_full_stack_v1.ps1\n```\n\nThen use the `Pool 시작` button at:\n\n```text\nhttp://127.0.0.1:8000/goal\n```\n\nPool opens at:\n\n```text\nhttp://127.0.0.1:8787/\n```\n\n## Run Directly\n\n```powershell\n.\\Start-Pool.ps1 -NoBrowser\n```\n\nThe launcher creates a local virtual environment when needed, installs Python\ndependencies from `requirements.txt`, binds the UI to `127.0.0.1`, and uses the\nbundled Codex Python runtime when `python` is not on `PATH`.\n\n## Safety Defaults\n\n- The UI binds to loopback only.\n- Real pool connections are disabled by default.\n- Share submission is disabled by default.\n- Remote miner admin/stat APIs are disabled by default.\n- State-changing UI API calls require a local Host header and same-origin local Origin header when the browser sends Origin.\n- The package ships `.env.example`; create `.env` only for local operator-specific settings.\n\n## Real Pool Mode\n\nUse mock or loopback pools by default. To enable a real pool, review the scripts\nyou plan to run, then use:\n\n```powershell\n.\\set_real_pool_env.ps1 -PoolHost \"approved.pool.example\"\n```\n\nThe script requires an explicit confirmation phrase and does not enable share\nsubmission. Share submission still requires:\n\n```powershell\n$env:ALLOW_SHARE_SUBMIT = \"true\"\n```\n\nOnly set these values after operator approval.\n\n## Remote Miner API Mode\n\nThe ccminer and xmrig stats APIs default to loopback. To query a remote miner API,\nset both an explicit allowed host and:\n\n```powershell\n$env:ALLOW_REMOTE_MINER_API = \"true\"\n```\n\nKeep this disabled for normal local UI use.\n\n## Verify\n\n```powershell\npython -m pytest -q tests\npython -m pip_audit -r requirements.txt\n```\n","goal_notes":""}