microsoft / microsoft/multiclouddb-sdk-for-java
Constitution compliance: add native-client escape hatch
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 7
- Forks
- 7
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 1
Description
Problem
The constitution requires every provider adapter to expose an explicit native-client escape hatch. The current public MulticloudDbClient contract states that no code-level escape hatch exists, and the repository contains no nativeClient(...) implementation. Issue #38 currently lists this capability as already available, so the implementation and supportability inventory disagree.
Scope
- Design a type-safe, explicit opt-in boundary for obtaining the underlying Cosmos, DynamoDB, or Spanner client.
- Define ownership, lifecycle, logging, and unsupported-type behavior.
- Implement the contract for all three providers without changing portable default behavior.
- Correct the current-state table in #38 and update API/architecture documentation.
Acceptance criteria
- All three adapters expose their native client through one documented public escape-hatch contract.
- Incorrect requested native types fail predictably without unsafe casts.
- Native access does not weaken configuration-only portable behavior or client lifecycle safety.
- Shared contract tests and provider-specific tests cover the boundary.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the public MulticloudDbClient contract and the current-state table in issue #38, then inspect the three provider adapters for their existing client and lifecycle boundaries. Define the shared escape-hatch contract and its unsupported-type behavior before implementing it for Cosmos, DynamoDB, and Spanner. Done means shared contract tests, provider-specific tests, and updated API and architecture documentation satisfy every acceptance criterion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design, databases, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100