refactor(8.0): API-surface + quality polish from the readiness audit

- find() search-mode: collapsed the two overlapping options to one canonical
  `searchMode: SearchMode` (the redundant `mode` alias was silently ignored on
  the primary find() path while honored on the historical path — a footgun) and
  removed the unwired `explain?` FindParams field (never read by find()).
- Documentation accuracy on the public type surface: entity ids documented as
  UUID v7 (auto) / v5 (natural key), not v4; dropped the stale "Brainy 3.0"
  banners and "backward compatibility" hedging on the fresh-8.0 Result type;
  documented the via/type alias; removed the dead GraphConstraints.bidirectional;
  fixed the no-op `EmbeddedGraphVerb = Omit<GraphVerb,'source'>` to omit the real
  sourceId; corrected the GraphIndexProvider.isInitialized JSDoc; documented
  removeMany's per-chunk generation granularity; JSDoc'd the public VFS surface.
- Honest perf comments in source: removed unmeasured billion-scale figures from
  the LSMTree / graphAdjacencyIndex headers (the JS fallback is in-memory after
  open; native is the scale path).
- Robustness: getVerbMetadata propagates read errors symmetrically with
  getNounMetadata; the find() egress integrity-guard keeps a row when the JS
  matcher doesn't implement an operator the provider already matched on; hardened
  the boundary-no-native CI guard to catch side-effect imports + re-exports.
- Tests: de-theatricalized a relateMany test to assert the real contract; fixed
  a stale Model-B header.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
David Snelling 2026-06-29 10:04:19 -07:00
parent 47e8031124
commit a52dba2168
10 changed files with 346 additions and 45 deletions

View file

@ -17,8 +17,9 @@
* asOf(version.generation).get(id), a removal is a null value, order is oldestnewest.
* 6. Composition: "type T changed in (g1, g2]" computed two ways (diff ids filtered
* to T, vs asOf(g2).find({type:T}) changed-ids) AGREE including a where filter.
* 7. Granularity: single-operation writes (outside transact()) are invisible to the
* temporal verbs (transact commits only).
* 7. Granularity (Model-B): single-operation writes (outside transact()) are their
* own immutable generation logged, diffable, and time-travelable, exactly like
* a transact() of one op (the test body below proves this).
* 8. Compaction policy contrast: diff/since THROW below the horizon; history TRUNCATES
* to it. (Locked so a refactor can't unify them incorrectly.)
*