import { g as GraphBackend, s as SqlDialect, a2 as BackendCapabilities } from './types-BynPp5kU.js'; /** * The PILOT capability-bundle registry — DATA ONLY, sibling in spirit to * `backend/member-classes.ts`. * * A bundle is a named set of {@link GraphBackend} member names split into a * required core and a set of graduated extras, with a dialect scope, an * optional declaration source and cross-check mode, a port-surface refusal * code, a per-operation disposition table naming the sites and the extras * each operation requires, and one verdict resolver (`resolve.ts`) plus one * member accessor (`bind.ts`). It is not a re-shaping of `GraphBackend`. * * Two definition kinds, because the measurement has two shapes: * * - A GATED bundle has a non-empty required core (every member required). * Its resolver returns supported-with-core-member-names or * unsupported-with-`missing`. Pilot: `claims`, `statementExecution`, * `recordedRevisionOrigins`. * - A GRADUATED bundle has no required core: every member is an extra with * its own measured disposition. Its resolver returns the per-extra verdict * map and no `supported` field at all. Pilot: `uniqueSidecarBatch`, * `batchPointRead`, `contributionHealth`. * * Deliberately absent, by round-5 ruling (no pilot consumer for either): * `arity` on core members, `requiresBundles` edges, `AnyOfSelection`, * `CapabilityCoreMember`, `AllOfMembers`, `AnyOfMembers`. Both are designed * and seeded for WS5b in the design document's appendix, beside their first * real consumers. * * This is the PILOT of a larger sweep (WS5b): 16 of the 98 optional * `GraphBackend` members are bundled here; the other 82 are classified in * {@link UNBUNDLED_OPTIONAL_MEMBERS} as either `reasoned` (no bundle should * ever own them) or `deferred` (WS5b's seed, with a measured ceiling). */ /** * The keys of `T` that are optional — i.e. `undefined` may stand in for the * member without violating the type. `object extends Pick` is true * exactly when `Pick` accepts `{}`, which is true exactly when `K` is * optional on `T`. */ type OptionalKeys = { [K in keyof T]-?: object extends Pick ? K : never; }[keyof T]; /** * Every optional `GraphBackend` member — 98 of them, verified equal to the * names parsed from `etc/typegraph-backend.api.md` (§Baselines). Derived, * never hand-written: a member added or removed from `GraphBackend` changes * this type automatically, and the totality proof below fails loudly if the * registry has not kept up. */ type OptionalGraphBackendMember = OptionalKeys; /** How an operation degrades — or refuses — when a member it needs is absent. */ type CapabilityBundleDisposition = /** Absence refuses, with ONE typed error per operation. */ Readonly<{ kind: "refuse"; code: string; }> /** Absence degrades along a named, tested path. Never refuses. */ | Readonly<{ kind: "fallback"; fallback: string; }>; /** * A graduated extra: present ⇒ a better path, absent ⇒ this exact * disposition. `members` is a list because an extra MAY be an all-or-nothing * group; every pilot extra is single-membered (the measured group, * `indexMaterialization`'s build-claim protocol, is deferred). */ type CapabilityBundleExtra = Readonly<{ id: Id; members: readonly M[]; /** REQUIRED, and typed — never a bare `fallback: string`. */ disposition: CapabilityBundleDisposition; }>; type CapabilityCrossCheck = /** Presence alone. The default, and 5 of the 6 pilot bundles. */ "none" /** * Declared-but-missing refuses; implements-without-declaring resolves * supported. One-directional. No bundle uses this today — it exists so a * future cross-check has a shape to grow into, one that must carry its own * justification row when adopted. */ | "declared-implies-members" /** * Disagreement in EITHER direction refuses. `claims` only — the existing * `CONSTRAINT_CLAIM_SURFACE_MISMATCH`, whose bidirectionality carries a * fence-specific justification ("a silent fallback would unfence exactly * the writes the capability exists to fence") that no other family has. */ | "bidirectional"; /** One inventory key an operation row owns. */ type CapabilityBundleOperationSite = Readonly<{ file: string; member: OptionalGraphBackendMember; /** * Disambiguator, required only where one `(file, member)` pair is split * across two or more operation rows. Three pairs need it in the pilot: * `node-operations.ts#checkUniqueBatch`, `guards.ts#executeStatement` and * `migrate-recorded-time.ts#executeStatement`. */ lines?: readonly number[]; /** * Set when B7's rewiring pass reclassified this site AWAY from `pilot` * instead of rewiring it — additive, optional, and read by nothing but the * inventory/report tooling. `"deferred"` names a site whose receiver family * needs plumbing this batch must not force (WS5b's input); `"reasoned"` * names one this batch decided a verdict must never gate at all. The * `code`/`disposition` above stay the classification data they always were; * this is a SEPARATE fact about the site, not a replacement for either. */ rewiring?: Readonly<{ class: "deferred" | "reasoned"; reason: string; }>; }>; /** Every caller-visible operation that consumes a bundle. */ type CapabilityBundleOperation = Readonly<{ /** The caller-visible name that lands in `details.operation`. */ operation: string; disposition: CapabilityBundleDisposition; /** The extras this operation needs, by id. */ requires?: readonly string[]; /** Every inventory key this row owns, as `(file, member)` pairs. */ sites: readonly CapabilityBundleOperationSite[]; /** * Set only where the site itself reads the declaration to decide between * refusing and degrading. One measured instance in the pilot: * `probeContributions` (`store.ts:4406`). */ declarationGate?: true; }>; type CapabilityBundleCommon = Readonly<{ /** * The registry's own id namespace is derived from `CAPABILITY_BUNDLES` * below (never hand-written) — but the derivation cannot be fed back into * THIS type: `CapabilityBundleId` is `(typeof CAPABILITY_BUNDLES)[number] * ["id"]`, and `CAPABILITY_BUNDLES` is built from values (`CLAIMS`, …) * whose own type is checked against `CapabilityBundleDefinition` — which * embeds this type. Typing this field `CapabilityBundleId` therefore makes * every bundle constant's type depend on its own initializer * (`TS2502`/`TS2456`, confirmed by compiling the literal design text). * `string` here is the minimal break: each bundle constant still infers * its literal id via `as const`, and `CapabilityBundleId` below is still * wholly derived from `CAPABILITY_BUNDLES`, never hand-written. */ id: string; /** Dialects whose first-party factory implements this bundle's core. Default: both. */ dialects?: readonly SqlDialect[]; /** The `BackendCapabilities` field that DECLARES the bundle, when one exists. */ declaration?: keyof BackendCapabilities; /** Read only when not `"none"` (ruling F2). */ crossCheck: CapabilityCrossCheck; /** The code the MEMBER ACCESSOR throws when the port disagrees with the verdict (I20). */ portSurfaceCode: string; operations: readonly CapabilityBundleOperation[]; }>; /** A bundle with a required core. */ type GatedBundleDefinition = CapabilityBundleCommon & Readonly<{ kind: "gated"; /** Every name required. No arity wrapper — no pilot bundle has an `any-of` core. */ core: readonly MCore[]; extras?: readonly CapabilityBundleExtra[]; /** The bundle-wide disposition when the CORE is unsatisfied. */ disposition: CapabilityBundleDisposition; }>; /** A bundle with no required core: every member is a graduated extra. */ type GraduatedBundleDefinition = CapabilityBundleCommon & Readonly<{ kind: "graduated"; extras: readonly CapabilityBundleExtra[]; }>; type CapabilityBundleDefinition = GatedBundleDefinition | GraduatedBundleDefinition; /** * `claimSupport` (`store/claims/backing.ts`) is the ONE bidirectional * cross-check consumer in the tree. Since B7 it delegates to * `resolveBundle`, which runs `resolve.ts`'s `assertClaimsBidirectionalAgreement` * — the check's only remaining owner; there is no second copy left in * `backing.ts` to keep byte-for-byte in sync with. */ declare const CLAIMS: { readonly id: "claims"; readonly kind: "gated"; readonly core: readonly ["claimEdgeCardinality", "claimEdgeCardinalityBatch", "purgeEdgeClaims", "hardDeleteUniquesByConcreteKind"]; readonly declaration: "constraintClaims"; readonly crossCheck: "bidirectional"; readonly portSurfaceCode: "CONSTRAINT_CLAIM_SURFACE_MISMATCH"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "unclaimed writes; the caller's own supported:false branch"; }; readonly operations: readonly [{ readonly operation: "edge claim write"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "unclaimed writes; the caller's own supported:false branch"; }; readonly sites: readonly [{ readonly file: "store/claims/backing.ts"; readonly member: "claimEdgeCardinality"; }, { readonly file: "store/claims/backing.ts"; readonly member: "claimEdgeCardinalityBatch"; }, { readonly file: "store/claims/backing.ts"; readonly member: "purgeEdgeClaims"; }, { readonly file: "store/claims/backing.ts"; readonly member: "hardDeleteUniquesByConcreteKind"; }]; }]; }; /** * Three independently-guarded extras. Measured, `hardDeleteUniquesByNodeIds`' * only standalone site (`node-claims.ts:732`) reaches the member through * `requireDefined` rather than a degrading guard, so — the round-5 * enumeration's correction to the round-4 table — its disposition is * `refuse`, not the fallback round 4 assumed from the bundle's name. */ declare const UNIQUE_SIDECAR_BATCH: { readonly id: "uniqueSidecarBatch"; readonly kind: "graduated"; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly extras: readonly [{ readonly id: "insertUniqueBatch"; readonly members: readonly ["insertUniqueBatch"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "issueClaimsIndividually"; }; }, { readonly id: "checkUniqueBatch"; readonly members: readonly ["checkUniqueBatch"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-key checkUnique loop"; }; }, { readonly id: "hardDeleteUniquesByNodeIds"; readonly members: readonly ["hardDeleteUniquesByNodeIds"]; readonly disposition: { readonly kind: "refuse"; readonly code: "UNIQUE_REAP_BY_NODE_IDS_UNSUPPORTED"; }; }]; readonly operations: readonly [{ readonly operation: "unique batch probe"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-key checkUnique loop"; }; readonly requires: readonly ["checkUniqueBatch"]; readonly sites: readonly [{ readonly file: "store/operations/node-operations.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [1275, 1320]; }, { readonly file: "store/operations/node-operations.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [1575, 1593]; }]; }, { readonly operation: "unique claim issue"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "issueClaimsIndividually"; }; readonly requires: readonly ["insertUniqueBatch"]; readonly sites: readonly [{ readonly file: "store/claims/node-claims.ts"; readonly member: "insertUniqueBatch"; }]; }, { readonly operation: "unique reap by node ids"; readonly disposition: { readonly kind: "refuse"; readonly code: "UNIQUE_REAP_BY_NODE_IDS_UNSUPPORTED"; }; readonly requires: readonly ["hardDeleteUniquesByNodeIds"]; readonly sites: readonly [{ readonly file: "store/claims/node-claims.ts"; readonly member: "hardDeleteUniquesByNodeIds"; }]; }, { readonly operation: "set-based node update"; readonly disposition: { readonly kind: "refuse"; readonly code: "SET_UPDATE_UNIQUENESS_UNSUPPORTED"; }; readonly requires: readonly ["hardDeleteUniquesByNodeIds", "insertUniqueBatch", "checkUniqueBatch"]; readonly sites: readonly [{ readonly file: "store/operations/node-write-pipeline.ts"; readonly member: "hardDeleteUniquesByNodeIds"; }, { readonly file: "store/operations/node-write-pipeline.ts"; readonly member: "insertUniqueBatch"; }, { readonly file: "store/operations/node-write-pipeline.ts"; readonly member: "checkUniqueBatch"; }, { readonly file: "store/operations/node-operations.ts"; readonly member: "hardDeleteUniquesByNodeIds"; }, { readonly file: "store/operations/node-operations.ts"; readonly member: "insertUniqueBatch"; }, { readonly file: "store/operations/node-operations.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [1993]; }]; }, { readonly operation: "resolved node write"; readonly disposition: { readonly kind: "refuse"; readonly code: "RESOLVED_NODE_UNIQUENESS_UNSUPPORTED"; }; readonly requires: readonly ["hardDeleteUniquesByNodeIds", "insertUniqueBatch", "checkUniqueBatch"]; readonly sites: readonly [{ readonly file: "store/claims/resolved-node-claims.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [211]; }, { readonly file: "store/claims/resolved-node-claims.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [292]; }, { readonly file: "store/claims/resolved-node-claims.ts"; readonly member: "hardDeleteUniquesByNodeIds"; }, { readonly file: "store/claims/resolved-node-claims.ts"; readonly member: "insertUniqueBatch"; }]; }]; }; /** Two independently-guarded extras, both fallback. */ declare const BATCH_POINT_READ: { readonly id: "batchPointRead"; readonly kind: "graduated"; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly extras: readonly [{ readonly id: "getNodes"; readonly members: readonly ["getNodes"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; }, { readonly id: "getEdges"; readonly members: readonly ["getEdges"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getEdge"; }; }]; readonly operations: readonly [{ readonly operation: "search hydration"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/search.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "import reference validation"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-row getNode in the routing loop"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "interchange/import.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "import edge endpoint hydration"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-row getEdge"; }; readonly requires: readonly ["getEdges"]; readonly sites: readonly [{ readonly file: "interchange/import.ts"; readonly member: "getEdges"; }]; }, { readonly operation: "edge batch endpoint priming"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "skip the priming pass; endpoint validation reads per-row"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/operations/edge-operations.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "node create batch priming"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "skip priming; per-row probes"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/operations/node-operations.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "node collection batch load"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/collections/node-collection.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "node batch fetch"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/node-fetch.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "edge batch fetch"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getEdge"; }; readonly requires: readonly ["getEdges"]; readonly sites: readonly [{ readonly file: "store/edge-fetch.ts"; readonly member: "getEdges"; }]; }, { readonly operation: "identity member hydration"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "getNodes"; }]; }]; }; /** * Set-oriented endpoint reads are a separate family from point hydration. * A backend may implement `getNodes`/`getEdges` while deliberately omitting * this operation: the collection API promises one set-oriented read per * bind-budget chunk and therefore refuses instead of silently issuing an * unbounded singleton loop. */ declare const ENDPOINT_SET_READ: { readonly id: "endpointSetRead"; readonly kind: "graduated"; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly extras: readonly [{ readonly id: "findEdgesByEndpointSet"; readonly members: readonly ["findEdgesByEndpointSet"]; readonly disposition: { readonly kind: "refuse"; readonly code: "ENDPOINT_SET_READ_UNSUPPORTED"; }; }]; readonly operations: readonly [{ readonly operation: "bulk endpoint read"; readonly disposition: { readonly kind: "refuse"; readonly code: "ENDPOINT_SET_READ_UNSUPPORTED"; }; readonly requires: readonly ["findEdgesByEndpointSet"]; readonly sites: readonly [{ readonly file: "store/collections/edge-collection.ts"; readonly member: "findEdgesByEndpointSet"; }]; }]; }; /** * Core `executeStatement`. `IDENTITY_REQUIRES_STATEMENT_EXECUTION` and * `IDENTITY_REQUIRES_ATOMIC_BACKEND` are the existing `details.code` values * at `identity/sql-target.ts:101` and `store/store.ts:921`; the remaining * rows' underlying throws carry no domain code of their own today, so their * `code` here is registry-assigned classification (documented per row). */ declare const STATEMENT_EXECUTION: { readonly id: "statementExecution"; readonly kind: "gated"; readonly core: readonly ["executeStatement"]; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly disposition: { readonly kind: "refuse"; readonly code: "IDENTITY_REQUIRES_STATEMENT_EXECUTION"; }; readonly operations: readonly [{ readonly operation: "identity statement execution"; readonly disposition: { readonly kind: "refuse"; readonly code: "IDENTITY_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "identity/sql-target.ts"; readonly member: "executeStatement"; readonly rewiring: { readonly class: "deferred"; readonly reason: "requires verdict threading through IdentityServiceContext / the capture session — WS5b input, measured at ~13 files/~35 signatures"; }; }]; }, { readonly operation: "recorded capture statement"; readonly disposition: { readonly kind: "refuse"; readonly code: "RECORDED_CAPTURE_STATEMENT_UNSUPPORTED"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "executeStatement"; readonly lines: readonly [62, 79]; readonly rewiring: { readonly class: "deferred"; readonly reason: "requires verdict threading through IdentityServiceContext / the capture session — WS5b input, measured at ~13 files/~35 signatures"; }; }]; }, { readonly operation: "history construction gate"; readonly disposition: { readonly kind: "refuse"; readonly code: "HISTORY_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "executeStatement"; readonly lines: readonly [251]; }]; }, { readonly operation: "revision tracking construction gate"; readonly disposition: { readonly kind: "refuse"; readonly code: "REVISION_TRACKING_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "executeStatement"; readonly lines: readonly [299]; }]; }, { readonly operation: "history-unsafe raw write overlay"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "omit the overriding member; the port's own absence stands"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "executeStatement"; readonly lines: readonly [219]; readonly rewiring: { readonly class: "reasoned"; readonly reason: "genuinely a port-surface presence test; re-keying it on a verdict changes behavior in both directions (a phantom-rejecting stub one way, a raw-write escape on a history-enabled store the other — a safety regression), and adding a non-throwing gated accessor to the frozen binder surface for ONE site is the over-generalization anti-pattern"; }; }]; }, { readonly operation: "identity construction gate"; readonly disposition: { readonly kind: "refuse"; readonly code: "IDENTITY_REQUIRES_ATOMIC_BACKEND"; }; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "executeStatement"; readonly lines: readonly [921]; }, { readonly file: "store/store.ts"; readonly member: "executeStatement"; readonly lines: readonly [928]; }]; }, { readonly operation: "validity window repair"; readonly disposition: { readonly kind: "refuse"; readonly code: "VALIDITY_WINDOW_REPAIR_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "backend/repair-validity-windows.ts"; readonly member: "executeStatement"; }]; }, { readonly operation: "recorded-time migration"; readonly disposition: { readonly kind: "refuse"; readonly code: "RECORDED_TIME_MIGRATION_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "backend/migrate-recorded-time.ts"; readonly member: "executeStatement"; readonly lines: readonly [154, 161, 801]; readonly rewiring: { readonly class: "deferred"; readonly reason: "the delete path's public Pick-typed backend cannot reach resolveBundle, and the shared module-private helpers make a single-path rewire two owners"; }; }]; }]; }; /** * Four extras, one per public `Store` method, each read alone. Three refuse * with their own existing error; `probeContributions` is the pilot's one * `declarationGate` row — fallback to `{ entries: [] }` when * `capabilities.contributions` is undeclared, refuse when it is declared. */ declare const CONTRIBUTION_HEALTH: { readonly id: "contributionHealth"; readonly kind: "graduated"; readonly declaration: "contributions"; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly extras: readonly [{ readonly id: "verifyContributions"; readonly members: readonly ["verifyContributions"]; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_VERIFY_UNSUPPORTED"; }; }, { readonly id: "repairContributions"; readonly members: readonly ["repairContributions"]; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_REPAIR_UNSUPPORTED"; }; }, { readonly id: "rebuildContribution"; readonly members: readonly ["rebuildContribution"]; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_REBUILD_UNSUPPORTED"; }; }, { readonly id: "probeContributions"; readonly members: readonly ["probeContributions"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "{entries: []}"; }; }]; readonly operations: readonly [{ readonly operation: "contribution verify"; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_VERIFY_UNSUPPORTED"; }; readonly requires: readonly ["verifyContributions"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "verifyContributions"; }]; }, { readonly operation: "contribution repair"; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_REPAIR_UNSUPPORTED"; }; readonly requires: readonly ["repairContributions"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "repairContributions"; }]; }, { readonly operation: "contribution rebuild"; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_REBUILD_UNSUPPORTED"; }; readonly requires: readonly ["rebuildContribution"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "rebuildContribution"; }]; }, { readonly operation: "contribution probe"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "{entries: []}"; }; readonly requires: readonly ["probeContributions"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "probeContributions"; }]; readonly declarationGate: true; }]; }; /** * Core `ensureRevisionOriginsTable`, both refusals existing typed throws * (registry-assigned codes; neither underlying throw carries a domain code * of its own today). */ declare const RECORDED_REVISION_ORIGINS: { readonly id: "recordedRevisionOrigins"; readonly kind: "gated"; readonly core: readonly ["ensureRevisionOriginsTable"]; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly disposition: { readonly kind: "refuse"; readonly code: "REVISION_TRACKING_REQUIRES_REVISION_ORIGINS"; }; readonly operations: readonly [{ readonly operation: "revision tracking construction gate"; readonly disposition: { readonly kind: "refuse"; readonly code: "REVISION_TRACKING_REQUIRES_REVISION_ORIGINS"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "ensureRevisionOriginsTable"; }]; }, { readonly operation: "revision origin bootstrap"; readonly disposition: { readonly kind: "refuse"; readonly code: "REVISION_ORIGIN_BOOTSTRAP_UNSUPPORTED"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/clock.ts"; readonly member: "ensureRevisionOriginsTable"; }]; }]; }; /** The pilot registry: seven bundles, 16 members, 31 operation rows. */ declare const CAPABILITY_BUNDLES: readonly [{ readonly id: "claims"; readonly kind: "gated"; readonly core: readonly ["claimEdgeCardinality", "claimEdgeCardinalityBatch", "purgeEdgeClaims", "hardDeleteUniquesByConcreteKind"]; readonly declaration: "constraintClaims"; readonly crossCheck: "bidirectional"; readonly portSurfaceCode: "CONSTRAINT_CLAIM_SURFACE_MISMATCH"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "unclaimed writes; the caller's own supported:false branch"; }; readonly operations: readonly [{ readonly operation: "edge claim write"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "unclaimed writes; the caller's own supported:false branch"; }; readonly sites: readonly [{ readonly file: "store/claims/backing.ts"; readonly member: "claimEdgeCardinality"; }, { readonly file: "store/claims/backing.ts"; readonly member: "claimEdgeCardinalityBatch"; }, { readonly file: "store/claims/backing.ts"; readonly member: "purgeEdgeClaims"; }, { readonly file: "store/claims/backing.ts"; readonly member: "hardDeleteUniquesByConcreteKind"; }]; }]; }, { readonly id: "uniqueSidecarBatch"; readonly kind: "graduated"; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly extras: readonly [{ readonly id: "insertUniqueBatch"; readonly members: readonly ["insertUniqueBatch"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "issueClaimsIndividually"; }; }, { readonly id: "checkUniqueBatch"; readonly members: readonly ["checkUniqueBatch"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-key checkUnique loop"; }; }, { readonly id: "hardDeleteUniquesByNodeIds"; readonly members: readonly ["hardDeleteUniquesByNodeIds"]; readonly disposition: { readonly kind: "refuse"; readonly code: "UNIQUE_REAP_BY_NODE_IDS_UNSUPPORTED"; }; }]; readonly operations: readonly [{ readonly operation: "unique batch probe"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-key checkUnique loop"; }; readonly requires: readonly ["checkUniqueBatch"]; readonly sites: readonly [{ readonly file: "store/operations/node-operations.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [1275, 1320]; }, { readonly file: "store/operations/node-operations.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [1575, 1593]; }]; }, { readonly operation: "unique claim issue"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "issueClaimsIndividually"; }; readonly requires: readonly ["insertUniqueBatch"]; readonly sites: readonly [{ readonly file: "store/claims/node-claims.ts"; readonly member: "insertUniqueBatch"; }]; }, { readonly operation: "unique reap by node ids"; readonly disposition: { readonly kind: "refuse"; readonly code: "UNIQUE_REAP_BY_NODE_IDS_UNSUPPORTED"; }; readonly requires: readonly ["hardDeleteUniquesByNodeIds"]; readonly sites: readonly [{ readonly file: "store/claims/node-claims.ts"; readonly member: "hardDeleteUniquesByNodeIds"; }]; }, { readonly operation: "set-based node update"; readonly disposition: { readonly kind: "refuse"; readonly code: "SET_UPDATE_UNIQUENESS_UNSUPPORTED"; }; readonly requires: readonly ["hardDeleteUniquesByNodeIds", "insertUniqueBatch", "checkUniqueBatch"]; readonly sites: readonly [{ readonly file: "store/operations/node-write-pipeline.ts"; readonly member: "hardDeleteUniquesByNodeIds"; }, { readonly file: "store/operations/node-write-pipeline.ts"; readonly member: "insertUniqueBatch"; }, { readonly file: "store/operations/node-write-pipeline.ts"; readonly member: "checkUniqueBatch"; }, { readonly file: "store/operations/node-operations.ts"; readonly member: "hardDeleteUniquesByNodeIds"; }, { readonly file: "store/operations/node-operations.ts"; readonly member: "insertUniqueBatch"; }, { readonly file: "store/operations/node-operations.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [1993]; }]; }, { readonly operation: "resolved node write"; readonly disposition: { readonly kind: "refuse"; readonly code: "RESOLVED_NODE_UNIQUENESS_UNSUPPORTED"; }; readonly requires: readonly ["hardDeleteUniquesByNodeIds", "insertUniqueBatch", "checkUniqueBatch"]; readonly sites: readonly [{ readonly file: "store/claims/resolved-node-claims.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [211]; }, { readonly file: "store/claims/resolved-node-claims.ts"; readonly member: "checkUniqueBatch"; readonly lines: readonly [292]; }, { readonly file: "store/claims/resolved-node-claims.ts"; readonly member: "hardDeleteUniquesByNodeIds"; }, { readonly file: "store/claims/resolved-node-claims.ts"; readonly member: "insertUniqueBatch"; }]; }]; }, { readonly id: "batchPointRead"; readonly kind: "graduated"; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly extras: readonly [{ readonly id: "getNodes"; readonly members: readonly ["getNodes"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; }, { readonly id: "getEdges"; readonly members: readonly ["getEdges"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getEdge"; }; }]; readonly operations: readonly [{ readonly operation: "search hydration"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/search.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "import reference validation"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-row getNode in the routing loop"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "interchange/import.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "import edge endpoint hydration"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-row getEdge"; }; readonly requires: readonly ["getEdges"]; readonly sites: readonly [{ readonly file: "interchange/import.ts"; readonly member: "getEdges"; }]; }, { readonly operation: "edge batch endpoint priming"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "skip the priming pass; endpoint validation reads per-row"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/operations/edge-operations.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "node create batch priming"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "skip priming; per-row probes"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/operations/node-operations.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "node collection batch load"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/collections/node-collection.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "node batch fetch"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/node-fetch.ts"; readonly member: "getNodes"; }]; }, { readonly operation: "edge batch fetch"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getEdge"; }; readonly requires: readonly ["getEdges"]; readonly sites: readonly [{ readonly file: "store/edge-fetch.ts"; readonly member: "getEdges"; }]; }, { readonly operation: "identity member hydration"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "per-id getNode"; }; readonly requires: readonly ["getNodes"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "getNodes"; }]; }]; }, { readonly id: "statementExecution"; readonly kind: "gated"; readonly core: readonly ["executeStatement"]; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly disposition: { readonly kind: "refuse"; readonly code: "IDENTITY_REQUIRES_STATEMENT_EXECUTION"; }; readonly operations: readonly [{ readonly operation: "identity statement execution"; readonly disposition: { readonly kind: "refuse"; readonly code: "IDENTITY_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "identity/sql-target.ts"; readonly member: "executeStatement"; readonly rewiring: { readonly class: "deferred"; readonly reason: "requires verdict threading through IdentityServiceContext / the capture session — WS5b input, measured at ~13 files/~35 signatures"; }; }]; }, { readonly operation: "recorded capture statement"; readonly disposition: { readonly kind: "refuse"; readonly code: "RECORDED_CAPTURE_STATEMENT_UNSUPPORTED"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "executeStatement"; readonly lines: readonly [62, 79]; readonly rewiring: { readonly class: "deferred"; readonly reason: "requires verdict threading through IdentityServiceContext / the capture session — WS5b input, measured at ~13 files/~35 signatures"; }; }]; }, { readonly operation: "history construction gate"; readonly disposition: { readonly kind: "refuse"; readonly code: "HISTORY_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "executeStatement"; readonly lines: readonly [251]; }]; }, { readonly operation: "revision tracking construction gate"; readonly disposition: { readonly kind: "refuse"; readonly code: "REVISION_TRACKING_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "executeStatement"; readonly lines: readonly [299]; }]; }, { readonly operation: "history-unsafe raw write overlay"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "omit the overriding member; the port's own absence stands"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "executeStatement"; readonly lines: readonly [219]; readonly rewiring: { readonly class: "reasoned"; readonly reason: "genuinely a port-surface presence test; re-keying it on a verdict changes behavior in both directions (a phantom-rejecting stub one way, a raw-write escape on a history-enabled store the other — a safety regression), and adding a non-throwing gated accessor to the frozen binder surface for ONE site is the over-generalization anti-pattern"; }; }]; }, { readonly operation: "identity construction gate"; readonly disposition: { readonly kind: "refuse"; readonly code: "IDENTITY_REQUIRES_ATOMIC_BACKEND"; }; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "executeStatement"; readonly lines: readonly [921]; }, { readonly file: "store/store.ts"; readonly member: "executeStatement"; readonly lines: readonly [928]; }]; }, { readonly operation: "validity window repair"; readonly disposition: { readonly kind: "refuse"; readonly code: "VALIDITY_WINDOW_REPAIR_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "backend/repair-validity-windows.ts"; readonly member: "executeStatement"; }]; }, { readonly operation: "recorded-time migration"; readonly disposition: { readonly kind: "refuse"; readonly code: "RECORDED_TIME_MIGRATION_REQUIRES_STATEMENT_EXECUTION"; }; readonly sites: readonly [{ readonly file: "backend/migrate-recorded-time.ts"; readonly member: "executeStatement"; readonly lines: readonly [154, 161, 801]; readonly rewiring: { readonly class: "deferred"; readonly reason: "the delete path's public Pick-typed backend cannot reach resolveBundle, and the shared module-private helpers make a single-path rewire two owners"; }; }]; }]; }, { readonly id: "contributionHealth"; readonly kind: "graduated"; readonly declaration: "contributions"; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly extras: readonly [{ readonly id: "verifyContributions"; readonly members: readonly ["verifyContributions"]; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_VERIFY_UNSUPPORTED"; }; }, { readonly id: "repairContributions"; readonly members: readonly ["repairContributions"]; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_REPAIR_UNSUPPORTED"; }; }, { readonly id: "rebuildContribution"; readonly members: readonly ["rebuildContribution"]; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_REBUILD_UNSUPPORTED"; }; }, { readonly id: "probeContributions"; readonly members: readonly ["probeContributions"]; readonly disposition: { readonly kind: "fallback"; readonly fallback: "{entries: []}"; }; }]; readonly operations: readonly [{ readonly operation: "contribution verify"; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_VERIFY_UNSUPPORTED"; }; readonly requires: readonly ["verifyContributions"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "verifyContributions"; }]; }, { readonly operation: "contribution repair"; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_REPAIR_UNSUPPORTED"; }; readonly requires: readonly ["repairContributions"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "repairContributions"; }]; }, { readonly operation: "contribution rebuild"; readonly disposition: { readonly kind: "refuse"; readonly code: "CONTRIBUTION_REBUILD_UNSUPPORTED"; }; readonly requires: readonly ["rebuildContribution"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "rebuildContribution"; }]; }, { readonly operation: "contribution probe"; readonly disposition: { readonly kind: "fallback"; readonly fallback: "{entries: []}"; }; readonly requires: readonly ["probeContributions"]; readonly sites: readonly [{ readonly file: "store/store.ts"; readonly member: "probeContributions"; }]; readonly declarationGate: true; }]; }, { readonly id: "recordedRevisionOrigins"; readonly kind: "gated"; readonly core: readonly ["ensureRevisionOriginsTable"]; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly disposition: { readonly kind: "refuse"; readonly code: "REVISION_TRACKING_REQUIRES_REVISION_ORIGINS"; }; readonly operations: readonly [{ readonly operation: "revision tracking construction gate"; readonly disposition: { readonly kind: "refuse"; readonly code: "REVISION_TRACKING_REQUIRES_REVISION_ORIGINS"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/guards.ts"; readonly member: "ensureRevisionOriginsTable"; }]; }, { readonly operation: "revision origin bootstrap"; readonly disposition: { readonly kind: "refuse"; readonly code: "REVISION_ORIGIN_BOOTSTRAP_UNSUPPORTED"; }; readonly sites: readonly [{ readonly file: "store/recorded-capture/clock.ts"; readonly member: "ensureRevisionOriginsTable"; }]; }]; }, { readonly id: "endpointSetRead"; readonly kind: "graduated"; readonly crossCheck: "none"; readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH"; readonly extras: readonly [{ readonly id: "findEdgesByEndpointSet"; readonly members: readonly ["findEdgesByEndpointSet"]; readonly disposition: { readonly kind: "refuse"; readonly code: "ENDPOINT_SET_READ_UNSUPPORTED"; }; }]; readonly operations: readonly [{ readonly operation: "bulk endpoint read"; readonly disposition: { readonly kind: "refuse"; readonly code: "ENDPOINT_SET_READ_UNSUPPORTED"; }; readonly requires: readonly ["findEdgesByEndpointSet"]; readonly sites: readonly [{ readonly file: "store/collections/edge-collection.ts"; readonly member: "findEdgesByEndpointSet"; }]; }]; }]; type CapabilityBundleId = (typeof CAPABILITY_BUNDLES)[number]["id"]; /** No bundle should ever own this member; the reason is the fact to preserve. */ type ReasonedUnbundledMember = Readonly<{ kind: "reasoned"; reason: string; /** Measured receiver-scoped access count (§Baselines). May be 0. */ accesses: number; }>; /** The 14 remaining WS5b bundle ids, retained from the round-4 sweep table. */ type Ws5bBundleId = "batchEntityWrite" | "heterogeneousEndpointSetRead" | "vectorOperations" | "hybridSearch" | "vectorSlotContributions" | "fulltextOperations" | "fulltextProvisioning" | "databaseExtensions" | "contributionProvisioning" | "indexMaterialization" | "ddlExecution" | "temporaryStatements" | "rawStatementReuse" | "trustedImport"; /** WS5b's residue: this bundle owns it, and the access count may not grow. */ type DeferredUnbundledMember = Readonly<{ kind: "deferred"; workstream: "WS5b"; bundle: Ws5bBundleId; /** Measured receiver-scoped access count (§Baselines) — the ceiling. */ ceiling: number; }>; type UnbundledOptionalMember = ReasonedUnbundledMember | DeferredUnbundledMember; /** * The 32 `reasoned` + 49 `deferred` members * (B9's scanner corrected two `reasoned` counts: `tableNames` 22→23, * `ensureIdentityTables` 3→4; #520 then added `recordedTableDdl` with one * access; resolving the write-fence spelling through the fence plan then * added `fenceSql` with two accesses; the catalog-introspection bag then * added `catalog`, a reasoned member with zero measured accesses — its own * absence refusal lives in this directory, which the live scanner excludes * wholesale; the forked working-copy strategy then reads the connected * backend's `tableNames` to fence them against the base store's resolved * schema — 90 → 91; the lineage capability then added `lineage`, a * reasoned member with two live accesses (`resolveLineage`'s two reads of * the backend's own member) — 91 → 93. A later fix briefly grew this to 95 * by re-deriving `resolveLineage(target)`'s resolution and comparing it * against the transaction handle's own `lineage` by identity inside * `assertTargetUnchanged` — a dead read, since `LineageMembers` took no * session argument and the comparison never actually pinned anything to * the transaction. Giving `revision`/`changesSince` a real `session` * parameter made that comparison unnecessary — `assertTargetUnchanged` now * reaches `lineage` through `requireLineage(txBackend, …)`, a call the * live scanner does not see (it reads `.lineage` inside * `backend/capabilities/`, outside the scanned scope) — back to 93. The * engine-native recorded-time capability then added `recordedTime`, a * reasoned member with zero measured accesses: its own absence refusal * (`requireRecordedTime`) lives in the excluded `backend/capabilities/` * directory, and every other current read * (`profile.provisioning.recordedTime` in `create-sql-backend.ts` and both * dialects' transaction-scoped threading) is off `EngineProvisioning`, a * type the receiver test's arm (b) does not recognize by name — still 93, * 16 + 84 = 100 members total. */ declare const UNBUNDLED_OPTIONAL_MEMBERS: { readonly upsertHeterogeneousNodes: { readonly kind: "reasoned"; readonly reason: "Exact-session PostgreSQL heterogeneous node upsert program."; readonly accesses: 6; }; readonly adoptBaseSchema: { readonly kind: "reasoned"; readonly reason: "Privileged deployment-wide physical-schema adoption. Bundled backends implement the versioned marker lifecycle; custom backends may omit it when they provision their own base relations."; readonly accesses: 2; }; readonly assertBaseSchemaCurrent: { readonly kind: "reasoned"; readonly reason: "SELECT-only sibling of base adoption, consulted by verified and graph-template entry points plus the managed libSQL installation postcondition so incompatible storage fails before use. Custom backends may omit it only when they own base-schema compatibility themselves; omission intentionally preserves the legacy no-gate contract."; readonly accesses: 4; }; readonly ensureEdgeMatchIdentityStorage: { readonly kind: "reasoned"; readonly reason: "Focused privileged base-schema adoption hook. The versioned base-schema lifecycle calls it only while adopting an unstamped release because all edge writes name the nullable columns; runtime stores never consult it. Custom backends may omit it only when their durableEdgeMatchIdentity declaration promises independently provisioned storage."; readonly accesses: 1; }; readonly claimEdgeCardinalityGuarded: { readonly kind: "reasoned"; readonly reason: "A stronger first-party single-claim operation whose member presence explicitly permits the store to fold the legacy entity probe into the claim; custom and legacy claim backends keep probe-then-claim, so it is not part of the claims bundle's required portable surface."; readonly accesses: 1; }; readonly insertNodeIfAbsentWithSchemaFence: { readonly kind: "reasoned"; readonly reason: "First-party schema-managed insert fast path selected only by the node create session; a missing member retains the ordinary fence then insert path."; readonly accesses: 6; }; readonly insertNodeWithSchemaFence: { readonly kind: "reasoned"; readonly reason: "Same first-party schema-fenced node insert family; generated ids use it only when no earlier lock-bearing work is required."; readonly accesses: 7; }; readonly bootstrapTables: { readonly kind: "reasoned"; readonly reason: "One-shot provisioning hook consulted by createStore and the managed libSQL legacy fallback before any capability question exists; it has no operation that could refuse or degrade."; readonly accesses: 4; }; readonly tableNames: { readonly kind: "reasoned"; readonly reason: "Physical names read by the compiler and schema-checked reads. The optional schema-version binding is required only by checked reads; its absence refuses that operation."; readonly accesses: 25; }; readonly fenceSql: { readonly kind: "reasoned"; readonly reason: "The write-fence lock spelling a backend's `writeFence: { mechanism: \"advisory\" }` declaration requires. Every lock site reads it exclusively through the resolved `WriteFencePlan`'s `sql` field (`resolveWriteFencePlan`/`requireWriteFence` in `backend/capabilities/write-fence.ts`). The one exception is `assertRecordedCaptureTransactionIsolation` (`store/recorded-capture/guards.ts`), which reads `target.fenceSql` directly: it is gated purely on `dialect`, not on a resolved fence plan, so there is no plan to read the spelling through."; readonly accesses: 2; }; readonly commitSchemaVersionIfKindsEmpty: { readonly kind: "reasoned"; readonly reason: "Schema-version write fence, a SchemaCommitBackend role member. Its absence is dispositioned by the schema manager's own gate, which is a write-pipeline decision, not a feature-family one."; readonly accesses: 2; }; readonly commitSchemaVersionWithPreflight: { readonly kind: "reasoned"; readonly reason: "Same schema-version write-fence family as commitSchemaVersionIfKindsEmpty."; readonly accesses: 3; }; readonly lockSchemaVersionForWrite: { readonly kind: "reasoned"; readonly reason: "Same family; also the one schema member on TransactionBackend, so bundling it would re-open the accessor's B-1 port-typing question for no pilot consumer."; readonly accesses: 1; }; readonly lockSchemaVersionAndGraphWrite: { readonly kind: "reasoned"; readonly reason: "PostgreSQL/PGlite transaction-only latency seam which preserves the existing schema-then-graph lock order in one dependent-CTE statement; SQLite and custom backends retain the two portable lock operations."; readonly accesses: 1; }; readonly schemaWriteTransaction: { readonly kind: "reasoned"; readonly reason: "Same family — and it returns a narrowed transaction backend, so it is a port constructor rather than an operation."; readonly accesses: 4; }; readonly registerGraphTemplate: { readonly kind: "reasoned"; readonly reason: "Administrative template registration is gated by the graph-template facade, which refuses absent backends rather than treating a missing registry as an empty template set."; readonly accesses: 1; }; readonly instantiateGraphTemplate: { readonly kind: "reasoned"; readonly reason: "Administrative schema bootstrap operation, gated by the graph-template facade; it is not a runtime feature family because absence is a typed refusal before any graph write."; readonly accesses: 1; }; readonly ensureIdentityTables: { readonly kind: "reasoned"; readonly reason: "Identity DDL, gated by the identity construction gate (store.ts:918-935), which is the write-fence design's decision and must stay one owner there."; readonly accesses: 4; }; readonly identityTableDdl: { readonly kind: "reasoned"; readonly reason: "Same identity-DDL family as ensureIdentityTables. Adopted evolution adds one Store handoff of the DDL factory and one same-session catalog inspection before the fenced schema commit; both refuse absent DDL rather than skipping required storage."; readonly accesses: 4; }; readonly recordedTableDdl: { readonly kind: "reasoned"; readonly reason: "Recorded-time migration DDL factory; its only consumer has its own typed capability refusal, so it is a provisioning port rather than a feature-family operation."; readonly accesses: 1; }; readonly ensureKindRemovalsTable: { readonly kind: "reasoned"; readonly reason: "Kind-removal provisioning; the removal path's own gate is a schema-lifecycle decision with a single consumer (materialize-removals.ts) and no second theory to consolidate."; readonly accesses: 3; }; readonly getAllKindRemovals: { readonly kind: "reasoned"; readonly reason: "Same kind-removal family as ensureKindRemovalsTable."; readonly accesses: 2; }; readonly getPendingKindRemovals: { readonly kind: "reasoned"; readonly reason: "Same kind-removal family as ensureKindRemovalsTable."; readonly accesses: 4; }; readonly recordKindRemoval: { readonly kind: "reasoned"; readonly reason: "Same kind-removal family as ensureKindRemovalsTable."; readonly accesses: 4; }; readonly ensureReconciliationMarkersTable: { readonly kind: "reasoned"; readonly reason: "Reconciliation-marker family; single consumer, single gate, same reasoning."; readonly accesses: 2; }; readonly getReconciliationMarker: { readonly kind: "reasoned"; readonly reason: "Same reconciliation-marker family."; readonly accesses: 2; }; readonly setReconciliationMarker: { readonly kind: "reasoned"; readonly reason: "Same reconciliation-marker family."; readonly accesses: 2; }; readonly readConstraintFenceViolations: { readonly kind: "reasoned"; readonly reason: "Read-only fence audit with exactly one caller and a documented \"absent ⇒ the report is unavailable\" contract (history-store-backend.ts:105-108); no operation degrades or refuses on it."; readonly accesses: 1; }; readonly ensureContributionMaterializationsTable: { readonly kind: "reasoned"; readonly reason: "Zero consumers in src/** outside the backend implementations — measured, not inferred. A member no code path consults has no measurable arity or disposition."; readonly accesses: 0; }; readonly getContributionMaterialization: { readonly kind: "reasoned"; readonly reason: "Same zero-consumer family as ensureContributionMaterializationsTable."; readonly accesses: 0; }; readonly recordContributionMaterialization: { readonly kind: "reasoned"; readonly reason: "Zero consumers outside the backend implementations; its only in-tree use is a backend implementation calling its own member (backend/drizzle/contribution-materializations.ts:1588), which the scanner excludes by scope."; readonly accesses: 0; }; readonly assertRuntimeContributionsInitialized: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "contributionProvisioning"; readonly ceiling: 1; }; readonly assertVectorSlotInitialized: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorSlotContributions"; readonly ceiling: 1; }; readonly assertVectorSlotsInitialized: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorSlotContributions"; readonly ceiling: 1; }; readonly catalog: { readonly kind: "reasoned"; readonly reason: "Physical-schema introspection (table/index presence, PostgreSQL's invalid-index leftover state, normalized column types) a store path consults directly rather than through a bundle disposition; its own absence has one typed refusal naming it, not a per-operation fallback. That refusal lives in backend/capabilities/, which the live access scanner excludes wholesale (it is the registry's own directory), so its access count is measured as zero even though the refusal reads the member."; readonly accesses: 0; }; readonly lineage: { readonly kind: "reasoned"; readonly reason: "Whole-database revision and per-graph change delta, consulted directly by a caller that wants to skip a full comparison rather than through a bundle disposition; every such caller already knows how to fall back to the full comparison when this is absent, so there is no per-operation degradation table to own. Its absence refusal lives in backend/capabilities/, which the live access scanner excludes wholesale (it is the registry's own directory). The store's own recorded-relations derivation (`resolveLineage`, store/recorded-capture/lineage.ts) selects the backend's own `lineage` over the derived one: two reads on the same line. Every OTHER consumer — `assertTargetUnchanged`'s commit-time engine-anchor check among them — reaches `lineage` through `resolveLineage`/`requireLineage` rather than a raw `.lineage` read of its own, so none of them add to this count."; readonly accesses: 2; }; readonly recordedTime: { readonly kind: "reasoned"; readonly reason: "The engine's own recorded (system-time) read source and revision clock. Present only when a backend's engine declares it, and consulted only through resolveRecordedTimeOwnership/requireRecordedTime, both of which live in backend/capabilities/, which the live access scanner excludes wholesale (it is the registry's own directory). createSqlBackend's co-requirement check against `lineage` and both dialects' transaction-scoped threading all read `.recordedTime` off `EngineProvisioning`, not off a `GraphBackend`/`TransactionBackend`-typed receiver, so none of them add to this count either."; readonly accesses: 0; }; readonly claimIndexMaterialization: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "indexMaterialization"; readonly ceiling: 2; }; readonly compileSql: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "rawStatementReuse"; readonly ceiling: 9; }; readonly createVectorIndex: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorOperations"; readonly ceiling: 4; }; readonly deleteEdgesBatch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 6; }; readonly deleteEmbedding: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorOperations"; readonly ceiling: 8; }; readonly deleteEmbeddingBatch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorOperations"; readonly ceiling: 4; }; readonly deleteFulltext: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "fulltextOperations"; readonly ceiling: 12; }; readonly deleteFulltextBatch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "fulltextOperations"; readonly ceiling: 6; }; readonly deleteVectorSlotContribution: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorSlotContributions"; readonly ceiling: 0; }; readonly dropVectorIndex: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorOperations"; readonly ceiling: 0; }; readonly ensureExtension: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "databaseExtensions"; readonly ceiling: 2; }; readonly ensureFulltextTable: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "fulltextProvisioning"; readonly ceiling: 1; }; readonly ensureIndexMaterializationsTable: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "indexMaterialization"; readonly ceiling: 2; }; readonly ensureRuntimeContributions: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "contributionProvisioning"; readonly ceiling: 2; }; readonly ensureTrigramExtension: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "databaseExtensions"; readonly ceiling: 2; }; readonly ensureVectorSlotContribution: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorSlotContributions"; readonly ceiling: 4; }; readonly ensureVectorSlotContributions: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorSlotContributions"; readonly ceiling: 3; }; readonly executeDdl: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "ddlExecution"; readonly ceiling: 13; }; readonly executeRaw: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "rawStatementReuse"; readonly ceiling: 11; }; readonly executeTemporaryStatement: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "temporaryStatements"; readonly ceiling: 3; }; readonly findEdgesByHeterogeneousEndpointSet: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "heterogeneousEndpointSetRead"; readonly ceiling: 5; }; readonly fulltextSearch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "fulltextOperations"; readonly ceiling: 4; }; readonly fulltextStrategy: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "fulltextOperations"; readonly ceiling: 2; }; readonly getIndexMaterialization: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "indexMaterialization"; readonly ceiling: 3; }; readonly getIndexMaterializations: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "indexMaterialization"; readonly ceiling: 2; }; readonly hardDeleteEdgesBatch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 5; }; readonly hybridSearch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "hybridSearch"; readonly ceiling: 2; }; readonly insertEdgeNoReturn: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 4; }; readonly insertEdgesBatch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 4; }; readonly insertEdgesBatchReturning: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 4; }; readonly insertEdgesDurableBatchReturning: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 8; }; readonly insertNodeNoReturn: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 4; }; readonly insertNodeIfAbsent: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 7; }; readonly insertNodesBatch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 4; }; readonly insertNodesBatchReturning: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 4; }; readonly recordIndexMaterialization: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "indexMaterialization"; readonly ceiling: 6; }; readonly releaseIndexMaterializationClaim: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "indexMaterialization"; readonly ceiling: 2; }; readonly trustedImport: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "trustedImport"; readonly ceiling: 1; }; readonly compareAndSetNode: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 6; }; readonly updateNodeSet: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 6; }; readonly updateResolvedNodesBatch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "batchEntityWrite"; readonly ceiling: 6; }; readonly upsertEmbedding: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorOperations"; readonly ceiling: 10; }; readonly upsertEmbeddingBatch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorOperations"; readonly ceiling: 4; }; readonly upsertFulltext: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "fulltextOperations"; readonly ceiling: 10; }; readonly upsertFulltextBatch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "fulltextOperations"; readonly ceiling: 6; }; readonly vectorSearch: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorOperations"; readonly ceiling: 4; }; readonly vectorStrategy: { readonly kind: "deferred"; readonly workstream: "WS5b"; readonly bundle: "vectorOperations"; readonly ceiling: 9; }; }; /** * The appendix's 14 remaining WS5b bundles, as (bundle id → member names) — written * INDEPENDENTLY of `UNBUNDLED_OPTIONAL_MEMBERS`'s `deferred` entries, so the * totality proof below is not a tautology: grouping the `deferred` entries * by `bundle` must reproduce this table exactly. */ declare const WS5B_SEED_BUNDLES: { readonly batchEntityWrite: readonly ["insertNodesBatch", "insertNodesBatchReturning", "insertEdgesBatch", "insertEdgesBatchReturning", "insertEdgesDurableBatchReturning", "deleteEdgesBatch", "hardDeleteEdgesBatch", "insertNodeNoReturn", "insertNodeIfAbsent", "insertEdgeNoReturn", "compareAndSetNode", "updateNodeSet", "updateResolvedNodesBatch"]; readonly heterogeneousEndpointSetRead: readonly ["findEdgesByHeterogeneousEndpointSet"]; readonly vectorOperations: readonly ["upsertEmbedding", "deleteEmbedding", "upsertEmbeddingBatch", "deleteEmbeddingBatch", "vectorSearch", "vectorStrategy", "createVectorIndex", "dropVectorIndex"]; readonly hybridSearch: readonly ["hybridSearch"]; readonly vectorSlotContributions: readonly ["assertVectorSlotsInitialized", "assertVectorSlotInitialized", "ensureVectorSlotContributions", "ensureVectorSlotContribution", "deleteVectorSlotContribution"]; readonly fulltextOperations: readonly ["upsertFulltext", "deleteFulltext", "upsertFulltextBatch", "deleteFulltextBatch", "fulltextSearch", "fulltextStrategy"]; readonly fulltextProvisioning: readonly ["ensureFulltextTable"]; readonly databaseExtensions: readonly ["ensureExtension", "ensureTrigramExtension"]; readonly contributionProvisioning: readonly ["ensureRuntimeContributions", "assertRuntimeContributionsInitialized"]; readonly indexMaterialization: readonly ["getIndexMaterialization", "recordIndexMaterialization", "getIndexMaterializations", "ensureIndexMaterializationsTable", "claimIndexMaterialization", "releaseIndexMaterializationClaim"]; readonly ddlExecution: readonly ["executeDdl"]; readonly temporaryStatements: readonly ["executeTemporaryStatement"]; readonly rawStatementReuse: readonly ["executeRaw", "compileSql"]; readonly trustedImport: readonly ["trustedImport"]; }; /** * A bundle's extras, as a type-level map from extra id to the UNION of * member names that extra covers — derived from the definition's `extras` * array by `const` inference, never hand-written. */ type CapabilityExtraSpec = Readonly>; /** * One extra's verdict. `present: true` carries the member NAMES, not the * member functions (ruling B1) — the names are what the accessor binds * from, at the site, off the port. */ type ExtraVerdict = Readonly<{ present: true; members: readonly M[]; }> | Readonly<{ present: false; missing: readonly M[]; disposition: CapabilityBundleDisposition; }>; /** The verdict map: one entry per extra id, never a boolean. */ type ExtraVerdicts = Readonly<{ [K in keyof X]: ExtraVerdict; }>; type GatedBundleVerdict = Readonly<{ supported: true; bundle: string; /** The core, guaranteed present. Names, not functions. */ members: readonly MCore[]; extras: ExtraVerdicts; /** The `present: false` keys of `extras`. */ missingExtras: readonly (keyof X)[]; }> | Readonly<{ supported: false; bundle: string; missing: readonly MCore[]; /** Why it is unsupported: the bundle's own `disposition`, verbatim. */ disposition: CapabilityBundleDisposition; }>; /** No `supported` field: a graduated bundle has no bundle-level verdict. */ type GraduatedBundleVerdict = Readonly<{ bundle: string; extras: ExtraVerdicts; missingExtras: readonly (keyof X)[]; }>; /** * Recovers the id→members map from a definition's `extras` TUPLE (not * `readonly CapabilityBundleExtra[]` — over the array type the * id→members association is erased and `ExtraVerdicts` degenerates to an * index signature). */ type SpecOf[]> = { [K in XS[number] as K["id"]]: K["members"][number]; }; type ExtrasOf = SpecOf>; type ExtraMember> = Extract[X], OptionalGraphBackendMember>; /** * The definition union and the return-type mapping. Structural, matching * `bundle-registry.ts`'s `BundleMembers` helper's own lesson: reading `core` * off `D` directly (rather than re-matching `GatedBundleDefinition`) avoids * an unmatched `infer` silently widening to the member constraint. */ type BundleVerdictOf = D extends ({ kind: "graduated"; extras: infer XS extends readonly CapabilityBundleExtra[]; }) ? GraduatedBundleVerdict> : D extends ({ kind: "gated"; core: readonly (infer MCore extends OptionalGraphBackendMember)[]; extras?: infer XS extends readonly CapabilityBundleExtra[] | undefined; }) ? GatedBundleVerdict[]) ? XS : []>> : never; /** * Resolved ONCE, at construction or entry, against the top-level backend — * never against a `TransactionBackend` (I15's `@ts-expect-error` row). * * Rules: the member surface is read always; the declaration is read only * when the definition names one AND `crossCheck !== "none"` (only `claims` * qualifies in the pilot registry); a gated bundle's core must be complete * or the bundle is unsupported with `missing`; a graduated bundle has no * bundle-level verdict, only per-extra verdicts. `missingExtras` is built by * the SAME fold that builds `extras` (one pass, one owner). */ declare function resolveBundle(backend: GraphBackend, definition: D): BundleVerdictOf; /** The literal operation names a bundle's `operations` table declares. */ type OperationNames = D["operations"][number]["operation"]; /** The extras a named operation `requires`, read from the ROW — never re-spelled at the call site. */ type RequiredExtrasOf> = Extract extends ({ requires: infer R extends readonly string[]; }) ? R[number] : never; /** * The registry's row lookup plus the presence fold, extracted verbatim from * {@link requireExtras}'s body (ruling B8 spec item 3): the ONE owner of * "what this operation requires" that both `requireExtras`'s default throw * and a call site's own `refuse` callback consult. * * `operation` is the literal key of the bundle's `operations` tuple, so the * required extras are looked up TYPE-LEVEL from the registry — no second * spelling of `requires` at the call site. * * @throws {ConfigurationError} naming the unknown operation when `operation` * is not a row of `definition.operations`. */ declare function missingRequiredExtras>(definition: D, verdict: BundleVerdictOf, operation: Op): readonly string[]; /** * The refusal for an operation whose `requires` extras are absent — how a * GRADUATED bundle refuses where the tree refuses today: the row names the * operation and the extras, this asserts they are present, and * {@link bindExtra} (`bind.ts`) binds them off the port. * * `refuse`, when supplied, is called instead of the registry-coded throw * below — this is how a call site keeps its OWN existing error text (message, * `details` shape, order relative to other refusals) while the registry * stays the one owner of "what this operation requires" (ruling B8 spec item * 3). Omitting it keeps the default behavior byte-identical to before this * parameter existed. * * @throws {ConfigurationError} naming the row's own `code` when one or more * required extras is absent from the verdict and no `refuse` callback is * supplied; otherwise calls `refuse(missing)`, which never returns. */ declare function requireExtras>(definition: D, verdict: BundleVerdictOf, operation: Op, refuse?: (missing: readonly string[]) => never): asserts verdict is BundleVerdictOf & { extras: { [K in RequiredExtrasOf & keyof ExtrasOf]: Extract>, { present: true; }>; }; }; declare function claimsVerdict(backend: GraphBackend): BundleVerdictOf; declare function uniqueSidecarBatchVerdict(backend: GraphBackend): BundleVerdictOf; declare function batchPointReadVerdict(backend: GraphBackend): BundleVerdictOf; declare function endpointSetReadVerdict(backend: GraphBackend): BundleVerdictOf; declare function statementExecutionVerdict(backend: GraphBackend): BundleVerdictOf; declare function contributionHealthVerdict(backend: GraphBackend): BundleVerdictOf; declare function recordedRevisionOriginsVerdict(backend: GraphBackend): BundleVerdictOf; /** * A memoized, at-most-once resolution of the `claims` bundle's verdict * against ONE backend. * * Eager resolution at store construction is forbidden: T14's * contradictory-declaration backends must still be able to construct a store * and create nodes — only a constrained edge write may legally reach the * bidirectional cross-check's throw, and it must do so lazily, at the first * write that needs the verdict. * * A cached verdict cannot go stale because `GraphBackend` is deep-frozen (B1): * nothing can flip `capabilities.constraintClaims` or add/remove a claim * member on a backend object after this thunk has already resolved it, so * "resolve once and reuse forever" is exactly as safe as "resolve every * time" — for one backend object, they observe the same immutable answer. */ type ClaimsVerdictThunk = () => BundleVerdictOf; /** * Mints — or returns the already-minted — {@link ClaimsVerdictThunk} for * `backend`. * * The thunk resolves {@link resolveBundle}`(backend, CLAIMS)` on its first * call and caches the outcome, INCLUDING a thrown `ConfigurationError`: a * refusal is cached and re-thrown on every subsequent call, never * re-resolved. Both layers — interning here, memoization inside the thunk — * are required: interning alone would still let two independently-memoized * thunks exist for one backend if a caller ignored the shared one; memoizing * alone would still let two different call sites mint two different thunks * that could disagree about whether they had already resolved. */ declare function createClaimsVerdictThunk(backend: GraphBackend): ClaimsVerdictThunk; export { type Ws5bBundleId as A, BATCH_POINT_READ as B, type CapabilityBundleId as C, type DeferredUnbundledMember as D, type ExtraMember as E, batchPointReadVerdict as F, type GatedBundleDefinition as G, claimsVerdict as H, contributionHealthVerdict as I, createClaimsVerdictThunk as J, endpointSetReadVerdict as K, missingRequiredExtras as L, recordedRevisionOriginsVerdict as M, requireExtras as N, type OptionalGraphBackendMember as O, resolveBundle as P, statementExecutionVerdict as Q, RECORDED_REVISION_ORIGINS as R, STATEMENT_EXECUTION as S, uniqueSidecarBatchVerdict as T, UNIQUE_SIDECAR_BATCH as U, WS5B_SEED_BUNDLES as W, type ExtrasOf as a, type BundleVerdictOf as b, type ExtraVerdict as c, CLAIMS as d, CONTRIBUTION_HEALTH as e, ENDPOINT_SET_READ as f, CAPABILITY_BUNDLES as g, type CapabilityBundleDefinition as h, type CapabilityBundleDisposition as i, type CapabilityBundleExtra as j, type CapabilityBundleOperation as k, type CapabilityBundleOperationSite as l, type CapabilityCrossCheck as m, type CapabilityExtraSpec as n, type ClaimsVerdictThunk as o, type ExtraVerdicts as p, type GatedBundleVerdict as q, type GraduatedBundleDefinition as r, type GraduatedBundleVerdict as s, type OperationNames as t, type OptionalKeys as u, type ReasonedUnbundledMember as v, type RequiredExtrasOf as w, type SpecOf as x, UNBUNDLED_OPTIONAL_MEMBERS as y, type UnbundledOptionalMember as z };