Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -717,11 +717,12 @@ Notes:
- The deferred domain-registry RPCs (`saveSampleStatusDomain` / `querySampleStatusDomains`) are reserved placeholders
that return "not implemented", so they are not wrapped.
- A pandas view of statuses is deferred; `sample_status_conversions` returns plain Python objects and needs no extras.
- Verified end to end against a live 1.16.0 Annotation Service (`tests/integration/test_sample_status_client_integration.py`):
exact nanosecond timestamp round-trip through both axis forms, absent-stays-absent, full-replace upsert, and layer
independence. The tests probe for the API first and skip with an actionable message against a pre-1.16.0 server,
since reachability alone does not imply the RPCs exist. Status *filtering* of query results is still unit-tested
only — it needs ingested sample data to attach to (#17).
- Verified end to end by `tests/integration/test_sample_status_client_integration.py` against a live Annotation
Service built from dp-service `main` (the 1.16.0 API, **not yet released** — the newest tag everywhere is
`rel-1.15.0`): exact nanosecond timestamp round-trip through both axis forms, absent-stays-absent, full-replace
upsert, and layer independence. The tests probe for the API first and skip with an actionable message against a
pre-1.16.0 server, since reachability alone does not imply the RPCs exist. Status *filtering* of query results
is still unit-tested only — it needs ingested sample data to attach to (#17).

### Configuration Priority (High to Low)
1. **Explicit parameters** (direct channels, config objects)
Expand Down
11 changes: 8 additions & 3 deletions doc/cookbook/sample-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
Recording that *this particular sample, at this particular instant, was bad* — and then querying
data with the flagged samples left out.

> **Verified against:** dp-grpc `rel-1.16.0`.
> The sample status API is **new in 1.16.0** and will not work against a `rel-1.15.0` server.
> **Target API version:** dp-grpc 1.16.0, which is **not yet released** — the newest tag is
> `rel-1.15.0`. The sample status API is new in 1.16.0 and will not work against a `rel-1.15.0`
> server, which answers these calls with `UNIMPLEMENTED`.
>
> **Verified against:** a pre-release Annotation Service built from dp-service `main` carrying the
> 1.16.0 API.

See [API conventions](conventions.md) for result checking, paging, and time handling.

Expand Down Expand Up @@ -366,7 +370,8 @@ delete would remove, run the same range and `(domain, layer)` through

### How far these examples have been verified

The save/query/delete loop **has** been exercised against a live 1.16.0 Annotation Service, by
The save/query/delete loop **has** been exercised against a live Annotation Service built from
dp-service `main` (the 1.16.0 API, pre-release), by
`tests/integration/test_sample_status_client_integration.py`. That covers the parts most likely
to break silently:

Expand Down