Skip to content

Spec 068: public consumable platform embedder packages #645

Description

@enricopiovesan

Summary

Create successor governing spec 068-public-platform-embedder-packages for consumable, versioned platform SDKs. Spec 057 defines the embedder API but #553 delivered only manifest validation, IDL, and a CLI conformance stub; it did not deliver an SDK that an app can embed.

Scope

Define the public package boundary, artifact layout, semantic-versioning policy, runtime and capability bundle loading, event subscription/error mapping, test-double contract, platform conformance, and release evidence required before a reference app may remove its production HTTP sidecar.

The spec governs the public SDK surfaces only. It does not define UI behavior or reimplement workflow/business logic in clients.

Requires

  • Approved specs 057 (embeddable runtime host), 058 (workflow pipelines), 052 (app state machine), and 053 (conditional transitions).

Definition of Done

  • Decision 18 records the accepted platform-package direction.
  • specs/068-public-platform-embedder-packages/spec.md names the stable public operations, supported payload/error/event shapes, lifecycle, artifact provenance, and compatibility guarantees.
  • The spec distinguishes a public consumable package from an IDL or CLI-only conformance fixture.
  • The spec defines a shared conformance corpus and platform-specific package acceptance criteria.
  • The spec declares supported initial platforms: Web/TypeScript, Swift, Kotlin/Android, .NET/WinUI, and Rust/GTK/CLI.
  • The spec states that platform SDKs may not contain business rules, workflow transitions, or output derivation.
  • The approved-spec registry maps the new spec to the relevant public SDK, runtime-WASM, conformance, and documentation paths.
  • Requirements are traced to Decision 18 and approved Spec 057.

Blocks

Validation

  • bash scripts/ci/spec_context_check.sh
  • BASE_SHA=origin/main bash scripts/ci/spec_alignment_check.sh <pr-body-file>

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestspecSpec and planning related work

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions