Part of epic #3602.
Scope
Add live-test playbook for the gateway provider plus a coverage-status row, satisfying CLAUDE.md points 6 and 7 for new functionality.
Files to create / modify
.local/testing/playbooks/gonka-gateway.md (new) — five scenarios:
- Fresh install + age vault:
zeph init → pick gateway → vault set → first chat prompt.
- Switch from existing OpenAI provider via
/provider gonkagate runtime command.
- Streaming a long response — verify token-by-token output equivalence with OpenAI streaming.
- Wrong API key returns
LlmError::ApiError { status: 401 } with clear message.
- Embeddings unsupported on GonkaGate as of writing — wizard does not prompt for
embedding_model; provider.supports_embeddings() returns false.
.local/testing/coverage-status.md — new row Gonka gateway provider with status Untested (linked to the new playbook).
Acceptance
- Playbook is structured per project conventions (see existing playbooks under
.local/testing/playbooks/).
- Coverage-status row added in alphabetical position with link to playbook.
- A live CI cycle exercises at least scenarios 1 and 4 and updates the row to
Tested or Partial.
Depends on
#2, #3 (wizard + default.toml must exist for scenarios to be executable).
Size
S (~1h)
Part of epic #3602.
Scope
Add live-test playbook for the gateway provider plus a coverage-status row, satisfying CLAUDE.md points 6 and 7 for new functionality.
Files to create / modify
.local/testing/playbooks/gonka-gateway.md(new) — five scenarios:zeph init→ pick gateway → vault set → first chat prompt./provider gonkagateruntime command.LlmError::ApiError { status: 401 }with clear message.embedding_model;provider.supports_embeddings()returnsfalse..local/testing/coverage-status.md— new rowGonka gateway providerwith statusUntested(linked to the new playbook).Acceptance
.local/testing/playbooks/).TestedorPartial.Depends on
#2, #3 (wizard + default.toml must exist for scenarios to be executable).
Size
S (~1h)