Four evidence classes, kept separate
Each key conclusion identifies its primary evidence. Official documentation shows what a maintainer states; a specification defines protocol requirements; local verification records a result in a fixed environment; product behavior describes observable output without guessing at internal implementation.
- Official documentation: public configuration, commands, permissions, and support boundaries.
- Specification: request, response, event, and error semantics.
- Local verification: a result reproduced with explicit versions and inputs.
- Product behavior: an observable result, without reverse-engineering an unpublished design.
Minimum verification flow
Fix the client version, endpoint, model identifier, permissions, and smallest useful input. Then check parsing, authentication, a normal response, stream completion, tool behavior, and at least one failure path separately. Write operations need an additional approval and result check.
- 01Fix the environmentRecord the date, versions, operating system, configuration scope, and non-secret parameters.
- 02Minimize the taskStart read-only or with one file so multiple variables do not change together.
- 03Test a failureConfirm the client does not wrap an expected error as a successful result.
- 04Preserve boundariesSeparate verified, documented, conditional, and untested behavior.
Compatible ≠ identical features
A shared base protocol may prove that text requests work without proving model discovery, stream events, tools, reasoning fields, error structures, or client extensions. Every compatibility statement must identify the tested layer.
Static guides and matrices are dated snapshots. Before production use, run a minimal read-only request and check the current channel, model catalog, and installed client help.
Security and redaction
Verification records must not contain API keys, complete authorization headers, private repository content, user data, or unauthorized logs. Examples use placeholders; incident reports retain only the status, stage, version, and sanitized request identifier.