Feature / Enhancement / Issue Template
July 29, 2026 · View on GitHub
Copy this template into a new file under docs/plans/ (e.g. docs/plans/feat-foo-bar.md) and fill in the sections.
Title
Type: feat | enhance | fix | refactor
Service(s) affected:
Priority: p0-critical | p1-high | p2-normal | p3-low
Problem / Motivation
Acceptance Criteria
- All-features build passes (
just build) - All-features tests pass (
just test) - Clippy clean (
just lint)
Proposed Approach
lab-apis changes
-
client.rs— -
types.rs— -
error.rs—
dispatch layer changes
-
catalog.rs— -
params.rs— -
dispatch.rs— -
client.rs—
CLI changes
API changes
Config / env vars
| Var | Required | Description |
|---|---|---|
Other files
-
crates/lab/src/registry.rs— -
docs/—
Observability
- Dispatch event emitted with
surface,service,action,elapsed_ms - HTTP
request.start/request.finish|request.erroremitted - Secrets not logged
- Destructive actions logged with intent + outcome
- N/A — no new request paths
Error Handling
- New
kindvalues added to canonical list indocs/ERRORS.md - MCP and HTTP error envelopes are consistent
- No panics introduced
- N/A — no new error surfaces
Destructive Actions
| Action | Why destructive | Elicitation / -y required |
|---|---|---|
Testing Plan
- Unit tests with
wiremockinlab-apis(CI-safe) - Integration tests marked
#[ignore](requires live service) - Existing tests updated for changed behavior
- N/A — no testable surface changes
Test scenarios
| Scenario | Type | Location |
|---|---|---|
| Happy path | unit | crates/lab-apis/src/<service>/ |
| Auth failure | unit | |
| Unknown action | unit | |
Open Questions
Out of Scope
References
docs/DISPATCH.md— dispatch layer contractdocs/OBSERVABILITY.md— logging requirementsdocs/ERRORS.md— error taxonomydocs/SERVICE_ONBOARDING.md— new service checklist