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

VarRequiredDescription

Other files

  • crates/lab/src/registry.rs
  • docs/

Observability

  • Dispatch event emitted with surface, service, action, elapsed_ms
  • HTTP request.start / request.finish | request.error emitted
  • Secrets not logged
  • Destructive actions logged with intent + outcome
  • N/A — no new request paths

Error Handling

  • New kind values added to canonical list in docs/ERRORS.md
  • MCP and HTTP error envelopes are consistent
  • No panics introduced
  • N/A — no new error surfaces

Destructive Actions

ActionWhy destructiveElicitation / -y required

Testing Plan

  • Unit tests with wiremock in lab-apis (CI-safe)
  • Integration tests marked #[ignore] (requires live service)
  • Existing tests updated for changed behavior
  • N/A — no testable surface changes

Test scenarios

ScenarioTypeLocation
Happy pathunitcrates/lab-apis/src/<service>/
Auth failureunit
Unknown actionunit

Open Questions


Out of Scope


References

  • docs/DISPATCH.md — dispatch layer contract
  • docs/OBSERVABILITY.md — logging requirements
  • docs/ERRORS.md — error taxonomy
  • docs/SERVICE_ONBOARDING.md — new service checklist