Skip to content

id: design: adapter conformance harness & interop matrix CI (from #5674) #5814

Open

Description

@dezren39

Summary

Follow-on design ticket from #5674 — 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

The conformance test harness every adapter must pass, and the interop matrix run in CI — adapters are certified, not hoped.

Context from the parent

The parent design fixes the postcard wire-format family and the transport-adapter model that carries ID over non-UDP transports and relays. 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: #5674. 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. 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
  4. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  5. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

    Triage findings (task 10217, verified 2026-11-05)

  6. dezren39 commented on Nov 8, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  7. 7 remaining items

  8. added and removed
    queue/claimedQueue worker lifecycle state
    on Nov 8, 2026
  9. developing-today commented on Nov 8, 2026

    @developing-today
    Contributor

    🤖 Agent note · handed off

    • Agent: queue worker (repo-worker-code), lane code-p
    • Session / ID: task 12315
    • Found via: queue claim
    • Task: triage issue id: design: adapter conformance harness & interop matrix CI (from #5674) #5814 — handed off to the opencode claimant per execution-lane assignment (§1b); this lane does not work it directly. (This note is the rate-limit repair: the original handoff note failed with GitHub's secondary rate limit "submitted too quickly"; the queue checkpoints, parked labels, and 1200s park all landed at handoff time. Reposted under the developing.today GitHub App token per the runbook rate-limit fallback.)
    • Expectation: claimant launches the bound opencode session; task parked 1200s so it returns to the queue if the claimant does not bind.
    • Links: issue id: design: adapter conformance harness & interop matrix CI (from #5674) #5814
  10. dezren39 commented on Nov 8, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · triaged (re-triage under the 2026-11-07 triage doctrine, code#7016)

    • Agent: queue worker (repo-worker-code), lane c8b9355e-319a-4640-8096-7ad19480d151 (openchamber scheduled lane)
    • Session / ID: task 12315
    • Found via: queue claim
    • Verdict: real and current — not invalid, so it returns to the queue for real work with a fix packet.
    • Task: re-triage of issue id: design: adapter conformance harness & interop matrix CI (from #5674) #5814 after the done-task-only audit found queue task 10217 done with no landed evidence.

    Verification (fresh, 2026-11-08)

    What this issue actually owes

    A recorded design decision for the adapter conformance harness (the test suite every transport adapter must pass) and the interop matrix run in CI ("adapters are certified, not hoped"). It is a decision record, not an implementation: doc/ record linked from this issue, chosen shape, rejected alternatives with reasons, invariants.

    Ordering and dependencies (verified fresh)

    Repo state relevant to the design (checked)

    • No conformance harness, interop matrix, or equivalent exists for ID transports: no *conformance* / *interop* files under pkgs/id/, and no interop workflow in .github/workflows/.
    • pkgs/id does have conformance-adjacent precedent to reuse rather than invent: pkgs/id/src/shell_contract.rs + shell_contract/tests.rs and pkgs/id/src/world_session/contract_tests.rs are contract-suite patterns; postcard is already a dependency; pkgs/id/tests/ holds the integration-test conventions.

    Routing

    Real and current → converting the remaining scope to a fix packet (repo-health:v1:fix:developing-today/code:issue:5814) returning it to the queue for the decision record. No blocker on Drew; nothing here needs escalation. Task 12315 completes as triaged.

  11. added
    queue/queuedHas a queued task in the Supabase agent queue
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    work/assignedQueue worker lifecycle state
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 8, 2026
  12. dezren39 commented on Nov 8, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — task 13680 (lane code-l) — pr_opened

    Partial decision record for #5814 is up as PR #7853: doc/2026-11-08T23-22-53Z_design_id_adapter-conformance/, indexed in doc/README.md.

    Decided now: one shared contract harness in pkgs/id (adapters enter through assertion-free bindings); certification criteria C1–C6 pinned to the #5975 load-bearing elements; interop matrix axes adapter × carrier class × platform with cross-pairing and direction as in-cell dimensions; CI gate = pkgs/id flake check in the id workflow (PR) plus the nightly full matrix; fixture/oracle model with per-step declared outcomes so a pass is machine-decidable. Rejected alternatives are recorded with reasons.

    Blocked remainder (record §7): per-sibling fixture content and matrix rows fill in as #5808/#5809/#5810/#5811/#5812/#5813 land — all verified OPEN 2026-11-08. Per the record, #5814 stays open for exactly that remainder; PR #7853 carries no closing keyword. No #5674 or #5975 decision is changed.

    Verification: every relative link in the record resolves (checked programmatically), the README index target exists, git diff --check clean.

  13. removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 8, 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:in-review

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions