PolicyConfigShell

components/policy-config/Shell.vue

Full-detail page chrome for one policy: name + maturity pill + activation toggle, meta strip (category, severity, ComplianceTag satisfies chips), underlying-control disclosure (escape hatch), shape body via slot, shared Exceptions section — all in a white bg-surface card. Body dims when inactive.

Spend Ceiling

Fleet and per-agent spend stays under explicit ceilings — someone is told before money becomes a surprise.

Cost & Consumption
medium
P15
SatisfiesOWASP LLMAI RMFISO 42001
Underlying control— show
usage: scope = "fleet" and cost_24h > 25edit as custom control →

Spend ceilings

Violations flag when the observed value crosses a ceiling.

Fleet daily spend

all agents · rolling 24h

observed:$31.4over ceiling

Exceptions

Scoped carve-outs with a reason and an expiry — accepted risk, on the record.

ScopeValueReasonExpires
agentbatch-eval-suiteQuarterly eval run — pre-approved burst budget2026-08-20

Remediation shown on findings: Raise the ceiling deliberately, or throttle the spending agent.

@toggle ×0 · @edit-control ×0

components/policy-config/Shell.vue

Usage

<PolicyConfigShell :policy = "(required)" :exceptions = "[]" backTo = "—" backLabel = "Policy Catalog" > Content here </PolicyConfigShell>

Props

PropTypeDefaultDescription
policyObject(required){ id, name, purpose, category, severity, maturity, rule, satisfies[], remediation, on }
exceptionsArray[]Seed exceptions; shell keeps a working copy and re-emits changes
backToString''Back-link target; link hidden when empty
backLabelString'Policy Catalog'Back-link text

Events

EventDescription
toggleActivation changed (new boolean state)
exception-addException added (the exception object)
exception-removeException removed (object, index)
edit-controlThe "edit as custom control" escape hatch clicked

Slots

SlotDescription
defaultThe policy's config shape component(s)

Related

Qpoint Brand Style Guide