Skip to content

id: Phase 13 F13.1 versioned shell contract (client-server frame spec + conformance check) #783

Closed

Description

@dezren39

What and why

Write the ClientFrame/ServerFrame protocol (pkgs/id/src/world_session.rs:107, :264) down as a versioned "shell contract": the screen document, typed input (key/paste/focus/resize), session lifecycle, capability negotiation, and the journaled-vs-ephemeral boundary. The highest-return Phase 13 task — it turns a client-side change into data (a conformance check) instead of core-code edits.

Source

Current status

Not started. The protocol lives only in the Rust enums; no spec document or conformance check exists. The terminal shell (pkgs/id/src/world_ssh.rs) and web shell (pkgs/id/web/src/world.ts over pkgs/id/src/web/world_ws.rs) implement it by hand.

Acceptance criteria

  • A versioned shell-contract spec is committed, naming F12.7 as the ABI layer beneath it and F12.14/F12.12 as stepping stones
  • It records the journaled-vs-ephemeral boundary (viewport/focus/typing never journaled; committed Input/System events are)
  • A conformance check exists that the terminal and web shells both pass unchanged
  • The F11.11 seed-leak test is re-asserted against the contract

Size

L

Prerequisites

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions