feat: public report status derived from the cluster #7

Merged
Breadway merged 1 commit from feature/status into main 2026-10-12 09:52:15 +08:00
Owner

Server half of BUG-9 (the client half is in the bread repo, breadbug PR). Stacked on #6.

GET /v1/reports/{receipt}/status now reflects triage instead of always saying received:

State When
received stored, nothing notable (also what a quarantined report looks like)
duplicate grouped with others: a known problem
investigating the cluster is investigating, promoted to an issue, or regressed
fixed (+ fixed_in) marked fixed; the version is included when one was recorded
closed dismissed

Merged clusters report their target's state. The endpoint is rate limited per network bucket, receipts are 128-bit random, and nothing about the cluster or other reporters is revealed.

Tests: the full progression received -> duplicate -> investigating -> fixed -> closed, merged cluster follows its target, quarantined looks received, unknown receipt 404, rate limit.

Closes BUG-9

Server half of BUG-9 (the client half is in the bread repo, breadbug PR). Stacked on #6. `GET /v1/reports/{receipt}/status` now reflects triage instead of always saying `received`: | State | When | |-------|------| | `received` | stored, nothing notable (also what a quarantined report looks like) | | `duplicate` | grouped with others: a known problem | | `investigating` | the cluster is investigating, promoted to an issue, or regressed | | `fixed` (+ `fixed_in`) | marked fixed; the version is included when one was recorded | | `closed` | dismissed | Merged clusters report their target's state. The endpoint is rate limited per network bucket, receipts are 128-bit random, and nothing about the cluster or other reporters is revealed. Tests: the full progression received -> duplicate -> investigating -> fixed -> closed, merged cluster follows its target, quarantined looks received, unknown receipt 404, rate limit. Closes BUG-9
feat: public report status derived from the cluster
All checks were successful
check / check (push) Successful in 35s
b421bcf32d
GET /v1/reports/{receipt}/status now reflects triage: received, duplicate
(a known problem), investigating, fixed (with the fix version when one was
recorded) or closed. Merged clusters report their target's state;
quarantined reports look merely received; the endpoint is rate limited and
reveals nothing else about the cluster or other reporters.

Refs BUG-9
Merge remote-tracking branch 'origin/feature/promote' into feature/status
All checks were successful
check / check (push) Successful in 1m17s
16412d07f1
Breadway force-pushed feature/status from 16412d07f1
All checks were successful
check / check (push) Successful in 1m17s
to c6a7996196
All checks were successful
check / check (push) Successful in 1m5s
2026-10-12 09:21:58 +08:00
Compare
Breadway changed target branch from feature/promote to main 2026-10-12 09:52:14 +08:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Breadway/breadbug-server!7
No description provided.