Commit graph

20 commits

Author SHA1 Message Date
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
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
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
89f3d6f012 Align docs and Makefile with public release surface 2026-03-08 17:36:11 -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