Define a shared machine-facing CLI result envelope #132

Open
opened 2026-07-29 01:47:32 +00:00 by perishadmin · 0 comments
Contributor

Context

Workshop CLIs expose useful state, but machine consumers currently learn a different output shape for every tool and operation.

Boundary

Plumb should define only a language-neutral, versioned envelope. Domain payload and vocabulary remain owned by each CLI. Candidate common fields are protocol_version, tool, operation, subject, ok, changed, findings, evidence, actions, and artifacts.

Acceptance

  • Publish the versioned envelope contract and compatibility rules.
  • Preserve human-readable output as the default.
  • Prove round-trip examples for Rust and TypeScript consumers.
  • Do not freeze product-specific finding or action payloads in Plumb.
  • State how unknown future fields are handled.
Context Workshop CLIs expose useful state, but machine consumers currently learn a different output shape for every tool and operation. Boundary Plumb should define only a language-neutral, versioned envelope. Domain payload and vocabulary remain owned by each CLI. Candidate common fields are protocol_version, tool, operation, subject, ok, changed, findings, evidence, actions, and artifacts. Acceptance - Publish the versioned envelope contract and compatibility rules. - Preserve human-readable output as the default. - Prove round-trip examples for Rust and TypeScript consumers. - Do not freeze product-specific finding or action payloads in Plumb. - State how unknown future fields are handled.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishLab/plumb#132
No description provided.