Skip to content

Publish store connector conformance specification - #31

Merged
djgrant merged 3 commits into
mainfrom
agent/store-connector-conformance
Jul 22, 2026
Merged

Publish store connector conformance specification#31
djgrant merged 3 commits into
mainfrom
agent/store-connector-conformance

Conversation

@djgrant

@djgrantdjgrant commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

What changed

  • publish @yieldstar/store-conformance with a factory-only Vitest registration API
  • define base, shared-client, and durable-restart qualification capabilities
  • specify CAS, exactly-once receipt, updater replay, waiter coordination, and at-least-once wake delivery requirements
  • run the extracted artifact unchanged against memory, bun:sqlite, and node:sqlite in the existing CI matrix

Why

The conformance suite previously lived inside the integration-test workspace, mixed portable contract assertions with implementation-specific assumptions, and did not define the crash boundary for wake delivery. Third-party connector authors could not consume or qualify against it.

The specification makes wake intent atomic with mutation or stale registration, requires retry and durable recovery for persistent backends, and explicitly permits duplicate delivery after a crash. A transactional outbox remains a recommended implementation rather than a protocol requirement.

Impact

Connector authors can install one published package and register the suite with a backend factory. Optional createPeer and restart factory methods activate capability-specific race and recovery checks. Async remote drivers such as Turso and batch-only backends such as D1 remain future extensions.

Validation

  • bun run bundle
  • bun run test:bun — 113 passed, 1 skipped
  • pnpm run test:node — 113 passed, 1 skipped
  • bun run test:store-conformance-package — packed external install, 20 passed
  • package dry-run verified README, manifest, JavaScript, and declaration contents

@djgrant
djgrant marked this pull request as ready for review July 22, 2026 06:24
@djgrant
djgrant merged commit 0ddf465 into mainJul 22, 2026
0 of 2 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@djgrant