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
10
Makefile
10
Makefile
|
|
@ -18,8 +18,9 @@ TWINE_USERNAME ?= __token__
|
|||
PYPI_REPOSITORY_URL ?=
|
||||
USE_CASE_ENVIRONMENT ?= debian:12
|
||||
USE_CASE_SMOKE_FLAGS ?=
|
||||
DAILY_LOOP_ENVIRONMENT ?= debian:12
|
||||
|
||||
.PHONY: help setup lint format typecheck test check dist-check pypi-publish demo network-demo doctor ollama ollama-demo run-server install-hooks smoke-use-cases smoke-cold-start-validation smoke-repro-fix-loop smoke-parallel-workspaces smoke-untrusted-inspection smoke-review-eval runtime-bundle runtime-binaries runtime-kernel runtime-rootfs runtime-agent runtime-validate runtime-manifest runtime-sync runtime-clean runtime-fetch-binaries runtime-build-kernel-real runtime-build-rootfs-real runtime-materialize runtime-export-environment-oci runtime-export-official-environments-oci runtime-publish-environment-oci runtime-publish-official-environments-oci runtime-boot-check runtime-network-check
|
||||
.PHONY: help setup lint format typecheck test check dist-check pypi-publish demo network-demo doctor ollama ollama-demo run-server install-hooks smoke-daily-loop smoke-use-cases smoke-cold-start-validation smoke-repro-fix-loop smoke-parallel-workspaces smoke-untrusted-inspection smoke-review-eval runtime-bundle runtime-binaries runtime-kernel runtime-rootfs runtime-agent runtime-validate runtime-manifest runtime-sync runtime-clean runtime-fetch-binaries runtime-build-kernel-real runtime-build-rootfs-real runtime-materialize runtime-export-environment-oci runtime-export-official-environments-oci runtime-publish-environment-oci runtime-publish-official-environments-oci runtime-boot-check runtime-network-check
|
||||
|
||||
help:
|
||||
@printf '%s\n' \
|
||||
|
|
@ -36,6 +37,7 @@ help:
|
|||
' demo Run the deterministic VM demo' \
|
||||
' network-demo Run the deterministic VM demo with guest networking enabled' \
|
||||
' doctor Show runtime and host diagnostics' \
|
||||
' smoke-daily-loop Run the real guest-backed prepare plus reset daily-loop smoke' \
|
||||
' smoke-use-cases Run all real guest-backed workspace use-case smokes' \
|
||||
' smoke-cold-start-validation Run the cold-start repo validation smoke' \
|
||||
' smoke-repro-fix-loop Run the repro-plus-fix loop smoke' \
|
||||
|
|
@ -85,13 +87,14 @@ check: lint typecheck test
|
|||
dist-check:
|
||||
uv run python -m pyro_mcp.cli --version
|
||||
uv run python -m pyro_mcp.cli --help >/dev/null
|
||||
uv run python -m pyro_mcp.cli prepare --help >/dev/null
|
||||
uv run python -m pyro_mcp.cli host --help >/dev/null
|
||||
uv run python -m pyro_mcp.cli host doctor >/dev/null
|
||||
uv run python -m pyro_mcp.cli mcp --help >/dev/null
|
||||
uv run python -m pyro_mcp.cli run --help >/dev/null
|
||||
uv run python -m pyro_mcp.cli env list >/dev/null
|
||||
uv run python -m pyro_mcp.cli env inspect debian:12 >/dev/null
|
||||
uv run python -m pyro_mcp.cli doctor >/dev/null
|
||||
uv run python -m pyro_mcp.cli doctor --environment debian:12 >/dev/null
|
||||
|
||||
pypi-publish:
|
||||
@if [ -z "$$TWINE_PASSWORD" ]; then \
|
||||
|
|
@ -116,6 +119,9 @@ network-demo:
|
|||
doctor:
|
||||
uv run pyro doctor
|
||||
|
||||
smoke-daily-loop:
|
||||
uv run python scripts/daily_loop_smoke.py --environment "$(DAILY_LOOP_ENVIRONMENT)"
|
||||
|
||||
smoke-use-cases:
|
||||
uv run python scripts/workspace_use_case_smoke.py --scenario all --environment "$(USE_CASE_ENVIRONMENT)" $(USE_CASE_SMOKE_FLAGS)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue