← Cycles
Bob-Wire · c16

Agent Control Plane

activecreated 2026-06-04· last activity 2026-08-15

Why

Qpoint is shifting toward AI-agent governance. Cycle c15 ("Agent Dashboard") re-evaluated the old app.qpoint.io traffic-observability product through an agent-governance lens and landed on a persona-partitioned IA (5 seats) that we like. But grounding the work on a traffic product leaked the old egress mental model — "an agent is a source of network egress" — through the analysis, the persona IA, and the wireframes (see ../c15.agent-dashboard/agent-native-audit.md).

Meanwhile http://localhost:7878/ was replaced with a mature, fully agent-native "qcontrol control plane" whose unit of analysis is the agent as an autonomous actor — capabilities, tools, actions, tasks, outcomes, cost, identity, posture — not egress. It is cleaner and more advanced than any c15 wireframe.

c16 re-executes the c15 initial prompt from scratch, anchored entirely on the qcontrol app, keeps the persona approach, and pivots completely away from egress monitoring. c15 is left intact as history.

Objective

Re-run the three-phase prompt (initial-prompt.md) on the qcontrol control plane:

  1. Analysis — per-view evaluation of qcontrol's 12 views (purpose + per-stakeholder value score 0–5 for Security / Finance / Executive, secondary Engineering & Compliance + opportunities) and a per-persona grouping (validate the 5-seat model, surface missing personas and net-new exec/finance surfaces). Agent-native vocabulary throughout.
  2. Wireframing — a persona-partitioned lo-fi app (Wire*) whose deep pages are reframes of qcontrol's views + a net-new board-level Executive surface, all from a fresh data model.
  3. Mockups — two hi-fi passes of the lead pages: m1 built only from existing ../q-nuxt-layer components, m2 unconstrained (use/invent the best component per job).

Scope

In

  • Analysis report grounded in the actual qcontrol app (localhost:7878), agent-native framing.
  • Stakeholder value scoring (Security / Finance / Executive + Engineering + Compliance).
  • A persona-partitioned wireframe app (control-plane-v1, iteration wf1) reframing qcontrol's views + a net-new Executive board.
  • m1 (constrained) and m2 (unconstrained) mockups of the lead pages.

Out

  • Changes to the real qcontrol app, ../app.qpoint.io, or ../q-nuxt-layer.
  • Real data, API calls, or auth (fixtures only).
  • Egress as a first-class surface, seat, or KPI.

Deliverables

  1. app/data/c16-fleet.ts — typed fixtures mirroring qcontrol's /api shape (Phase 0)
  2. analysis.md — per-view + per-persona evaluation report (Phase 1)
  3. Persona-partitioned wireframes under app/pages/c16/wireframes/wf1/control-plane-v1/ (Phase 2)
  4. m1 + m2 mockup passes under app/pages/c16/mockups/ (Phase 3)

Decisions (confirmed with requester)

  • Scope: full pipeline, executed phase-by-phase with a checkpoint after each phase.
  • Container: this new cycle c16 (c15 untouched).
  • Egress: demote, don't delete — never an organizing surface or persona lane; allowed only as a minor detail-level signal where qcontrol itself shows it (the Network Egress card on an agent profile, the egress allow-list inside Policy & Enforcement).
  • Data: fresh data model app/data/c16-fleet.ts mirroring qcontrol's /api shape — do not reuse c15-agents.ts.

Source Material

  • initial-prompt.md — the originating brief (copied from c15).
  • http://localhost:7878/ — the qcontrol control plane (the new wf1 under analysis); JSON at /api/{stats,agents,agent,activity,security,costs,performance,installations,dlp,inventory}.
  • ../c15.agent-dashboard/ — prior persona work + the agent-native audit (lineage, not source).
  • ../q-nuxt-layer — component catalog for the m1 constrained mockup pass.

Status

  • Phase 0 — cycle scaffold + c16-fleet.ts data model
  • Phase 1 — analysis.md (per-view + per-persona)
  • Phase 2 — persona wireframes (control-plane-v1, 14 pages) + FleetSeatNav + gallery + dynamic route; egress-scrub verified; npm run build passes
  • Phase 2 review — phase2-review.md (value articulation per persona/page; mean ≈ 3.1/5; 3 systemic gaps: seats routed-not-framed, no seat landing, state-not-action)
  • Phase 2b — wf2 value-first revision: WirePagePurpose (purpose + bottom-line + do-next) + FleetSeatNav2 + 5 persona seat-landing pages + all 14 deep pages re-led with a computed takeaway/action + per-page fixes; npm run build passes (19 routes)
  • Seat-framing review — seat-framing-review.md (per-page seat-centric recs; 3 themes; build-once derived abstractions)
  • Phase 2c — wf3 seat-lensed revision: build-once derived signals in c16-fleet.ts (Control Coverage %, compound-risk, Hardening-ROI, governance-tagged spend, trajectory) + FleetSeatNav3; shared pages re-lens by ?seat; per-page derived signals across all 19; npm run build passes (19 routes)
  • Phase 2d — wf4 qdash-gap revision: four-question nav grouping (Assurance / Security / Identity & Access / Admin) + Orientation map, Fleet Overview wall mode, net-new Teams & Users accountability rollup, Agent Inventory lifecycle states, concrete Compliance evidence pack
  • Phase 2e — wf4 Usage Limits add-on (Uber-cap idea, simonwillison.net/2026/Jun/3/uber-caps-usage): net-new usage-limits.vue — per-axis spend ceilings (per user / agent / tool) with cap coverage %, over/near counts, an "uncapped" worklist (names data-pipeline-agent = the LLM10 unbounded finding), and the Audit→Assist→Enforce ladder. Data: usageCaps config + usageLimits() / usageLimitSummary() in c16-fleet.ts. Slotted under Assurance for Finance / Engineering / Executive seats; activates the previously-dead "Set ceilings" affordance (Cost Center now deep-links here). npm run build passes.
  • Phase 2f — wf5 persona-first synthesis (wf5-analysis.md): the "best of wf3 + wf4" — organized by persona (wf3's clean per-seat flat nav + seat-lensing) carrying wf4's richer surfaces (Effectiveness / Usage Limits / Teams & Users / lifecycle / wall mode / evidence pack); the four questions demoted to an implicit page ordering (no group headers, no Orientation page — FleetSeatNav5). Net-new Activity Log ("what happened?" — the cycle-history §4b gap, the only unbuilt first-class question) on the Security / Engineering / Compliance seats; effectiveness + activity woven onto the agent profile, a Findings→Activity bridge, and an "are they earning their keep?" ROI line on the Executive board. npm run build passes (23 wf5 pages).
  • ~ Phase 3 — hi-fi mockups
    • wf3.m1 pass — COMPLETE (19 pages): the first hi-fi pass, built FROM the wf3 wireframes under app/pages/c16/mockups/wf3.m1/control-plane-v1/. Unconstrained vocabulary — real q-nuxt-layer Ux*/Data*/Icon* components plus best-fit visualizations, inventing native-styled components (ChartDoughnut, BudgetMeter, ScoreGauge, DataSeverityTag) inline where the library has gaps, each annotated as a proposed addition. Shared chrome: 14px seat rail (canonical seatNav: exec→executive-board, security→findings, finance→cost-center, eng→performance, compliance→compliance) → sticky page chrome → insight banner → KPI row → inline viz → UxTableList → "Do next" actions; local fmtN/fmtCost; every number traces to a c16-fleet.ts export; egress demoted to brief-sanctioned spots only.
      • 6 lead pages (prior): cost-center, executive-board, agent-inventory, agent-profile, findings, security-posture.
      • 8 deep pages: fleet-overview, showback, performance, data-protection, policy-enforcement, compliance, agent-identity, integrations.
      • 5 seat landings: executive-home, security-home, finance-home, engineering-home, compliance-home (purpose header → accountability KPIs → trajectory chart → "Your surfaces" card grid).
      • Registry: single wf3.m1 iteration entry (page list updated); dynamic route auto-lists. npm run build passes; no Wire* misuse.
    • wf5.m1 pass — COMPLETE (all 18 deep surfaces): hi-fi mockups built FROM the wf5 persona-first wireframes under app/pages/c16/mockups/wf5.m1/control-plane-v1/, reusing the wf3.m1 vocabulary (ScoreGauge, BudgetMeter, ChartDoughnut, DataSeverityTag) — constrained to real q-nuxt-layer components. Built in two waves: (1) 8 lead surfaces — executive-board (incl. the "are they earning their keep?" ROI band), cost-center, agent-inventory (lifecycle states), agent-profile (woven "is it working?" + "what it did" cards), findings (Activity Log bridge), security-posture, effectiveness, and the net-new activity-log flight recorder; (2) 10 remaining deep surfaces — fleet-overview (Analyst/Wall toggle), usage-limits, the net-new teams-users accountability rollup, performance, data-protection, policy-enforcement, compliance (evidence pack), agent-identity, showback, integrations; (3) the 5 seat-home launchpads (security/finance/executive/engineering/compliance). The complete 23-page constrained set. Seat rail links target only built pages. npm run build passes; all render HTTP 200; no Wire* misuse.
    • wf5.m2 pass — COMPLETE (8 lead surfaces, unconstrained) under app/pages/c16/mockups/wf5.m2/control-plane-v1/: the elevated, less-constrained rendering of the 8 leads — real q-nuxt-layer components where they fit, plus best-fit visualizations invented inline where the library has gaps (RadialScore, TrendArea, ConcentrationBar, SpendTreemap, TimelineRail/EventChip, ReportCardHero, posture/recovery gauges), each annotated as a proposed addition. npm run build passes; all render HTTP 200.
  • Phase 3b — wf5.b1 brochure site (per-seat, 6 pages): one value-story brochure page per seat (security / finance / executive / engineering / compliance) + an overview index, under app/pages/c16/brochures/wf5.b1/control-plane-v1/. Each weaves its seat's surfaces into a single problem → pain → resolution narrative seeded by the wf5 page-level statements; Prose* components, proof stats from c16-fleet.ts, no images, portable to www.qpoint.io. New surfaces foregrounded (Activity Log on security/eng/compliance; Effectiveness on exec/eng). npm run build passes; all render HTTP 200.
  • Phase 3c — wf5.b2 value pages (per-page, 24): a single "problem + value" page for EVERY page in the app (index + all 23 surfaces), under app/pages/c16/brochures/wf5.b2/control-plane-v1/. Each plainly states the problem the surface solves and the value it brings, seeded by that page's high-level statement (WirePagePurpose), with a few honest proof stats from c16-fleet.ts — the lightest brochure form, a value map of the whole control plane. npm run build passes; all render HTTP 200.

c16 artifact inventory: wf1–wf5 wireframes · wf3.m1 (19) + wf5.m1 (23) + wf5.m2 (8) mockups · wf3.b1 + wf4.b1 + wf5.b1 (6) + wf5.b2 (24) brochures. Remaining (optional): m2 of the non-lead surfaces.

Visual record

2 captures — heroes, page slices, and full-page renders. Click to view.

c16 hero
c16 hero

Artifacts

Qpoint Brand Style Guide