Skip to content

id: design: host providers: terminal & website (from #5686) #5902

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

Terminal (client and server modes) and website instantiations of the provider model: sandbox and lifecycle rules.

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 §1 (terminal) and §3 (web/browser) — tmux control mode vs Zellij WASI plugins vs kitty/WezTerm/Ghostty surfaces, OSC 133 structure layer; WebMCP, WebExtensions, Chromium device APIs, browser-automation MCP servers. 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
    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
  5. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done (triage)

    Triage findings for issue #5902 (task 10304)

    Verified current (2026-11-05, fresh gh reads): issue #5902 is OPEN, filed 2026-11-05T01:59:58Z in the WS-F gap pass, carrying only task/triage + queue/queued + app/id at claim time — no hard-stop labels (held, user/owned, do-not-merge, do-not-auto-edit), no competing PR or branch. The only issue referencing issue #5902 is issue #5931, a sibling research ticket from the same parent — not a duplicate.

    New evidence since filing: Drew commented on issue #5902 (2026-11-05T03:04:00Z) that the field survey filed as issue #5931 (capability-provider research widening, per Drew's 2026-11-04 ruling) covers the current option space relevant to this design in its §1 (terminal: tmux control mode vs Zellij WASI plugins vs kitty/WezTerm/Ghostty surfaces, OSC 133 structure layer) and §3 (web/browser: WebMCP). Issue #5931 is OPEN. The design pass on issue #5902 should consume that survey rather than re-deriving the option space.

    Routing: follow-on design ticket, ordered behind its parent and its survey. Issue #5902 is a decomposition child of issue #5686 — the parent's acceptance required it to be filed and linked, which is satisfied. Its body is explicit that the parent fixes the input this design must compose with (the single capability-provider model: declaration, discovery, negotiation, least-privilege grants) and must not re-decide it. Issue #5686 is still OPEN and itself only queued (task/triage, queue/queued, kind/design) — its design has not closed with a decision record yet. Terminal/website instantiations (sandbox and lifecycle rules) are defined directly against that provider model, so they cannot be settled independently first.

    Ordering recorded:

    1. Issue design(id): client-side capability providers — one provider model for ESP32/MQTT, terminal, Bevy, smartphone, and web #5686 design closes first (or records its provider-model decisions), and issue id: research: capability-provider field survey — current options & variants per provider class + cross-cutting frameworks (from #5686) #5931's survey lands as the option-space input.
    2. Then the design pass on issue id: design: host providers: terminal & website (from #5686) #5902, closing with the decision record its body requires (chosen shape, alternatives rejected and why, invariants implementation must hold; further splits filed and linked here if it splits).
    3. No implementation issue is filed now: the body itself states implementation timing is a separate decision, possibly months out.

    The issue stays open under programme epic issue #2056, labelled triaged + waiting-dependency to mirror this ordering. No code change in this triage.

  6. added
    status/triagedTriaged and routed (see agent note)
    and removed
    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)status/triagedTriaged and routed (see agent note)status/waiting-dependencyWaiting on a dependencytask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions