Sewa Setu — Old Age Pension Portal

Department of Social Welfare · Government of Purvanchal

Evaluation & Persona Test Dashboard

Dual-MCP Assistant Verification Harness · 19 Sociolinguistic Personas · Independent Database State & Global Safety Grading

N/A
Overall Pass Rate
0
Target Personas
0
Total Eval Runs
0
Test Batches
Found → Changed Evaluation Timeline From Eval Batches

No evaluation batches yet. Run the evaluation harness (python evals/runner.py) to record evaluation batches and their fix notes.

Engineering Hardening from Audits & Unit Tests (Not Eval Results) Pre-Eval Hardening

Core security, data integrity, and protocol defenses established through the M0 baseline audit and Part A unit tests:

Audit Log PII Leakage Neutralized · Regex Masking
Commit 2754d50 · Provoked by Part A Hardening & Persona 06 (Mistyped Details)
Identified risk where raw validation error messages in mcp_tool_audit_log could store sensitive citizen data (mobiles, bank accounts, IFSC, DOB). Added sanitize_audit_error with multi-pattern redaction and truncation before persistence.
Block-Scoped Officer Authorization Enforced Server-Side
Commit 96086c2 · Provoked by Persona 17 (Officer Block-Scoped)
Field officers assigned to a specific block (e.g. Namti) were previously able to view applications across blocks if not filtered. Enforced strict WHERE block = %s in list_pending, view_application, and decide_application.
Concurrent Duplicate Submission Prevention · PostgreSQL Advisory Lock
Commit 2754d50 · Provoked by Persona 11 (Double Submit) & Concurrency Stress Tests
Rapid concurrent submits on the same citizen phone could cause race conditions. Added pg_advisory_xact_lock(hashtext(mobile)) in services.py to guarantee strictly one active application.
Secure Age Proof Upload Flow · Path Traversal Immunity
Commit 5ff520e · Provoked by Persona 07 & Local Path Traversal Tests
Prevented agents or attackers from passing arbitrary filesystem paths. Created single-use upload tokens validated with magic bytes (JPEG/PDF) via dedicated web upload portal flow.
Centralized Validation Rules · Age Checking at Submission
Commit bd08e60 · Provoked by Persona 03 (Underage) & Baseline Seed Audit
Refactored all business logic into single source of truth services.py. Enforced 60-year minimum age at exact submission timestamp and strict 11-character IFSC regex matching.
Evaluation Batches & Execution Runs 0 Batches Recorded

No evaluation batches recorded in the database yet. Run the evaluation harness (python evals/runner.py) to execute personas.

Invented Persona Roster (19 Target Archetypes) Sociolinguistic Coverage

Diverse rural elderly citizens and departmental officers spanning edge cases, dialect variations, document ambiguities, and adversarial attacks:

ID Name & Age Role Location Why Chosen How They Talk