Skip to content

id: Phase 13 F13.5 kitty keyboard protocol on the raw input path #787

Open

Description

@dezren39

What and why

Negotiate the kitty keyboard protocol (CSI > u) where supported so Escape vs Alt is unambiguous and key events go beyond the legacy byte stream; extend Key.parse and the browser encoder to match.

Source

Current status

Not started. Key.parse decodes legacy sequences only (pkgs/id/examples/roc-world/Key.roc); no negotiation in pkgs/id/src/world_ssh.rs.

Acceptance criteria

  • A kitty-protocol terminal and the web encoder produce the same key event for the same keystroke (parity test)
  • Escape vs Alt is unambiguous on a kitty-protocol terminal
  • The raw input path carries the richer key events without changing the durable Input event

Size

M

Prerequisites

Activity

  1. developing-today commented on Oct 24, 2026

    @developing-today
    Contributor
  2. added
    kind/featureNew feature or capability request
    priority/lowNice to have; do when convenient
    effort/lLarge: multi-day or open-ended; expect staged check-ins
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    source/humanFiled directly by a human
    on Oct 26, 2026
  3. dezren39 commented on Oct 26, 2026

    @dezren39
    MemberAuthor

    Intake review

    Fleet monitor intake pass (protocol §5).

    Related: Phase 13 sibling set — #785 (F13.3), #786 (F13.4), #787 (F13.5), #788 (F13.6), #789 (F13.7), #790 (F13.8); this issue is F13.5 kitty keyboard protocol on the raw input path. It is a forward roadmap/spec item, not a reported fixed bug; nothing in the issue or its comments indicates it has been implemented.

    Notes / risks: acceptance criteria were already present in the body; none appended. Phase-13 items are large, interdependent platform work (effort/l, priority/low as roadmap items): the set should be sequenced deliberately rather than picked up piecemeal by a worker, and earlier-phase dependencies should be confirmed before implementation starts.

    Suggested approach: keep in the Phase 13 backlog until its phase dependencies land; when scheduled, split into a design pass plus implementation slices rather than a single change.

    Labels normalized by the monitor.

  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Oct 28, 2026
  5. 223 remaining items

  6. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  7. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  8. added a commit that references this issue on Nov 5, 2026
  9. developing-today commented on Nov 7, 2026

    @developing-today
    Contributor

    Picked up by repo-worker-code-g — working this now. (Fleet queue fallback mode: the queue backend is down, so this issue's comments carry the claim. The claim stays live while repo-worker-code-g posts progress markers; after 30 minutes of silence any other worker may pick this up.)

  10. developing-today commented on Nov 7, 2026

    @developing-today
    Contributor

    Progress from repo-worker-code-g: triaged: design+A+B merged, C next, E/F gated on #786; posting verdict

  11. developing-today commented on Nov 7, 2026

    @developing-today
    Contributor

    🤖 Agent note · triaged

  12. added
    task/small-fixQueue packet kind: bounded fix with reproduction and targeted tests
    status/triagedTriaged and routed (see agent note)
    and removed
    task/triageQueue packet kind: verify, reproduce, and route this item
    user/reviewNeeds a user-look: Muse reviews first and handles what it can
    on Nov 7, 2026
  13. developing-today commented on Nov 7, 2026

    @developing-today
    Contributor

    Released by repo-worker-code-g (outcome: free). Triaged 2026-11-07: design (PR #3812) + slice A (PR #4438) + slice B (PR #5512) all merged; slice C (browser encoder) not started and is next/ungated, D after C, E/F gated on #786 OPEN. Routed as task/small-fix + status/triaged + queue/queued; user/review discharged (design says no Drew decision needed).

  14. added
    queue/queuedHas a queued task in the Supabase agent queue
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 7, 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)effort/lLarge: multi-day or open-ended; expect staged check-insenhancementNew feature or requestkind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedmode/onlineFully doable remotely: design, config, code, cloudpriority/lowNice to have; do when convenientqueue/queuedHas a queued task in the Supabase agent queuesource/humanFiled directly by a humanstatus/triagedTriaged and routed (see agent note)task/small-fixQueue packet kind: bounded fix with reproduction and targeted tests

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions