Changelog

API, Python client, CLI, and documentation changes.

Suggest an edit

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 503 responses 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 /search fixed ECFP4/Tanimoto and added distinct CHEESE and typed substructure routes.
  • Added seeded sampling, molecule-selection/1 validation/estimation/execution, and typed run/1.
  • Added consistent errors, request IDs, API-key OpenAPI security, conventional docs/OpenAPI routing, deterministic schema export, and release/capability discovery.
  • Added dmc-navigator 0.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.

On this page