| 0001 | URL-anchored DEX context /portal/<dex>/... anchors the active DEX; aggregated view at /portal/all | Topbar · Routing | Foundations | Active |
| 0002 | Permission-scoped routes, no mode segment No admin/participant mode toggle; routes gated by per-DEX permission | Routing · View-as | Foundations | Active |
| 0003 | Inbox with claim semantics Mine / My team's split · claim action · completion echo | Inbox | UX | Active |
| 0004 | Agreement creation entry — dropdown of two affordances "+ New Agreement" expands to Direct vs Service-Provider | Topbar · Agreements list | UX | Active |
| 0005 | Neutral chrome at /portal/all Aggregated view uses platform chrome (no DEX brand at chrome level) | Topbar · Sidebar | Foundations | Active |
| 0006 | Sidebar — platform-defined with user pin/hide Items defined by platform; user can pin or hide; "Messages" added per ADR 0020 | Sidebar | Foundations | Active |
| 0007 | Agreement lifecycle state machine Pending → Active → Ended (3 states) · reason codes on Ended, not primary states | Agreement detail · Timeline | Agreement | Active |
| 0008 | Unified Agreement record (Subscription/DER/SPR collapse) One consent_agreement table with agreement_type discriminator | Backend · All Agreement surfaces | Agreement | Active |
| 0009 | Extend by action with business-continuity notification No auto-renew; explicit extension; reminder cadence per ADR 0010 | Agreement detail · Notifications | Agreement | Active |
| 0010 | Lifecycle-reminder pattern (not framework) Deadline-driven events only · 5 rules (cadence, channels, broadcast, one-click, grace). Messages explicitly out (see ADR 0023). | Notifications · Reminders | UX | Active |
| 0011 | Agreement templates — org-scoped, surfaced after 3 similar Auto-surfaced after ≥3 similar Agreements; org-owned, DEX-scoped, versioned | + New Agreement | Agreement | Active |
| 0012 | Cross-DEX action warning Three trigger forms: inline panel · bulk modal · inline chip. Specific copy naming what differs. | Wizard · Bulk actions · /portal/all | UX | Active |
| 0013 | Data element picker — browse with groups, snapshot on Agreement Groups are mutable; Agreements capture an immutable snapshot at creation | Wizard · Composer · Agreement detail | Agreement | Active |
| 0014 | Pending Agreement reminder cadence Specific implementation of the lifecycle-reminder pattern for pending invites | Inbox · Notifications | UX | Active |
| 0015 | Empty state is the onboarding (no tour) No multi-step product tour; empty state guides the first Agreement | Empty state | UX | Active |
| 0016 | Migration banner — what changed for legacy users Top banner on first login post-migration; one-time, dismissible, audit-logged | All screens (1st login) | UX | Active |
| 0017 | Audit log surfacing on Agreement detail Activity section · most recent first · expandable rows | Agreement detail · Message detail | Agreement | Active |
| 0018 | Wizard chrome — top stepper + bottom prev/next Top wizard-bar with Cancel link · bottom foot with Back + Continue | Agreement wizard · Composer | UX | Active |
| 0019 | Production-hardened Agreement detail page 9-state machine · ARIA + focus management · ≥1200px right rail · mobile reflow | Agreement detail | Agreement | Active |
| 0020 | Unified Messages surface /portal/<dex>/messages replaces shared-data + received-data split · feed + stats strip + live pulse · "View delivery trace" replaces "View as counterparty" | Messages list · Message detail | Messages | Active |
| 0021 | Message lifecycle — two-layer model 4 flow-agnostic statuses · 3 flow-specific timelines (PUSH / PULL / STORE) · owner badge on Failed · Close one-way flag · Retry with idempotency contract | Messages list · Message detail | Messages | Active |
| 0022 | Reconciliation model (deferred, defined) Per-Agreement reconciliation · 3 buckets (Match / Drift / Missing) · v1 affordance hidden; Phase 8 build | Agreement detail (Phase 8) | Messages | Deferred |
| 0023 | Message notification cadence Inbox-only + twice-daily digest (~8am / ~1pm) + Watch toggle on Agreement · scopes lifecycle-reminder pattern out | Inbox · Settings · Agreement detail | Messages | Active |
| 0024 | Agreement-anchored Message composer One Composer replaces EForm + ETR · access = data-owner role + Acting-as for SPs · complexity-driven shape · drafts with decay-with-pin · idempotency contract end-to-end | Composer · Agreement detail · Drafts | Composer | Active |
| 0025 | Data element compose_complexity attributesimple → single-page composer · high-stakes → 3-step wizard · DEX-admin-owned · legacy migration mapping | Data elements registry · Composer · Agreement detail | Composer | Active |
| 0026 | Agreement snapshot immutability; schema upgrades require revoke-and-recreate v1 has no in-place upgrade · cross-pitstop schema negotiation deferred to Phase 8 (DEX-104 / DSV Phase 3) | Composer · Agreement detail (Phase 8) | Composer | Active |
| 0027 | Agreement pack — UI grouping for multi-counterparty pack scenarios 1:1 cardinality rule (one Agreement, one counterparty) stays · pack is a UI-layer grouping of N Agreements created together for a multi-counterparty Data element pack distribution · setup wizard split fork · Pack detail page · Composer Send-pack mode | Wizard · Agreements list · Pack detail · Composer · Drafts | Agreement | Active |