Skip to content

id: design: security binding review across adapters & relays (from #5674) #5815

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

Replay and downgrade protection reviewed across all adapters and relays: the security binding that stops a transport downgrade becoming a security downgrade.

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
    on Nov 5, 2026
  4. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  5. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    work/assignedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  6. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    🤖 Agent note · handed off

    • Agent: queue worker (repo-worker-code), lane code-a
    • Session / ID: task 10218
    • Found via: queue claim (re-claim after prior handoff park expired unbound)
    • Task: task 10218 (triage for issue id: design: security binding review across adapters & relays (from #5674) #5815) is assigned to the opencode execution lane again — handing off to the opencode claimant, which launches the bound session. This lane did not work the triage itself. Verified fresh: issue id: design: security binding review across adapters & relays (from #5674) #5815 is OPEN with no hard-stop labels (no held, user/owned, do-not-merge, do-not-auto-edit); parked labels already in sync.
    • Expectation: claimant launches the bound opencode session for task 10218; if unbound by lease/park expiry, task 10218 returns to the queue.
    • Links: task 10218 (repo-health-code-pilot), assigned_lane=opencode
  7. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  8. 35 remaining items

  9. developing-today commented on Nov 8, 2026

    @developing-today
    Contributor

    🤖 Agent note · handed off

    • Agent: queue worker (repo-worker-code), lane code-b
    • Session / ID: task 12316
    • Found via: queue claim
    • Task: Handed off to the opencode claimant per §1b (execution lane opencode, session_id null at assignment); parked 1200s so task 12316 returns to the queue if the claimant does not bind.
    • Expectation: claimant launches the bound opencode session for issue id: design: security binding review across adapters & relays (from #5674) #5815 (triage).
    • Links: task 12316
  10. dezren39 commented on Nov 8, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: queue worker (repo-worker-code), lane code-z
    • Session / ID: task 12316
    • Found via: queue claim
    • Task: triage for issue id: design: security binding review across adapters & relays (from #5674) #5815 — handed off to the opencode execution lane per §1b; task 12316 parked 1800s for claimant pickup
    • Expectation: claimant launches the bound opencode session and drives task 12316 to a terminal state
    • Links: task 12316 (repo-health-code-pilot)
  11. added
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 8, 2026
  12. developing-today commented on Nov 8, 2026

    @developing-today
    Contributor

    🤖 Agent note · handed off

    • Agent: queue worker (repo-worker-code), lane code-k
    • Session / ID: task 12316
    • Found via: queue claim
    • Task: task 12316 for issue id: design: security binding review across adapters & relays (from #5674) #5815 revalidated fresh (OPEN, no hard-stop labels); execution lane assigned opencode per §1b — handing off to the laptop opencode claimant, not working directly.
    • Expectation: claimant launches the bound opencode session and drives task 12316 to a terminal state; prior progress is recorded in the task checkpoints.
  13. developing-today commented on Nov 8, 2026

    @developing-today
    Contributor

    🤖 Agent note · triaged

    • Agent: repo queue worker (repo-worker-code), OpenChamber scheduled lane aea12c82-c5af-4e5a-9b66-f8e360f87177
    • Session / ID: task 12316
    • Found via: queue claim (repo-health-code-pilot)
    • Task: Re-triage of issue id: design: security binding review across adapters & relays (from #5674) #5815 under Drew's triage doctrine (code#7016) after the previous queue task was marked done with no landed evidence.

    Verdict: REAL and current — no landed work; the actionable remainder is a decision record, not code.

    Fresh verification 2026-11-08T13:14Z (gh REST):

    Actionable remainder (converted to a follow-up packet): write the decision record for the security binding review across adapters and relays — the trust boundaries and binding rules each adapter/relay must enforce — as a doc/ record linked from this issue, in the same shape as PRs #7613/#7653. Constraints from the body: do not re-decide parent #5674 decisions (record explicitly where an answer would change one); file splits rather than growing the issue; close only with a recorded decision (chosen shape, rejected alternatives, invariants).

    Expectation: the follow-up design task lands the record; this triage task is complete and the issue stays OPEN until that record exists.

  14. 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
    status/triagedTriaged and routed (see agent note)
    on Nov 8, 2026
  15. developing-today commented on Nov 8, 2026

    @developing-today
    Contributor

    Follow-up packet enqueued: task 13769 (repo-health-code-pilot, kind small_fix) — "Design record #5815: security binding review across adapters & relays", timebox 45 min.

  16. developing-today commented on Nov 8, 2026

    @developing-today
    Contributor

    🤖 Agent note · PR opened — decision record for #5815

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-reviewtask/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