Add warpctrl product and tech specs#11518
Conversation
Product spec defines the allowlisted local-control CLI with hierarchical selectors, action catalog, 4-tier classification model (read-only metadata, read-only terminal data, non-destructive mutation, destructive/high-risk), differentiated agent vs human permission policies, protocol-first settings, and future extensibility for files and Warp Drive objects. Tech spec covers protocol envelope, per-process discovery, local auth, ModelSpawner bridge architecture, target resolution, CLI library constraints (clap/serde matching Oz CLI), and packaging model. README documents packaging, install/invocation, end-to-end test flow, security model, and authenticated request flow. Co-Authored-By: Oz <oz-agent@warp.dev>
|
I'm starting a first review of this spec-only pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR adds product, technical, and operator specs for warpctrl, a standalone local-control CLI for addressing running Warp instances through an allowlisted protocol. The specs cover the catalog shape, target hierarchy, first-slice implementation, packaging direction, and local authentication model.
Concerns
- The operator test flow documents
warpctrl tab listeven though the first slice only commits to discovery andtab create, which makes the implementation target ambiguous. - The per-caller permission model does not define how the server distinguishes human CLI use from agent use when both can read the same local discovery credential.
- The discovery-token storage model uses POSIX-style
0600permissions but the spec also claims Windows support without equivalent ACL requirements. - The
tab.createbridge flow falls back from active window to the first ordered window, contradicting the deterministic targeting/error semantics in the product spec.
Security
- Define separate scoped credentials or capability issuance for agent callers before destructive/input actions are implemented; otherwise an agent that can read the discovery record can present the same full-access token as a human CLI.
- Specify Windows discovery-record ACL/storage requirements, or explicitly mark Windows local-control auth as follow-up, so bearer tokens are not protected only on POSIX platforms.
Verdict
Found: 0 critical, 4 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
Description
Product and tech specs for
warpctrl, a standalone local-control CLI for scripting Warp UI actions against running app instances.PRODUCT.md defines:
TECH.md covers:
ModelSpawnerto safely dispatch from Tokio HTTP threads to the main UI threadREADME.md documents:
This is a specs-only PR for review. Implementation is on
zach/warp-clistacked on top of this branch.Warp conversation
Linked Issue
Testing
Agent Mode
CHANGELOG-NONE
Co-Authored-By: Oz oz-agent@warp.dev