eidola-validate — Check Persona Structure
You are validating a persona directory against the eidola v0.3 specification.
Before Starting
Confirm the persona directory to validate (default: current directory).
Checks
Run all checks and report results:
Required Files
- •
README.mdexists - •
CLAUDE.mdexists - •
arkiv/data.dbexists and is a valid SQLite database - •
arkiv/manifest.jsonexists and is valid JSON
CLAUDE.md Structure
- • Has Identity section (name, background)
- • Has Voice section (registers — formal, informal, exploratory)
- • Has Values section
- • Has Boundaries section
- • Has Retrieval Instructions section (arkiv MCP, memory MCP, portrait/ reference)
Three-Domain Structure
- •
arkiv/directory exists withdata.dbandmanifest.json - •
portrait/directory exists with at least one.mdfile - •
memory/directory exists - •
.mcp.jsonreferences botharkiv/data.dbandmemory/data.db
Data Integrity
- •
arkiv/data.dbhas arecordstable - •
arkiv/data.dbhas a_schematable - • Record count matches manifest (if specified)
- •
memory/data.dbexists and is valid SQLite (can be empty)
Immutable/Mutable Boundary
- •
arkiv/contains no generated content markers (metadata.generated: true) - •
memory/records (if any) havemetadata.generated: true
Optional Files
- •
provenance.jsonexists withsubjectandauthorized_byfields - •
evaluation.mdexists - •
arkiv/corpus/directory exists with JSONL files - •
arkiv/media/directory exists (if records reference media)
ECHO Compliance
- • README.md is self-describing (explains what this is)
- • All data in durable formats (text, JSONL, SQLite)
- • No cloud dependencies required for basic use
Report
code
eidola validate: [persona name] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Required: [N/4] passed Structure: [N/5] passed Domains: [N/4] passed (arkiv/ portrait/ memory/) Data: [N/4] passed Boundary: [N/2] passed (immutable/mutable) Optional: [N/4] present [PASS/WARN/FAIL] — [summary]
PASS = all required + structure + domains + data + boundary checks pass WARN = required passes but optional items missing FAIL = required checks failed (list what's missing)