Skip to content

spec(ipc): F04 compat IPC spec — wv-link v2 send/event kinds and credit window, el control-channel carriage, host-opaque endpoint codec, arch 02 §2/§5 amendment #540

Description

@0monish

Generated by an AI agent (Claude Code) on behalf of @0monish during Wayfinder charting of the Electron compatibility program; rewritten 2026-10-07 by the doctrine-audit repair pass (change log at the end). Planning only — no implementation is authorized by this issue.

Parent

Epic #463 · Map #391 · Unit F04 · Kind: spec · Tier: Tier 1 · Maturity target: L1 · Size: M · Milestone: first-proof

What to build

Write the approved spec that F04-T2, F04-T10, F04-T11, F04-T12 and F04-T3 implement: (a) wv-link v2 one-way send kind and host→renderer event kind, credit accounting and its typed overflow error, with the payload-bound slot filled from F04-T12's measurement; (b) carriage — one fixed generated kipc control channel per direction on the primary app link, payload = Electron channel string + kind + opaque codec bytes, host matches the channel string via the F04-T7 grant and forwards bytes it never decodes; the two control-channel ids are entries of the X05-T2 channel table under family-neutral names (X05-T2 forbids Electron names in the table; el: is the grant namespace, not a table name); amend arch 02 §2 to state this exception explicitly; (c) endpoint codec per the closed F03-D4 resolution, amending arch 02 §5 — this PR is the single owner of that amendment (F03-T7's duplicate claim is superseded by F03; F04-T11 implements the codec); (d) the generator owner for el control structs: KEL-98 is echo-only, so either a recorded KEL-98 scope amendment or the X05-T2 owner; (e) state that handler-error text disclosure is out of the first-proof scope and owned by F04-T14.

Acceptance criteria

Negative controls (each names the one mutation that must fail)

  • A draft that carries channel strings per call while leaving the arch 02 §2 sentence unamended is rejected at the wire-protocol review gate

External predecessors (outside this tracker)

  • Linear reference link to this ticket's GitHub issue on KEL-80 (Backlog, unassigned; Linear, fetched 2026-10-07), titled with the GitHub number and 'tracker of record: GitHub' (orchestrator is the single writer; first check: that link exists)

Ownership and gates

The authoritative agent contract is the latest Agent Brief comment on this issue (triage skill); this body is the planning record.

Out of scope

Grant grammar and navigation-generation contract (F04-T7); bulk-lane refs and export-size payloads (not yet specified); sendSync lane (F04-A5).

Notes

Startable once the KEL-80 reference link exists. Cite the #517 owner record as the documented exception to the Linear-only claim protocol.

Change log (doctrine-audit repair, 2026-10-07)

  • New ticket: the floor v2, carriage and codec features had no spec ticket though features require an approved spec (rule 5; F03-D4 resolution 'amend arch 02 section 5 in the F04 ipc spec PR')
  • Records the arch 02 §2 'string names never travel per-call' amendment (refuter semantics A1 correction 2)
  • Records the KEL-98 echo-only scope constraint on generated el structs (refuter invariants extra finding KEL-98)
  • Owner recorded as missing with the resolution path (critic ambiguity KEL-80; X06-D3 invariants item 2; X06-D6)
  • Ready_state needs-owner → ready-for-agent; owner restated as GitHub tracker of record with a KEL-80 reference under the Linear owner for repo-writing Electron-compat slices (owner decision: align to nearest Linear issue, else GitHub is the tracker of record) #517 owner decision; notes no longer cite X06-D6 (cross-checker finding X06-D7 tracker-of-record contradiction)
  • Item (c) now records this PR as the single arch 02 §5 'opaque to the host' amendment owner (cross-checker finding 'one atom, two owners' F03-T7/F04-T11)
  • Item (b) registers the control-channel ids in the X05-T2 table under family-neutral names, because X05-T2 forbids Electron names in the table (cross-checker finding 'X05 gates unverifiable')

Activity

  1. added theissue type on Oct 6, 2026
  2. added
    enhancementNew feature or request
    compat:tier-1Electron compat Tier 1 (arch 04 §4)
    ready-for-agentFully specified; an AFK agent can take it
    milestone:first-proofNeeded for the first migration proof (drawio-desktop on macOS, explicit legacy profile)
    on Oct 6, 2026
  3. 0monish commented on Oct 6, 2026

    @0monish
    MemberAuthor

    This was generated by AI during triage.

    Agent Brief

    Category: enhancement
    Summary: spec(ipc): F04 compat IPC spec — wv-link v2 send/event kinds and credit window, el control-channel carriage, host-opaque endpoint codec, arch 02 §2/§5 amendment

    Current behavior:
    No spec defines renderer floor v2, the el carriage or the value codec; arch 02 §5 names a postcard SCV codec with no implementation and arch 02 §2 says string names never travel per call.

    Desired behavior:
    Write the approved spec that F04-T2, F04-T10, F04-T11, F04-T12 and F04-T3 implement: (a) wv-link v2 one-way send kind and host→renderer event kind, credit accounting and its typed overflow error, with the payload-bound slot filled from F04-T12's measurement; (b) carriage — one fixed generated kipc control channel per direction on the primary app link, payload = Electron channel string + kind + opaque codec bytes, host matches the channel string via the F04-T7 grant and forwards bytes it never decodes; the two control-channel ids are entries of the X05-T2 channel table under family-neutral names (X05-T2 forbids Electron names in the table; el: is the grant namespace, not a table name); amend arch 02 §2 to state this exception explicitly; (c) endpoint codec per the closed F03-D4 resolution, amending arch 02 §5 — this PR is the single owner of that amendment (F03-T7's duplicate claim is superseded by F03; F04-T11 implements the codec); (d) the generator owner for el control structs: KEL-98 is echo-only, so either a recorded KEL-98 scope amendment or the X05-T2 owner; (e) state that handler-error text disclosure is out of the first-proof scope and owned by F04-T14.

    Key interfaces:

    • none named beyond the acceptance criteria

    Acceptance criteria:

    • The spec is approved and merged with arch 02 §2 and §5 amended in the same PR, so no code/spec mismatch remains on those sentences
    • The spec names its tracker of record (its GitHub issue under the Linear owner for repo-writing Electron-compat slices (owner decision: align to nearest Linear issue, else GitHub is the tracker of record) #517 owner decision) and the Linear issue carrying the reference link
    • The spec states that the host never decodes codec bytes and that keld-core and keld-ipc carry no Electron-specific parsing
    • just llms-check passes on the final diff
    • Negative control: A draft that carries channel strings per call while leaving the arch 02 §2 sentence unamended is rejected at the wire-protocol review gate

    Out of scope:

    • Grant grammar and navigation-generation contract (F04-T7); bulk-lane refs and export-size payloads (not yet specified); sendSync lane (F04-A5).

    Tracker of record and claim location: see "Ownership and gates" in the issue body.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    compat:tier-1Electron compat Tier 1 (arch 04 §4)electron-compatElectron compatibility program areaenhancementNew feature or requestmilestone:first-proofNeeded for the first migration proof (drawio-desktop on macOS, explicit legacy profile)ready-for-agentFully specified; an AFK agent can take it

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions