Add opinionated MCP modes for workspace workflows
Introduce explicit repro-fix, inspect, cold-start, and review-eval modes across the MCP server, CLI, and host helpers, with canonical mode-to-tool mappings, narrowed schemas, and mode-specific tool descriptions on top of the existing workspace runtime. Reposition the docs, host onramps, and use-case recipes so named modes are the primary user-facing startup story while the generic no-mode workspace-core path remains the escape hatch, and update the shared smoke runner to validate repro-fix and cold-start through mode-backed servers. Validation: UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache uv run pytest --no-cov tests/test_api.py tests/test_server.py tests/test_host_helpers.py tests/test_public_contract.py tests/test_cli.py tests/test_workspace_use_case_smokes.py; UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache make check; UV_OFFLINE=1 UV_CACHE_DIR=.uv-cache make dist-check; real guest-backed make smoke-repro-fix-loop smoke-cold-start-validation outside the sandbox.
This commit is contained in:
parent
dc86d84e96
commit
d0cf6d8f21
33 changed files with 1034 additions and 274 deletions
|
|
@ -12,13 +12,13 @@ make smoke-use-cases
|
|||
|
||||
Recipe matrix:
|
||||
|
||||
| Use case | Recommended profile | Smoke target | Recipe |
|
||||
| Use case | Recommended mode | Smoke target | Recipe |
|
||||
| --- | --- | --- | --- |
|
||||
| Cold-start repo validation | `workspace-full` | `make smoke-cold-start-validation` | [cold-start-repo-validation.md](cold-start-repo-validation.md) |
|
||||
| Repro plus fix loop | `workspace-core` | `make smoke-repro-fix-loop` | [repro-fix-loop.md](repro-fix-loop.md) |
|
||||
| Parallel isolated workspaces | `workspace-core` | `make smoke-parallel-workspaces` | [parallel-workspaces.md](parallel-workspaces.md) |
|
||||
| Unsafe or untrusted code inspection | `workspace-core` | `make smoke-untrusted-inspection` | [untrusted-inspection.md](untrusted-inspection.md) |
|
||||
| Review and evaluation workflows | `workspace-full` | `make smoke-review-eval` | [review-eval-workflows.md](review-eval-workflows.md) |
|
||||
| Cold-start repo validation | `cold-start` | `make smoke-cold-start-validation` | [cold-start-repo-validation.md](cold-start-repo-validation.md) |
|
||||
| Repro plus fix loop | `repro-fix` | `make smoke-repro-fix-loop` | [repro-fix-loop.md](repro-fix-loop.md) |
|
||||
| Parallel isolated workspaces | `repro-fix` | `make smoke-parallel-workspaces` | [parallel-workspaces.md](parallel-workspaces.md) |
|
||||
| Unsafe or untrusted code inspection | `inspect` | `make smoke-untrusted-inspection` | [untrusted-inspection.md](untrusted-inspection.md) |
|
||||
| Review and evaluation workflows | `review-eval` | `make smoke-review-eval` | [review-eval-workflows.md](review-eval-workflows.md) |
|
||||
|
||||
All five recipes use the same real Firecracker-backed smoke runner:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
# Cold-Start Repo Validation
|
||||
|
||||
Recommended profile: `workspace-full`
|
||||
Recommended mode: `cold-start`
|
||||
|
||||
Recommended startup:
|
||||
|
||||
```bash
|
||||
pyro host connect claude-code --mode cold-start
|
||||
```
|
||||
|
||||
Smoke target:
|
||||
|
||||
|
|
@ -21,6 +27,10 @@ Chat-host recipe:
|
|||
5. Export the validation report back to the host.
|
||||
6. Delete the workspace when the evaluation is done.
|
||||
|
||||
If the named mode feels too narrow, fall back to the generic no-mode path and
|
||||
then opt into `--profile workspace-full` only when you truly need the larger
|
||||
advanced surface.
|
||||
|
||||
This recipe is intentionally guest-local and deterministic. It proves startup,
|
||||
service readiness, validation, and host-out report capture without depending on
|
||||
external networks or private registries.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
# Parallel Isolated Workspaces
|
||||
|
||||
Recommended profile: `workspace-core`
|
||||
Recommended mode: `repro-fix`
|
||||
|
||||
Recommended startup:
|
||||
|
||||
```bash
|
||||
pyro host connect codex --mode repro-fix
|
||||
```
|
||||
|
||||
Smoke target:
|
||||
|
||||
|
|
@ -22,4 +28,5 @@ Chat-host recipe:
|
|||
|
||||
The important proof here is operational, not syntactic: names, labels, list
|
||||
ordering, and file contents stay isolated even when multiple workspaces are
|
||||
active at the same time.
|
||||
active at the same time. Parallel work still means “open another workspace in
|
||||
the same mode,” not “pick a special parallel-work mode.”
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
# Repro Plus Fix Loop
|
||||
|
||||
Recommended profile: `workspace-core`
|
||||
Recommended mode: `repro-fix`
|
||||
|
||||
Recommended startup:
|
||||
|
||||
```bash
|
||||
pyro host connect codex --mode repro-fix
|
||||
```
|
||||
|
||||
Smoke target:
|
||||
|
||||
|
|
@ -25,5 +31,8 @@ Chat-host recipe:
|
|||
7. Diff and export the changed result.
|
||||
8. Reset to baseline and delete the workspace.
|
||||
|
||||
This is the main `workspace-core` story: model-native file ops, repeatable exec,
|
||||
If the mode feels too narrow for the job, fall back to the generic bare
|
||||
`pyro mcp serve` path.
|
||||
|
||||
This is the main `repro-fix` story: model-native file ops, repeatable exec,
|
||||
structured diff, explicit export, and reset-over-repair.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
# Review And Evaluation Workflows
|
||||
|
||||
Recommended profile: `workspace-full`
|
||||
Recommended mode: `review-eval`
|
||||
|
||||
Recommended startup:
|
||||
|
||||
```bash
|
||||
pyro host connect claude-code --mode review-eval
|
||||
```
|
||||
|
||||
Smoke target:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
# Unsafe Or Untrusted Code Inspection
|
||||
|
||||
Recommended profile: `workspace-core`
|
||||
Recommended mode: `inspect`
|
||||
|
||||
Recommended startup:
|
||||
|
||||
```bash
|
||||
pyro host connect codex --mode inspect
|
||||
```
|
||||
|
||||
Smoke target:
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue