Bounded SDK schema cache implementation plan
Goal: Remove per-row schema planning RPCs without weakening drop/recreate correctness or adding unbounded client state.
Task 1: Lock configuration and ownership
- Add validated builder settings for finite capacity and TTL.
- Construct one cache per connected client and share it across clones.
- Expose per-table and full-cache invalidation.
Task 2: Singleflight schema resolution
- Route typed insert schema resolution through the cache.
- Coalesce concurrent same-table misses while allowing different tables to resolve independently.
- Insert only successful schema responses; preserve typed SDK errors.
Task 3: Prove lifecycle behavior
- Count real Flight schema requests across repeated calls and clones.
- Exercise failure recovery, TTL expiry, per-table invalidation, and clear.
- Verify capacity eviction remains bounded.
Task 4: Operate and ship
- Document defaults, stale-schema horizon, and explicit invalidation.
- Run spec lifecycle, strict clippy, full gate, independent review, and independent verification before merge.