Add daily-loop prepare and readiness checks
Make the local chat-host loop explicit and cheap so users can warm the machine once instead of rediscovering environment and guest setup on every session. Add cache-backed daily-loop manifests plus the new `pyro prepare` flow, extend `pyro doctor --environment` with warm/cold/stale readiness reporting, and add `make smoke-daily-loop` to prove the warmed repro-fix reset path end to end. Also fix `python -m pyro_mcp.cli` to invoke `main()` so the new smoke and `dist-check` actually exercise the CLI module, and update the docs/roadmap to present `doctor -> prepare -> connect host -> reset` as the recommended daily path. Validation: `uv lock`, `UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache make check`, `UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache make dist-check`, and `UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache make smoke-daily-loop`.
This commit is contained in:
parent
d0cf6d8f21
commit
663241d5d2
26 changed files with 1592 additions and 199 deletions
33
README.md
33
README.md
|
|
@ -30,7 +30,7 @@ SDK-first platform.
|
|||
- Troubleshooting: [docs/troubleshooting.md](docs/troubleshooting.md)
|
||||
- Stable workspace walkthrough GIF: [docs/assets/workspace-first-run.gif](docs/assets/workspace-first-run.gif)
|
||||
- Terminal walkthrough GIF: [docs/assets/first-run.gif](docs/assets/first-run.gif)
|
||||
- What's new in 4.4.0: [CHANGELOG.md#440](CHANGELOG.md#440)
|
||||
- What's new in 4.5.0: [CHANGELOG.md#450](CHANGELOG.md#450)
|
||||
- PyPI package: [pypi.org/project/pyro-mcp](https://pypi.org/project/pyro-mcp/)
|
||||
|
||||
## Who It's For
|
||||
|
|
@ -54,8 +54,7 @@ Use either of these equivalent quickstart paths:
|
|||
# Package without install
|
||||
python -m pip install uv
|
||||
uvx --from pyro-mcp pyro doctor
|
||||
uvx --from pyro-mcp pyro env list
|
||||
uvx --from pyro-mcp pyro env pull debian:12
|
||||
uvx --from pyro-mcp pyro prepare debian:12
|
||||
uvx --from pyro-mcp pyro run debian:12 -- git --version
|
||||
```
|
||||
|
||||
|
|
@ -64,8 +63,7 @@ uvx --from pyro-mcp pyro run debian:12 -- git --version
|
|||
```bash
|
||||
# Already installed
|
||||
pyro doctor
|
||||
pyro env list
|
||||
pyro env pull debian:12
|
||||
pyro prepare debian:12
|
||||
pyro run debian:12 -- git --version
|
||||
```
|
||||
|
||||
|
|
@ -91,12 +89,21 @@ git version ...
|
|||
|
||||
The first pull downloads an OCI environment from public Docker Hub, requires
|
||||
outbound HTTPS access to `registry-1.docker.io`, and needs local cache space
|
||||
for the guest image.
|
||||
for the guest image. `pyro prepare debian:12` performs that install step
|
||||
automatically, then proves create, exec, reset, and delete on one throwaway
|
||||
workspace so the daily loop is warm before the chat host connects.
|
||||
|
||||
## Chat Host Quickstart
|
||||
|
||||
After the quickstart works, the intended next step is to connect a chat host in
|
||||
one named mode. Use the helper flow first:
|
||||
After the quickstart works, make the daily loop explicit before you connect the
|
||||
chat host:
|
||||
|
||||
```bash
|
||||
uvx --from pyro-mcp pyro doctor --environment debian:12
|
||||
uvx --from pyro-mcp pyro prepare debian:12
|
||||
```
|
||||
|
||||
Then connect a chat host in one named mode. Use the helper flow first:
|
||||
|
||||
```bash
|
||||
uvx --from pyro-mcp pyro host connect codex --mode repro-fix
|
||||
|
|
@ -198,13 +205,15 @@ snapshots, secrets, network policy, or disk tools.
|
|||
## Zero To Hero
|
||||
|
||||
1. Validate the host with `pyro doctor`.
|
||||
2. Pull `debian:12` and prove guest execution with `pyro run debian:12 -- git --version`.
|
||||
3. Connect Claude Code, Codex, or OpenCode with one named mode such as
|
||||
2. Warm the machine-level daily loop with `pyro prepare debian:12`.
|
||||
3. Prove guest execution with `pyro run debian:12 -- git --version`.
|
||||
4. Connect Claude Code, Codex, or OpenCode with one named mode such as
|
||||
`pyro host connect codex --mode repro-fix`, then fall back to raw
|
||||
`pyro mcp serve --mode ...` or the generic no-mode path when needed.
|
||||
4. Start with one recipe from [docs/use-cases/README.md](docs/use-cases/README.md).
|
||||
5. Start with one recipe from [docs/use-cases/README.md](docs/use-cases/README.md).
|
||||
`repro-fix` is the shortest chat-first mode and story.
|
||||
5. Use `make smoke-use-cases` as the trustworthy guest-backed verification path
|
||||
6. Use `workspace reset` as the normal retry step inside that warmed loop.
|
||||
7. Use `make smoke-use-cases` as the trustworthy guest-backed verification path
|
||||
for the advertised workflows.
|
||||
|
||||
That is the intended user journey. The terminal commands exist to validate and
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue