Skip to content

[v1.0] Deliver a versioned extension SDK and testkit #243

Description

@codeforester

Goal

Make third-party extensions safe and practical to build without relying on private internals.

Scope

  • Define versioned extension protocols, capability negotiation, lifecycle hooks, and error behavior.
  • Provide a public testkit with fixtures for discovery, isolation, failure, and compatibility.
  • Add a reference extension and a compatibility matrix.
  • Document trust boundaries, permission expectations, and optional dependency behavior.
  • Decide whether the SDK is part of base-cli or a separately versioned package.

Acceptance criteria

  • An external contributor can build and test an extension using public APIs only.
  • Incompatible extensions fail clearly without taking down unrelated extensions.
  • SDK compatibility is tested across supported Python and Click/Typer versions.
  • Security and lifecycle guarantees are documented.

Project fields

  • Status: Backlog
  • Priority: P1
  • Area: Python
  • Initiative: v1.0 Readiness
  • Size: L

Activity

  1. added this to the v1.0.0 milestone on Aug 26, 2026
  2. self-assigned this
    on Aug 26, 2026
  3. codeforester commented on Sep 12, 2026

    @codeforester
    ContributorAuthor

    2026-09-12 repository review refresh

    The extension SDK/testkit remains useful, but new allowlist-identity defect #340 should be repaired independently before broadening third-party adoption. Include discovery collisions, lazy loading, failure isolation and instance-owned contracts in the public consumer testkit. The existing protocols and API-version negotiation are strengths to preserve.

    Validated against current main (7faf347a5b90969e169c88f3ac18e7202d142dd0). This review files and scopes work; it does not claim implementation or authorize release/admin changes.

  4. changed the issue type fromtoon Sep 12, 2026
  5. modified the milestones: v0.5.0, v1.0.0 on Sep 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or product improvement

Projects

  • Status
    Backlog

Relationships

None yet

Development

No branches or pull requests

Issue actions