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. added
    bugSomething isn't working
    pm:queueReady for the PM dispatch loop
    pm:epicReserved by a dedicated epic PM, parent or sub-issue; other PMs never take it; never with pm:queue
    domain:serverDomain lane — seat card indexed by label:pm:seat
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Oct 29, 2026
  2. 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.

  3. 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

area:databugSomething isn't workingdomain:serverDomain lane — seat card indexed by label:pm:seatpm:epicReserved by a dedicated epic PM, parent or sub-issue; other PMs never take it; never with pm:queuepriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions