Skip to main content
Compendium / Pillars & Roles / Role Identity / Role Authority Card
#025

Role Authority Card

A grant-of-authority document: the explicit powers the Governor may sign off on — kill-switch, autonomy ceiling, scope limits.

STABLE GO
#card #stamp #list #real-content #dark-mode-tested
Live
Grant of Authority
Form GO-25 · Schedule A
GO
Granted to
The Governor
Granted by
Charter Office
  • Kill-Switch · Halt any agent, immediately
  • Autonomy Ceiling · Cap unattended action class
  • Scope Limit · Bound a spec's blast radius
  • Audit Disclosure · Release governance trail
  • Charter Amendment · Revise the pillar mandate
Holder Signature
M. Okafor
Counter-Seal
REGISTERED
Spec

Intent

Render the explicit authorities granted to one role (the Governor) — a checklist of sign-off powers. Frames the role as a delegated municipal office.

Acceptance Criteria

  • [ ] Names the role and the granting authority
  • [ ] Lists 4+ specific powers with checkbox marks
  • [ ] Includes signature line and counter-seal
  • [ ] Does not grant un-listed authorities by default

Constraints

  • Theme-aware via tokens
  • No hex literals in brand-colour slots
  • ≤ 150 lines body
// role-authority-card.astro
---
import type { CompendiumMeta } from '../../../data/types';

export const meta: CompendiumMeta = {
  id: 25,
  slug: 'role-authority-card',
  name: 'Role Authority Card',
  category: 'pillars-roles',
  subcategory: 'role-identity',
  pillar: 'go',
  description: 'A grant-of-authority document: the explicit powers the Governor may sign off on — kill-switch, autonomy ceiling, scope limits.',
  spec: `## Intent
Render the explicit authorities granted to one role (the Governor) — a checklist of sign-off powers. Frames the role as a delegated municipal office.

## Acceptance Criteria
- [ ] Names the role and the granting authority
- [ ] Lists 4+ specific powers with checkbox marks
- [ ] Includes signature line and counter-seal
- [ ] Does not grant un-listed authorities by default

## Constraints
- Theme-aware via tokens
- No hex literals in brand-colour slots
- ≤ 150 lines body`,
  tags: ['card', 'stamp', 'list', 'real-content', 'dark-mode-tested'],
  status: 'stable',
  health: { ics: 100, a11y: 'aa', themed: true, animated: false },
};

const authorities = [
  { p: 'Kill-Switch',       note: 'Halt any agent, immediately',   on: true  },
  { p: 'Autonomy Ceiling',  note: 'Cap unattended action class',   on: true  },
  { p: 'Scope Limit',       note: 'Bound a spec\'s blast radius',  on: true  },
  { p: 'Audit Disclosure',  note: 'Release governance trail',      on: true  },
  { p: 'Charter Amendment', note: 'Revise the pillar mandate',     on: false },
];
---

<article data-this-component class="w-full bg-paper text-black border-4 border-black shadow-nb-sm overflow-hidden">
  <div class="bg-go border-b-4 border-black px-3 py-2 flex items-center justify-between gap-2">
    <div class="min-w-0">
      <div class="font-mono text-[9px] uppercase tracking-[0.3em] font-black truncate">Grant of Authority</div>
      <div class="font-mono text-[9px] uppercase tracking-widest opacity-80 truncate">Form GO-25 · Schedule A</div>
    </div>
    <div class="w-9 h-9 border-2 border-black bg-paper flex items-center justify-center font-black shrink-0">GO</div>
  </div>

  <div class="px-3 py-2 border-b-2 border-black border-dashed flex items-baseline justify-between gap-2">
    <div class="min-w-0">
      <div class="font-mono text-[8px] uppercase tracking-widest opacity-60">Granted to</div>
      <div class="font-black uppercase leading-tight truncate">The Governor</div>
    </div>
    <div class="text-end min-w-0">
      <div class="font-mono text-[8px] uppercase tracking-widest opacity-60">Granted by</div>
      <div class="font-mono text-[10px] uppercase tracking-widest truncate">Charter Office</div>
    </div>
  </div>

  <ul class="px-3 py-2 space-y-1.5">
    {authorities.map((a) => (
      <li class="flex items-start gap-2 text-[11px] leading-snug">
        <span class:list={['inline-block w-3.5 h-3.5 border-2 border-black flex-none mt-0.5 flex items-center justify-center font-black text-[9px]', a.on ? 'bg-go' : 'bg-paper']}>{a.on ? '✓' : ''}</span>
        <span class="min-w-0 flex-1">
          <span class="font-black uppercase">{a.p}</span>
          <span class="opacity-70"> · {a.note}</span>
        </span>
      </li>
    ))}
  </ul>

  <div class="border-t-2 border-black px-3 py-2 grid grid-cols-2 gap-3">
    <div class="min-w-0">
      <div class="font-mono text-[8px] uppercase tracking-widest opacity-60 mb-0.5">Holder Signature</div>
      <div class="h-5 border-b-2 border-black italic font-serif text-sm leading-tight truncate">M. Okafor</div>
    </div>
    <div class="min-w-0">
      <div class="font-mono text-[8px] uppercase tracking-widest opacity-60 mb-0.5">Counter-Seal</div>
      <div class="h-5 flex items-center justify-end">
        <div class="rotate-[-6deg] text-go font-black text-[9px] tracking-[0.2em] border-2 border-go px-1.5 py-0.5">REGISTERED</div>
      </div>
    </div>
  </div>
</article>