docs(11): create phase plan
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# API Coverage — Phase 11 (Centrifugo, Typesense, Web Push services)
|
||||
|
||||
> Full coverage by default. Opt-outs are explicit, reasoned decisions. The PHP clients being ported (websockets `CentrifugoClient`, Scout `TypesenseEngine`, the websockets push block) define the baseline; D-12 and D-19 make both clients hand-rolled on net/http.
|
||||
|
||||
## Centrifugo server HTTP API (outbound, plan 11-03 and 11-04)
|
||||
|
||||
| capability | decision | reason |
|
||||
|---|---|---|
|
||||
| publish | INTEGRATE | |
|
||||
| broadcast | INTEGRATE | |
|
||||
| presence | INTEGRATE | |
|
||||
| unsubscribe | INTEGRATE | |
|
||||
| info | INTEGRATE | |
|
||||
| presence_stats | OPT-OUT | not in the PHP CentrifugoClient contract and no Phase 11-15 consumer |
|
||||
| history | OPT-OUT | not in the PHP CentrifugoClient contract; the Nuxt client does not use history recovery |
|
||||
| history_remove | OPT-OUT | not in the PHP CentrifugoClient contract and no consumer |
|
||||
| channels | OPT-OUT | not in the PHP CentrifugoClient contract and no consumer |
|
||||
| disconnect | OPT-OUT | not in the PHP CentrifugoClient contract; token revocation is not part of the port |
|
||||
| refresh | OPT-OUT | not in the PHP CentrifugoClient contract; connection tokens expire by exp as in PHP |
|
||||
| subscribe (server-side) | OPT-OUT | not in the PHP CentrifugoClient contract; clients subscribe through the subscribe proxy |
|
||||
| batch | OPT-OUT | not needed; PHP sends one request per publish or broadcast |
|
||||
|
||||
## Centrifugo proxy and token contract (inbound and signed, plan 11-03)
|
||||
|
||||
| capability | decision | reason |
|
||||
|---|---|---|
|
||||
| subscribe proxy | INTEGRATE | |
|
||||
| connection token (HS256) | INTEGRATE | |
|
||||
| subscription token (HS256) | INTEGRATE | |
|
||||
| anonymous and identifier tokens | INTEGRATE | |
|
||||
| connect proxy | OPT-OUT | explicitly out of scope — PHP authenticates connections with JWTs, not a connect proxy |
|
||||
| refresh proxy | OPT-OUT | explicitly out of scope — not configured on the existing Centrifugo server |
|
||||
| publish proxy | OPT-OUT | explicitly out of scope — clients never publish; the server publishes through the HTTP API |
|
||||
| sub_refresh proxy | OPT-OUT | explicitly out of scope — not configured on the existing Centrifugo server |
|
||||
| rpc proxy | OPT-OUT | explicitly out of scope — the Nuxt client makes no Centrifugo RPC calls |
|
||||
|
||||
## Typesense API (outbound, plan 11-05)
|
||||
|
||||
| capability | decision | reason |
|
||||
|---|---|---|
|
||||
| collection retrieve | INTEGRATE | |
|
||||
| collection create | INTEGRATE | |
|
||||
| collection delete (flush) | INTEGRATE | |
|
||||
| documents import upsert | INTEGRATE | |
|
||||
| document delete | INTEGRATE | |
|
||||
| documents search | INTEGRATE | |
|
||||
| multi_search | OPT-OUT | not needed — Scout issues single-collection searches |
|
||||
| delete documents by filter | OPT-OUT | not needed yet — Phase 14 reindex (SRCH-02) decides its own flush strategy |
|
||||
| collection update (schema alter) | OPT-OUT | not needed — schema changes go through reindex, as in PHP |
|
||||
| aliases | OPT-OUT | not needed yet — the legacy-index drop belongs to Phase 14 SRCH-02 |
|
||||
| synonyms and curation overrides | OPT-OUT | not used by the PHP app |
|
||||
| API keys management | OPT-OUT | explicitly out of scope — keys are operator-provisioned |
|
||||
| health and metrics | OPT-OUT | not needed — sync failures are logged per request and never block writes |
|
||||
|
||||
## Web Push service protocol (outbound, plan 11-04)
|
||||
|
||||
| capability | decision | reason |
|
||||
|---|---|---|
|
||||
| send notification (RFC 8030 push with RFC 8291 payload and RFC 8292 VAPID) | INTEGRATE | |
|
||||
| message urgency and topic headers | INTEGRATE | |
|
||||
| receipts (push message receipts) | OPT-OUT | not needed — PHP never requested receipts and push services rarely support them |
|
||||
| subscription management (store and prune) | OPT-OUT | explicitly out of scope — subscriptions come from an app-provided SubscriptionSource (user decision 3); Płytarium has no store |
|
||||
Reference in New Issue
Block a user