|
| 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