Commit graph

43 commits

Author SHA1 Message Date
2de31306b6 Refresh docs and examples for workspaces
Rewrite the user-facing persistent sandbox story around pyro workspace ..., including the install guide, first-run transcript, integrations notes, and public contract reference.

Rename the Python example to examples/python_workspace.py and update the docs to use the new workspace create, sync, exec, status, logs, and delete flows with seed_path/workspace_id terminology.

Mark the 2.4.0 workspace-contract pivot as done in the roadmap now that the shipped CLI, SDK, MCP, docs, and tests all use the workspace-first surface.
2026-03-12 01:28:40 -03:00
48b82d8386 Pivot persistent APIs to workspaces
Replace the public persistent-sandbox contract with workspace-first naming across CLI, SDK, MCP, payloads, and on-disk state.

Rename the task surface to workspace equivalents, switch create-time seeding to `seed_path`, and store records under `workspaces/<workspace_id>/workspace.json` without carrying legacy task aliases or migrating old local task state.

Keep `pyro run` and `vm_*` unchanged. Validation covered `uv lock`, focused public-contract/API/CLI/manager tests, `UV_CACHE_DIR=.uv-cache make check`, and `UV_CACHE_DIR=.uv-cache make dist-check`.
2026-03-12 01:24:01 -03:00
f57454bcb4 Add workspace-first roadmap milestones
Break the updated workspace vision into a checked-in roadmap from 2.4.0 through 3.1.0 so later implementation can be driven milestone by milestone.

Link the roadmap from the vision doc and keep each release slice scoped to one product capability, from the workspace contract pivot through shells, export/diff, services, snapshots, secrets, networking, and GA promotion.

This is a docs-only planning scaffold; runtime behavior stays unchanged in this commit.
2026-03-12 01:21:26 -03:00
dccc2152e3
Document the agent-workspace vision
Clarify that pyro should evolve into a disposable workspace for agents instead of drifting into a secure CI or task-runner identity.

Add a dedicated vision doc that captures the product thesis, anti-goals, naming guidance, and the future interaction model around workspaces, shells, services, snapshots, and reset. Link that doc from the README landing path and persistent task section so the distinction is visible to new users.

Keep the proposed workspace and shell primitives explicitly illustrative so the vision sharpens direction without silently changing the current public contract.
2026-03-11 23:54:15 -03:00
9e11dcf9ab Add task sync push milestone
Tasks could start from host content in 2.2.0, but there was still no post-create path to update a live workspace from the host. This change adds the next host-to-task step so repeated fix or review loops do not require recreating the task for every local change.

Add task sync push across the CLI, Python SDK, and MCP server, reusing the existing safe archive import path from seeded task creation instead of introducing a second transfer stack. The implementation keeps sync separate from workspace_seed metadata, validates destinations under /workspace, and documents the current non-atomic recovery path as delete-and-recreate.

Validation:
- uv lock
- UV_CACHE_DIR=.uv-cache uv run pytest --no-cov tests/test_cli.py tests/test_vm_manager.py tests/test_api.py tests/test_server.py tests/test_public_contract.py
- UV_CACHE_DIR=.uv-cache make check
- UV_CACHE_DIR=.uv-cache make dist-check
- real guest-backed smoke: task create --source-path, task sync push, task exec to verify both files, task delete
2026-03-11 22:20:55 -03:00
aa886b346e Add seeded task workspace creation
Current persistent tasks started with an empty workspace, which blocked the first useful host-to-task workflow in the task roadmap. This change lets task creation start from a host directory or tar archive without changing the one-shot VM surfaces.

Expose source_path on task create across the CLI, SDK, and MCP, add safe archive upload and extraction support for guest and host-compat backends, persist workspace_seed metadata, and patch the per-task rootfs with the bundled guest agent before boot so seeded guest tasks work without republishing environments. Also switch post--- command reconstruction to shlex.join() so documented sh -lc task examples preserve argument boundaries.

Validation:
- uv lock
- UV_CACHE_DIR=.uv-cache uv run pytest --no-cov tests/test_vm_guest.py tests/test_vm_manager.py tests/test_cli.py tests/test_api.py tests/test_server.py tests/test_public_contract.py
- UV_CACHE_DIR=.uv-cache make check
- UV_CACHE_DIR=.uv-cache make dist-check
- real guest-backed smoke: task create --source-path, task exec -- cat note.txt, task delete
2026-03-11 21:45:38 -03:00
58df176148 Add persistent task workspace alpha
Start the first workspace milestone toward the task-oriented product without changing the existing one-shot vm_run/pyro run contract.

Add a disk-backed task registry in the manager, auto-started task workspaces rooted at /workspace, repeated non-cleaning exec, and persisted command journals exposed through task create/exec/status/logs/delete across the CLI, Python SDK, and MCP server.

Update the public contract, docs, examples, and version/catalog metadata for 2.1.0, and cover the new surface with manager, CLI, SDK, and MCP tests. Validation: UV_CACHE_DIR=.uv-cache make check and UV_CACHE_DIR=.uv-cache make dist-check.
2026-03-11 20:10:10 -03:00
6e16e74fd5 Harden default environment pull behavior
Fix the default one-shot install path so empty bundled profile directories no longer win over OCI-backed environment pulls or leave broken cached symlinks behind.

Treat cached installs as valid only when the manifest and boot artifacts are all present, repair invalid installs on the next pull, and add human-mode phase markers for env pull and run without changing JSON output.

Align the Python lifecycle example and public docs with the current exec_vm/vm_exec auto-clean semantics, and validate the slice with focused pytest coverage, make check, make dist-check, and a real default-path pull/inspect/run smoke.
2026-03-11 19:27:09 -03:00
694be0730b Align quickstart guidance across docs and CLI 2026-03-09 23:14:52 -03:00
81636e86fb Refresh quickstart walkthrough recording 2026-03-09 23:06:21 -03:00
0181de2563 Remove GitHub-specific project plumbing 2026-03-09 22:58:29 -03:00
895cb608c0 Add terminal walkthrough assets 2026-03-09 22:49:56 -03:00
be654b5b41 Clarify package install and run expectations 2026-03-09 21:36:36 -03:00
b2ea56db4c Polish onboarding and CLI help 2026-03-09 21:12:56 -03:00
38b6aeba68 Align doctor docs with CLI output 2026-03-09 21:00:37 -03:00
5d63e4c16e Ship trust-first CLI and runtime defaults 2026-03-09 20:52:49 -03:00
fb718af154 Add Make target for PyPI publishing 2026-03-09 19:26:57 -03:00
7ccab61a1b Refresh release docs for Docker Hub environments 2026-03-09 18:56:33 -03:00
6988d85f7d Switch official environment publishing to Docker Hub 2026-03-09 17:39:18 -03:00
0c4ac17b82 Stabilize kernel materialization parallelism 2026-03-08 20:43:51 -03:00
89d0cb93bf Automate GHCR environment publishing 2026-03-08 18:30:11 -03:00
6406f673c1 Add OCI registry publish support 2026-03-08 18:27:32 -03:00
f6d3bf0e90 Export bootable environments as OCI layouts 2026-03-08 18:17:25 -03:00
89f3d6f012 Align docs and Makefile with public release surface 2026-03-08 17:36:11 -03:00
f3e7d4aa3e Normalize Ollama demo tool arguments 2026-03-08 17:16:28 -03:00
75082467f9 Add direct GHCR environment pulls 2026-03-08 16:08:01 -03:00
5d5243df23 Refactor public API around environments 2026-03-08 16:02:02 -03:00
57dae52cc2 Add concrete Claude Desktop and Cursor MCP configs 2026-03-08 13:41:47 -03:00
a5cde71b37 Add LangChain vm_run wrapper example 2026-03-08 13:39:10 -03:00
f7c8a4366b Add OpenAI Responses API vm_run integration example 2026-03-08 13:29:36 -03:00
0aa5e25dc1 Add adoption-focused examples, contract docs, and CLI polish 2026-03-07 22:34:14 -03:00
227983a877 Document Git LFS runtime bundle workflow 2026-03-07 17:14:52 -03:00
1b19bff7b6 Finalize guest boot and exec runtime updates 2026-03-07 17:09:21 -03:00
23a2dfb330 Unify public UX around pyro CLI and Pyro facade 2026-03-07 16:28:28 -03:00
d16aadd03f Add Makefile help target 2026-03-07 14:09:14 -03:00
8bce1ed7d4 Align docs with real guest networking runtime 2026-03-06 22:54:18 -03:00
b01efa6452 Enable real guest networking and make demos network-first 2026-03-06 22:47:16 -03:00
c43c718c83 Add real runtime materialization pipeline and bundle artifacts 2026-03-06 19:26:29 -03:00
cbf212bb7b Add runtime capability scaffolding and align docs 2026-03-05 22:57:09 -03:00
fb8b985049 Harden Ollama demo tool-call handling and logging 2026-03-05 21:37:02 -03:00
65f7c0d262 Bundle firecracker runtime and switch ollama demo to live logs 2026-03-05 20:20:36 -03:00
ef0ddeaa11 fix model 2026-03-05 15:44:10 -03:00
11d6f4bcb4 Bootstrap pyro_mcp v0.0.1 with MCP static tool and Ollama demo 2026-03-05 15:41:57 -03:00