Runtime AI
L12 · Phase R3Every citizen-message routing decision CivicGate makes goes through the substrate's runConstrainedAI SDK. Reviewer gate: on-low-confidence (≥ 0.80) — below the threshold a triage clerk reviews before queueing. Citizen identifier + message text are hash-only redacted in L12; the chain carries no citizen speech, just signed proof a routing happened.
L12 entries
10
Chain breaks
0 · ever
Schema-valid
80%
p95 latency
234ms
Reviewer-gated
2 / 10
Fallback triggered
2 / 10
Head hash
c25291c409d8585f…
RuntimeAISpec
CivicGate citizen-message router
Route a citizen-submitted free-text service request to a municipal department + urgency bucket. Reviewer-gated on low confidence; every routing decision recorded in L12. eIDAS + GDPR Art. 22 + EU AI Act Annex III §5(a) anchored.
routeron-low-confidence (≥ 0.8)deterministic-default3500msanthropic / claude-sonnet-4-5-202509292026-05-01Input schema
citizenIdHash·stringhash-onlymessageText·stringhash-onlychannel·enum·{ web-portal | mobile-app | sms | phone-transcribed | walk-in-typed }preferredLanguage·enum·{ fr | de | nl | it | es | pt | pl | en | other }municipalityCode·stringhasPreviousOpenCase·boolean
Output schema (closed-enum)
department·enum·{ civic-registration | taxation | social-services | housing | public-works | environmental-services | public-transport | health-emergency | legal-affairs | education | needs-human-triage }urgency·enum·{ low | normal | high | safety-critical }expectedSlaDays·numberrationaleShort·string
L12 chain — every routing decision
10 entries · head c25291c409d8…| # | Recorded | Latency | Schema | Reviewer | Fallback | Hash |
|---|---|---|---|---|---|---|
| 1 | 2025-05-12 11:30:00 | 162ms | valid | — | — | 9c34c8634e… |
| 2 | 2025-05-12 11:30:01 | 148ms | valid | — | — | c9e591a585… |
| 3 | 2025-05-12 11:30:02 | 198ms | valid | — | — | 2b892da22c… |
| 4 | 2025-05-12 11:30:03 | 132ms | valid | — | — | 87c329a5ed… |
| 5 | 2025-05-12 11:30:04 | 176ms | valid | — | — | 62ba591b4b… |
| 6 | 2025-05-12 11:30:05 | 121ms | valid | — | — | 707176d7cb… |
| 7 | 2025-05-12 11:30:06 | 234ms | valid | amended | — | 31b44095a0… |
| 8 | 2025-05-12 11:30:07 | 211ms | valid | approved | — | 75bb086505… |
| 9 | 2025-05-12 11:30:08 | 0ms | violation | — | fallback | af5f0be96d… |
| 10 | 2025-05-12 11:30:09 | 0ms | violation | — | fallback | c25291c409… |
Verify the chain yourself
Download at /civicgate-runtime-ai-receipts.jsonl — the exact bytes the substrate seed produced. Verify with substrate's runnable bundle:
$ npm run substrate:verify-runtime-ai -- civicgate-runtime-ai-receipts.jsonl Promethean L12 Runtime-AI Receipt Log ===================================== schema: promethean-runtime-ai-receipt-log-1.0 total entries: 10 products observed: civicgate specs observed: civicgate-message-router schema violations: 2 ← (out-of-enum department, fallback handled) fallback triggered: 2 ← (1 out-of-enum, 1 LLM-error) reviewer-gated: 2 ← (2 low-confidence decisions queued + verdict-recorded) valid: true fully verified: 10 / 10
Want this for your municipality · ministry · agency?
Enterprise tier · €2,499/mo · self-serviceThis live L12 chain is a reference deployment for govtech. Your team can have the same shape — your closed-enum spec, reviewer gate with appeal-evidence chain, signed chain — for your citizen AI feature against GDPR Art. 22 + EU AI Act §5(a) + eIDAS 2. The pilot is fixed scope, fixed price, fixed timeline. Pre-registered falsifiable hypotheses. 50% money-back if the T+90d verdict misses.