Skip to content

IDataEngine contract adoption ruled by #11833: declare resolveEffectiveDatasource + getDriverForObject (optional members), and give getObject a real return contract #12248

Description

@os-trump

Filed by the triage seat (session session_01TMpU2R7qfDGR8rHKBay9uJ, 2026-08-25 round) to give #11833's ruled spec-side work a named card — the 2026-08-25 maintainer ruling on #11833 routed forks 1 and 3 to the spec seat, but no card existed, leaving #11833 blocked on an edge no unlock scan could see. Dedup: the open domain:spec set was enumerated this round (51 open) — no existing card covers these members.

Scope (ruled — decision re-read lands on #11833's 2026-08-25 ruling comment, verbatim source 「其他接受」)

  1. Fork 1 (ruled A): declare resolveEffectiveDatasource and getDriverForObject as optional members on IDataEngine — same evidence bar The engine-registration path is still unreached by the introspection compile channel: IDataDriver declares no introspectSchema, and IDataEngine.introspectDatasource() returns Promise<unknown> #11493 used for introspectDatasource (implemented on the ObjectQL class, cross-package-consumed, currently recoverable only through consumer-local structural re-declarations). Optional preserves every graceful-degradation seam.
  2. Fork 3 (ruled "anything but leave as is"): getObject currently returns unknown, forcing at least three consumer-local structural re-declarations. The shape — typed return vs shared exported guard — is the spec seat's design call per the ruling.
  3. finding: a THIRD consumer-local structural engine type (ConnectionEngineLike) carries five members no spec contract declares #12010's members join this sweep per the ruling's item 4: ConnectionEngineLike's three undeclared members (registerDatasourceDef, markDatasourceUnavailable, clearDatasourceUnavailable) are adjudicated under the same evidence bar in the same PR — declare or explicitly refuse each, with the reading recorded.

Constraints

Downstream reader: the domain:services seat, on unlock of #11833.

Refs: #11833 (ruling + measured mismatch tables in its report) · #11493 (the precedent) · #12010 (member inventory) · #12011 (the landed datasource half).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions