[GH-ISSUE #45] Add a versioned provider SDK, capability registry, and integration test kit #34

Closed
opened 2026-10-15 18:20:16 +00:00 by bsakaguchi · 3 comments
Owner

Originally created by @morluto on GitHub (Jul 12, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/45

Goal

Let first-party and community tools integrate with REA through stable semantic capabilities without coupling the core to each provider.

Scope

  • versioned provider manifest and identity
  • capability declarations with input/output schema versions
  • host, target, license, installation, and availability constraints
  • side-effect and approval metadata
  • provider lifecycle, cancellation, progress, limits, and diagnostics
  • fixture-driven conformance test kit
  • provider discovery and precedence
  • result normalization with access to raw evidence
  • compatibility and deprecation policy
  • signed or checksummed distribution metadata where appropriate

Requirements

  • Providers cannot register undeclared operations.
  • Capability negotiation is deterministic and explainable.
  • A provider failure cannot silently fall through to weaker evidence without recording the decision.
  • Commercial or user-supplied tools remain optional and are never redistributed improperly.
  • Skills target capability versions and declare acceptable fallbacks.

Acceptance criteria

  • An out-of-tree sample provider can be installed and exercised without editing REA core.
  • Conformance tests validate contracts, cancellation, limits, errors, provenance, and side-effect labels.
  • The CLI explains which provider was selected and why.
  • Incompatible providers fail during discovery with actionable diagnostics.

Roadmap expansion

The conformance kit must cover static, dynamic, browser, and replay providers.

Capability manifests include typed operation/schema versions, boundedness, exhaustiveness, authority, side effects, host support, and limitations. Include a non-Hopper fake provider proving that evidence identity, error tags, routing, and schemas never relabel results. Additional decompilers remain blocked until this kit and #25 are green.

Originally created by @morluto on GitHub (Jul 12, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/45 ## Goal Let first-party and community tools integrate with REA through stable semantic capabilities without coupling the core to each provider. ## Scope - versioned provider manifest and identity - capability declarations with input/output schema versions - host, target, license, installation, and availability constraints - side-effect and approval metadata - provider lifecycle, cancellation, progress, limits, and diagnostics - fixture-driven conformance test kit - provider discovery and precedence - result normalization with access to raw evidence - compatibility and deprecation policy - signed or checksummed distribution metadata where appropriate ## Requirements - Providers cannot register undeclared operations. - Capability negotiation is deterministic and explainable. - A provider failure cannot silently fall through to weaker evidence without recording the decision. - Commercial or user-supplied tools remain optional and are never redistributed improperly. - Skills target capability versions and declare acceptable fallbacks. ## Acceptance criteria - An out-of-tree sample provider can be installed and exercised without editing REA core. - Conformance tests validate contracts, cancellation, limits, errors, provenance, and side-effect labels. - The CLI explains which provider was selected and why. - Incompatible providers fail during discovery with actionable diagnostics. ## Roadmap expansion The conformance kit must cover static, dynamic, browser, and replay providers. - [x] #52 - [x] #49 Capability manifests include typed operation/schema versions, boundedness, exhaustiveness, authority, side effects, host support, and limitations. Include a non-Hopper fake provider proving that evidence identity, error tags, routing, and schemas never relabel results. Additional decompilers remain blocked until this kit and #25 are green.
Author
Owner

@morluto commented on GitHub (Jul 17, 2026):

The in-tree typed provider interface, registry, descriptors, deterministic selection, and integration tests are delivered. Remaining scope is specifically an out-of-tree versioned SDK: manifest, compatibility/deprecation/distribution contract, sample external provider, and conformance kit.

<!-- gh-comment-id:5001702874 --> @morluto commented on GitHub (Jul 17, 2026): The in-tree typed provider interface, registry, descriptors, deterministic selection, and integration tests are delivered. Remaining scope is specifically an out-of-tree versioned SDK: manifest, compatibility/deprecation/distribution contract, sample external provider, and conformance kit.
Author
Owner

@morluto commented on GitHub (Jul 20, 2026):

Split into focused child issues:

These replace the broad remaining scope in this issue. Closing this parent can happen once all children are closed.

<!-- gh-comment-id:5023445293 --> @morluto commented on GitHub (Jul 20, 2026): Split into focused child issues: - [ ] #371 - [ ] #372 These replace the broad remaining scope in this issue. Closing this parent can happen once all children are closed.
Author
Owner

@morluto commented on GitHub (Jul 20, 2026):

Closing as out of scope / premature for the current local CLI/MCP reverse-engineering focus: no supporting code exists, and these areas should be revisited only after in-tree providers and the public boundary are stable.

<!-- gh-comment-id:5023569308 --> @morluto commented on GitHub (Jul 20, 2026): Closing as out of scope / premature for the current local CLI/MCP reverse-engineering focus: no supporting code exists, and these areas should be revisited only after in-tree providers and the public boundary are stable.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#34
No description provided.