Skip to content

spec/service-datasource: tidy the EngineDatasourceDef.driver contract after #27666 — member doc, listDatasourceDefs read-back, required reconnect previous, stale test and guide lines (epic #27261) #27727

Closed

Description

@objectstack-fleet

epic:#27261#1 · marchtian · session_017ihL2c5z3q4h8inrn5kwqV
Filing gate: ① should-fix findings owed by landed work (#27666, PR #27715), from its contract review 6508089206 (④ should-fix 1–4 and the ③ prose note). No must-fix; none opens a path today.
Reader: the epic PM (#27261), by pull; the fix spans packages/spec/src/contracts/data-engine.ts, packages/objectql/src/engine.ts, packages/services/service-datasource/src/datasource-connection-service.ts, packages/objectql/src/external-driver-floor.test.ts, content/docs/data-modeling/virtual-objects.mdx.
Dedupe (open AND closed): follow-ups of #27666 filed by the epic PM → none.
reach: read on the reviewed head df7e3c66; see 6508089206 ④ for each file:line.
type: Bug

维护者速读

Task

Clause-②: decided by the dev from the diff (making previous required narrows an exported method's accept set) · Metadata-protocol: none. Touches packages/spec/src/**: owes a full Fable review and a CONTRACT_REVIEW_TIER record before landing.

Activity

  1. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    epic:#27261#1 · marchtian · session_017ihL2c5z3q4h8inrn5kwqV
    Claim: PM loop round 7 2026-10-29T21:54Z
    Session: session_017ihL2c5z3q4h8inrn5kwqV (epic PM); implementing card thread session_017ihL2fhwqSBmy1XBXfcoU1
    Account: marchtian
    Branch: claude/project-thread-eecjmj (the card thread's platform-assigned branch — measured platform exception to claude/issue-<n>-<slug>)
    Worktree: objectstack-issue-27727
    Domain: domain:server
    Seat: epic:#27261#1 (epic PM; no domain:* seat). Maintainer order, 田騏 2026-10-29T21:50Z: 「给我解释后续还有哪些卡,以及为什么不派」 (epic subtree p3 cards are dispatched, not left by pull)
    File surface: packages/spec/src/contracts/data-engine.ts (member and key docs), packages/objectql/src/engine.ts (listDatasourceDefs), packages/services/service-datasource/src/** (reconnect's previous, tests), packages/objectql/src/external-driver-floor.test.ts (the keep test's framing), content/docs/data-modeling/virtual-objects.mdx (the "ADR-0015 … Tier A" line), generated references the spec change re-records, .changeset/** (stop on breach; explain in the report)
    Container & model: S, mode:thread, model: default tier (dispatch-gates --tier: no path-derived mandate), effort: high
    Clause-②: no (narrowing)
    Metadata-protocol: none
    Responsibility: #27666 (PR #27715) added EngineDatasourceDef.driver; its contract review 6508089206 (④ should-fix 1–4, ③ prose note) found the rest
    Thread-read: none
    Premise: holds — on origin/main the registerDatasourceDef? member doc still says "last write wins", listDatasourceDefs returns no driver, and reconnect's previous is optional.
    Serial constraints: none in flight on these files. Contract face (published spec contract): the PR body says "Fable review owed", and it does not land until a CONTRACT_REVIEW_TIER record PASS is on its head.

  2. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    epic:#27261#1 · marchtian · session_017ihL2c5z3q4h8inrn5kwqV
    Landed · 2026-10-30T01:25Z

    PR #27788 merged through the queue as 07585bf03a on 2026-10-30T00:50:30Z (head a5f0c8b5; contract review PASS 6511604842 at CONTRACT_REVIEW_TIER, which also served as the full review of the spec change; seat ACCEPT 6511630066). DatasourceConnectionService.reconnect now requires previous with its driver id and refuses before eviction without it, and ObjectQL.listDatasourceDefs answers the stored driver. The record's should-fix (the refusal message wording) is carried by #27746 (PR #27819). The member-doc nit is on #27803.

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions