Promote stable workspace product for 3.0.0
Freeze the current workspace-first surface as the stable 3.0 contract and reposition the landing docs, CLI help, and public contract around the stable workspace path after the one-shot proof. Bump the package and catalog compatibility to 3.0.0, add a dedicated workspace walkthrough tape/GIF, and mark the 3.0.0 roadmap milestone done while keeping runtime capability unchanged in this release. Validation: uv lock; UV_CACHE_DIR=.uv-cache make check; UV_CACHE_DIR=.uv-cache make dist-check; UV_CACHE_DIR=.uv-cache uv build; UV_CACHE_DIR=.uv-cache uvx --from twine twine check dist/*; built-wheel CLI smoke for pyro --help and pyro workspace --help; vhs validate plus rendered workspace-first-run.gif outside the sandbox because vhs crashes when sandboxed.
This commit is contained in:
parent
c82f4629b2
commit
f2d20ef30a
15 changed files with 255 additions and 42 deletions
|
|
@ -31,6 +31,10 @@ def test_cli_help_guides_first_run() -> None:
|
|||
assert "pyro env list" in help_text
|
||||
assert "pyro env pull debian:12" in help_text
|
||||
assert "pyro run debian:12 -- git --version" in help_text
|
||||
assert "Continue into the stable workspace path after that:" in help_text
|
||||
assert "pyro workspace exec WORKSPACE_ID -- cat note.txt" in help_text
|
||||
assert "pyro workspace snapshot create WORKSPACE_ID checkpoint" in help_text
|
||||
assert "pyro workspace reset WORKSPACE_ID --snapshot checkpoint" in help_text
|
||||
assert "pyro workspace sync push WORKSPACE_ID ./changes" in help_text
|
||||
assert "Use `pyro mcp serve` only after the CLI validation path works." in help_text
|
||||
|
||||
|
|
@ -62,6 +66,7 @@ def test_cli_subcommand_help_includes_examples_and_guidance() -> None:
|
|||
assert "Use this from an MCP client config after the CLI evaluation path works." in mcp_help
|
||||
|
||||
workspace_help = _subparser_choice(parser, "workspace").format_help()
|
||||
assert "stable workspace contract" in workspace_help
|
||||
assert "pyro workspace create debian:12 --seed-path ./repo" in workspace_help
|
||||
assert "pyro workspace sync push WORKSPACE_ID ./repo --dest src" in workspace_help
|
||||
assert "pyro workspace exec WORKSPACE_ID" in workspace_help
|
||||
|
|
@ -2569,7 +2574,7 @@ def test_cli_workspace_exec_json_error_exits_nonzero(
|
|||
def test_print_env_helpers_render_human_output(capsys: pytest.CaptureFixture[str]) -> None:
|
||||
cli._print_env_list_human(
|
||||
{
|
||||
"catalog_version": "2.0.0",
|
||||
"catalog_version": "3.0.0",
|
||||
"environments": [
|
||||
{"name": "debian:12", "installed": True, "description": "Git environment"},
|
||||
"ignored",
|
||||
|
|
@ -2615,7 +2620,7 @@ def test_print_env_helpers_render_human_output(capsys: pytest.CaptureFixture[str
|
|||
}
|
||||
)
|
||||
captured = capsys.readouterr().out
|
||||
assert "Catalog version: 2.0.0" in captured
|
||||
assert "Catalog version: 3.0.0" in captured
|
||||
assert "debian:12 [installed] Git environment" in captured
|
||||
assert "Install manifest: /cache/linux-x86_64/debian_12-1.0.0/environment.json" in captured
|
||||
assert "Deleted 2 cached environment entries." in captured
|
||||
|
|
@ -2624,7 +2629,7 @@ def test_print_env_helpers_render_human_output(capsys: pytest.CaptureFixture[str
|
|||
|
||||
|
||||
def test_print_env_list_human_handles_empty(capsys: pytest.CaptureFixture[str]) -> None:
|
||||
cli._print_env_list_human({"catalog_version": "2.0.0", "environments": []})
|
||||
cli._print_env_list_human({"catalog_version": "3.0.0", "environments": []})
|
||||
output = capsys.readouterr().out
|
||||
assert "No environments found." in output
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue