# Phase 14: /pax8 UI Surface - Discussion Log

> **Audit trail only.** Do not use as input to planning, research, or execution agents.
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.

**Date:** 2026-07-11
**Phase:** 14-pax8-ui-surface
**Areas discussed:** Company list & cost breakdown layout, Review/resolution section & flow, Access & permissions split, No-candidate / edge-case handling

---

All four gray areas were presented via a single multiSelect question. The user responded "Use your best judgement" rather than selecting specific areas or answering individually — deferring all four decisions to Claude, grounded in existing codebase precedent.

## Company List & Cost Breakdown Layout

| Option | Description | Selected |
|--------|-------------|----------|
| DataTable (list) + DetailModal (cost drill-down) | Reuses `components/admin/DataTable.tsx` + `components/admin/DetailModal.tsx`, matches every other tabular list in Pulse | ✓ (Claude's judgment) |
| Custom card grid | Would be a new visual pattern, not currently used elsewhere | |
| Inline cost breakdown in table rows | Keeps everything in one view but risks cluttering the row | |

**Notes:** Cost breakdown grouped by subscription/product (D-03), not a single total — matches schema granularity. Flagged the `pax8_orders.pax8_company_id` always-NULL quirk from Phase 12 research; cost data must join through `pax8_order_items` instead.

## Review/Resolution Section & Flow

| Option | Description | Selected |
|--------|-------------|----------|
| Embedded tab/section within `/pax8` | Matches roadmap's "directly from that page" wording | ✓ (Claude's judgment) |
| Separate standalone page (device-link-conflicts precedent) | Existing precedent's actual shape, but roadmap explicitly wants it on the same page | |

**Notes:** Resolution UI offers both pick-from-top-3-candidates (already computed by Phase 12) and manual search fallback (required anyway for the zero-candidate case).

## Access & Permissions Split

| Option | Description | Selected |
|--------|-------------|----------|
| View = any authenticated user, Resolve = admin-only | Matches roadmap's explicit "manager views / admin resolves" framing | ✓ (Claude's judgment) |
| Entire page admin-gated | Matches the closest existing precedent (device-link-conflicts) exactly, but contradicts roadmap wording | |

**Notes:** Explicitly flagged Phase 13's CR-02 code-review finding (missing permission check on `/api/pax8/sync`) as a gap this phase's new routes must not repeat.

## No-Candidate / Edge-Case Handling

| Option | Description | Selected |
|--------|-------------|----------|
| Same review UI with an empty state | No special-casing needed beyond copy — manual search fallback already covers it | ✓ (Claude's judgment) |
| Separate flow/page for zero-candidate companies | Unnecessary complexity for a copy-level difference | |

---

## Claude's Discretion

- Exact tab/section labels, table column set, DetailModal field layout
- Whether a count badge appears on the "Needs Review" tab
- Sort/filter options on the main company list

## Deferred Ideas

None — discussion stayed within Phase 14's scope.
