Skip to content

Commit 25cc527

Browse files
committed
Add client capability matrix v1
1 parent 052af5f commit 25cc527

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

docs/client-capability-matrix.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# BLite Client Capability Matrix (v1)
2+
3+
This matrix defines the minimum parity contract across official BLite clients.
4+
5+
## Supported Client Set
6+
7+
- BLite.Client (.NET) - baseline reference
8+
- BLite.Client.TypeScript (Node.js)
9+
- BLite.Client.Python
10+
- BLite.Client.Java
11+
12+
## Status Legend
13+
14+
- Required: must be implemented for GA.
15+
- Optional: can ship later, but must be explicitly marked experimental in all clients.
16+
17+
## Capability Matrix
18+
19+
| Area | Capability | .NET Baseline | TypeScript | Python | Java | Requirement | Notes |
20+
|---|---|---|---|---|---|---|---|
21+
| Connection | Host/port/tls/api-key configuration | Yes | Planned | Planned | Planned | Required | Same option names where possible |
22+
| Connection | Header auth (`x-api-key` / bearer) | Yes | Planned | Planned | Planned | Required | Consistent auth error mapping |
23+
| Collections | Dynamic collection access | Yes | Planned | Planned | Planned | Required | CRUD + query |
24+
| Collections | Typed collection access | Yes | Planned | Planned | Planned | Required | Mapper/serializer abstraction |
25+
| CRUD | Insert / FindById / Update / Delete | Yes | Planned | Planned | Planned | Required | Same semantics and return types |
26+
| Bulk | InsertBulk / UpdateBulk / DeleteBulk | Yes | Planned | Planned | Planned | Required | Partial failure model must match |
27+
| Query | QueryDescriptor push-down | Yes | Planned | Planned | Planned | Required | Filter + sort + skip + take |
28+
| Query | Streaming query results | Yes | Planned | Planned | Planned | Required | Async streaming API in each language |
29+
| Query | LINQ/DSL fluent query layer | Yes | Planned | Planned | Planned | Required | Language-native API, same behavior |
30+
| Transactions | Begin / Commit / Rollback | Yes | Planned | Planned | Planned | Required | Transaction ID behavior aligned |
31+
| Index | Create / Drop / List indexes | Yes | Planned | Planned | Planned | Required | BTree + vector index metadata |
32+
| Index | QueryIndex | Yes | Planned | Planned | Planned | Required | Ordering/skip/take parity |
33+
| Vector | VectorSearch API | Yes | Planned | Planned | Planned | Required | Same metric options |
34+
| CDC | Watch / change stream | Yes | Planned | Planned | Planned | Required | Include payload toggle |
35+
| KV | Get / Set / Exists / Delete / Scan / Batch / Refresh / PurgeExpired | Yes | Planned | Planned | Planned | Required | Same TTL semantics |
36+
| Admin | User management | Yes | Planned | Planned | Planned | Required | Create/revoke/rotate/list/update perms |
37+
| Admin | Tenant management | Yes | Planned | Planned | Planned | Required | Provision/deprovision/list tenants |
38+
| Errors | Normalized error model | Yes | Planned | Planned | Planned | Required | Status code + server message + context |
39+
| Diagnostics | Request/response diagnostics hooks | Yes | Planned | Planned | Planned | Required | Structured logs/trace hooks |
40+
| Packaging | Public package publishing | Yes | Planned | Planned | Planned | Required | NuGet/npm/PyPI/Maven Central |
41+
| Compatibility | Cross-client conformance tests | Partial | Planned | Planned | Planned | Required | Same test suite against BLite.Server |
42+
43+
## Release Gate Policy
44+
45+
A client version can be marked GA only when all Required capabilities are complete and tested against the same BLite.Server version.
46+
47+
### Gate checks
48+
49+
1. API parity: all Required endpoints/RPCs implemented.
50+
2. Behavioral parity: conformance tests green.
51+
3. Error parity: canonical error mapping validated.
52+
4. Performance sanity: baseline throughput and latency checks completed.
53+
5. Documentation parity: quickstart + CRUD + query + transaction + watch + KV + admin examples.
54+
55+
## Versioning Policy
56+
57+
- Capability version: this document version (currently v1) defines required scope.
58+
- Client package version: independent per ecosystem.
59+
- Server compatibility: each client release must declare tested BLite.Server versions.
60+
61+
## Delivery Order
62+
63+
1. TypeScript client (complete v1 parity)
64+
2. Python client (complete v1 parity)
65+
3. Java client (complete v1 parity)
66+
67+
No next client starts GA hardening until the current client reaches full v1 parity.

0 commit comments

Comments
 (0)