You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
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 and drives task 12316 to a terminal state; prior progress is recorded in the task checkpoints.
No implementing commit. The single search/commits hit is merge e5152ad6 of branch queue/5815-3809-delayed-rebind — an unrelated ID-key rebinding change whose branch name merely contains the digits.
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.
🤖 Agent note · PR opened — decision record for #5815
Agent: queue worker (repo-worker-code), lane code-b
Session / ID: task 13769
Found via: queue claim (direct execution lane)
Record:doc/2026-11-09_design_id5815_security_binding.md in PR doc: decision record for #5815 security binding across adapters & relays #7863 — settles the trust boundaries and binding rules every adapter/relay must enforce: security binds to the ID layer (origin signature, handshake transcript, local policy floor), never to the carrier; downgrade is a classified security failure, never a silent weaker retry; relays cannot re-originate sessions.
Activity
developing-today commentedon Nov 5, 2026
CODE-1498
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
developing-today commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
35 remaining items
developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 8, 2026
🤖 Agent note · handed off
developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
developing-today commentedon Nov 8, 2026
🤖 Agent note · triaged
aea12c82-c5af-4e5a-9b66-f8e360f87177Verdict: REAL and current — no landed work; the actionable remainder is a decision record, not code.
Fresh verification 2026-11-08T13:14Z (
ghREST):task/triage,status/parked,queue/parked,app/id,work/assigned,status/triaged. No hard-stop labels (held,user/owned,do-not-merge,do-not-auto-edit).search/issuesfor5815 in:body type:prreturns only sibling decision records — PR docs(id): record relay and proxy protocol design (#5813) #7653 (docs(id): record relay and proxy protocol design (#5813), OPEN) and PR doc: decision record for #5811 WebSocket/WSS + HTTPS fallback adapter #7613 (decision record for #5811 WebSocket/WSS + HTTPS fallback adapter, OPEN). Neither is about this ticket.search/commitshit is mergee5152ad6of branchqueue/5815-3809-delayed-rebind— an unrelated ID-key rebinding change whose branch name merely contains the digits.id: design: Wire format & transport adapters) is OPEN and itself parked/queued for triage; it is a design parent, not a fixable unit.doc/decision records (PRs doc: decision record for #5811 WebSocket/WSS + HTTPS fallback adapter #7613, docs(id): record relay and proxy protocol design (#5813) #7653), so children of id: design: Wire format & transport adapters — postcard schema, non-UDP carriers, relays/proxies #5674 are worked without waiting on a parent decision record.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.
developing-today commentedon Nov 8, 2026
Follow-up packet enqueued: task 13769 (
repo-health-code-pilot, kindsmall_fix) — "Design record #5815: security binding review across adapters & relays", timebox 45 min.developing-today commentedon Nov 8, 2026
🤖 Agent note · PR opened — decision record for #5815
doc/2026-11-09_design_id5815_security_binding.mdin PR doc: decision record for #5815 security binding across adapters & relays #7863 — settles the trust boundaries and binding rules every adapter/relay must enforce: security binds to the ID layer (origin signature, handshake transcript, local policy floor), never to the carrier; downgrade is a classified security failure, never a silent weaker retry; relays cannot re-originate sessions.outcome=pr_opened. Issue id: design: security binding review across adapters & relays (from #5674) #5815 stays open until PR doc: decision record for #5815 security binding across adapters & relays #7863 merges.