Changelog
API, Python client, CLI, and documentation changes.
2026-09-01 — Sparse scheduling and full-scale verification
- Replaced scheduler and reconciliation table scans with a sparse availability index and execute underfilled fair turns immediately. One-item and 64 + 64 development checks returned first results within two seconds.
- Repeated the mixed 1,000 + 1,000 development gate. Both tenants completed exactly 1,000 unique successful results with zero failures, 0.998 throughput parity, four-item maximum skew, and service gaps within the harness's polling-aware bound.
- Kept production promotion held: full-scale first-result timing was 3.655/2.015 seconds, and typed
SMARTS returned 91 transient
503responses among 240 saturation observations. The Fargate capacity request and the previously documented cross-library and per-library Morgan gates also remain open.
2026-08-31 — Fair scheduling and capacity isolation
- Verified seeded sampling replay on all seven development chemical spaces. Twenty 100-product observations per space passed the 500 ms p95 gate, and a controlled 5,000-draw test matched the declared combinatorial route/product-tuple weighting.
- Verified the 25 ms router-overhead gate across all seven spaces; per-space p95 was 8.33–11.30 ms and the maximum across 140 warmed requests was 13.75 ms.
- Added fail-closed measurement for the accepted-run two-second first-result guardrail. Current development evidence is mixed (0.71–10.49 seconds), so this remains a production blocker.
- Normalized durable virtual finish across tenants, bounded development turns to four items, and made compatible engine batch size independently configurable.
- Split default Morgan, slow singular CHEESE/substructure/sample, and durable work into operation-assigned capacity pools; callers cannot select a priority lane.
- Preserved canonical property, structure, scaffold, and evidence fields through routed selection execution and added a private service-authenticated worker route.
- Bound native substructure threads and isolated CPU CHEESE encoders in a worker child process so slow scorers cannot expand into the Morgan CPU pool.
- Made successful four-item result batches atomic across item state, run progress, and ordered events; metadata-sequence races retry atomically before the conditional per-item fallback.
- Added two development durable lanes on the Morgan worker. A 2,000-result mixed run completed with zero failures, 0.996 throughput parity, and four-item maximum skew while all interactive requests succeeded.
- Verified development Morgan fairness and cancellation. Mixed-load default, shape, and substructure requests all met their operation-specific latency gates, but exact service-gap maxima remained 6.01/6.51 seconds in the full run and 5.16 seconds after conflict retries. An 8-vCPU development capacity probe hit the account Fargate quota and was rolled back; production promotion remains held.
2026-08-31 — Durable admission and restart recovery
- Made 1,000-item run admission bounded and durable without eagerly materializing every item.
- Preserved idempotency, atomic tenant quota admission, the durable queued event, and idempotent cancellation behavior.
- Verified development admission/status SLOs and a complete 1,000-item run across a forced API service restart; production performance and saturation claims remain gated.
2026-08-30 — API v2 developer preview
- Made
/searchfixed ECFP4/Tanimoto and added distinct CHEESE and typed substructure routes. - Added seeded sampling,
molecule-selection/1validation/estimation/execution, and typedrun/1. - Added consistent errors, request IDs, API-key OpenAPI security, conventional docs/OpenAPI routing, deterministic schema export, and release/capability discovery.
- Added
dmc-navigator0.3 typed sync/async clients, selection/run builders, and durable CLI flows. - Made this site the canonical v2 documentation source with pinned generated reference and agent surfaces.
Compatibility: client 0.3 targets API v2 developer-preview contracts. API v2 stability is declared only after the documented persistence, scheduler, performance, and production-canary gates pass.