Skip to content

id: design: provider declaration model (from #5686) #5898

Open

Description

@dezren39

Summary

Follow-on design ticket from #5686 — its decomposition sketch names this as a separate design, and the parent's acceptance requires these tickets to be filed and linked. Filed in the 2026-11-04 gap pass (WS-F) so the design work exists and can be prioritised on its own merits; implementation timing is a separate decision, possibly months out.

What this design must settle

Manifest contents, signing, versioning, and dynamic vs static capabilities: how a provider declares what it offers.

Context from the parent

The parent design fixes the single capability-provider model — declaration, discovery, negotiation, least-privilege grants — instantiated by ESP32/MQTT, terminal, Bevy, smartphone, and web providers. The parent issue carries the surrounding decisions this ticket must not re-decide; where this ticket's answer would change a parent decision, record that explicitly rather than silently forking it.

Decision record expected

Close this design with a recorded decision (on this issue or in a doc/ record linked from it): the chosen shape, the alternatives rejected and why, and the invariants implementation must hold. If the design splits further, file the splits and link them here rather than growing this issue.

Relations

Parent: #5686. Programme: epic #2056. Filed by WS-F (2026-11-04 ID design gap & expansion pass).

Activity

  1. added
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    on Nov 5, 2026
  2. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor
  3. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    Field survey filed: #5931 (capability-provider research widening, per Drew's 2026-11-04 ruling) covers the current option space relevant to this issue in §6.7 + §6.2 — declaration surfaces in the wild: MCP tools/list, AppFunctions' OS registry, WebMCP registration, WIT interfaces, Matter clusters, set against the manifest model. It is an inventory, not a decision — the section ends with the open questions this design needs to answer.

  4. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 5, 2026
  5. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  6. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  7. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

    Triage — task 10300, issue #5898 at 2026-11-05

    Verified live (fresh gh reads this shift):

    Routing / ordering:

    1. Issue design(id): client-side capability providers — one provider model for ESP32/MQTT, terminal, Bevy, smartphone, and web #5686 parent decision first (single capability-provider model: declaration / discovery / negotiation / least-privilege grants).
    2. Then synthesise issue id: research: capability-provider field survey — current options & variants per provider class + cross-cutting frameworks (from #5686) #5931's survey into this ticket's options.
    3. Then this design settles: manifest contents, signing, versioning, and dynamic vs static capabilities — closing with a recorded decision (chosen shape, rejected alternatives + why, invariants for implementation), per its "Decision record expected" section. If it splits further, file/link splits rather than growing this issue.

    Not a code fix: no implementation is scoped or safe before that decision record; the issue body itself says implementation timing is a separate decision, possibly months out. No small_fix is enqueued — enqueuing implementation now would be premature. Issue #5898 stays OPEN as a design ticket under epic issue #2056.

    Outcome for task 10300: triaged.

  8. removed
    task/triageQueue packet kind: verify, reproduce, and route this item
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions