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
P15Satisfies
OWASP LLM
AI RMF
ISO 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.
| Scope | Value | Reason | Expires | |
|---|---|---|---|---|
| agent | batch-eval-suite | Quarterly eval run — pre-approved burst budget | 2026-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
| Prop | Type | Default | Description |
|---|---|---|---|
| policy | Object | (required) | { id, name, purpose, category, severity, maturity, rule, satisfies[], remediation, on } |
| exceptions | Array | [] | Seed exceptions; shell keeps a working copy and re-emits changes |
| backTo | String | '' | Back-link target; link hidden when empty |
| backLabel | String | 'Policy Catalog' | Back-link text |
Events
| Event | Description |
|---|---|
| toggle | Activation changed (new boolean state) |
| exception-add | Exception added (the exception object) |
| exception-remove | Exception removed (object, index) |
| edit-control | The "edit as custom control" escape hatch clicked |
Slots
| Slot | Description |
|---|---|
| default | The policy's config shape component(s) |