Where Herald's pattern meets Concept D's world model.
Skeptic is the runtime layer that combines Herald's deterministic pipeline with a persistent world-state model, multi-model specialist architecture, and evidence-grounded verification. It's not one model doing everything. It's eight distinct models across ten specialist seats, coordinated by deterministic code via sequential relay, with a judge that checks every claim against grounded evidence before it reaches the user.
Persistent World-State Model
Every event updates a structured world-state: user profile, task stack, open jobs, recent failures, device status, tool availability, model availability, and confidence ledger. The system knows what it knows.
Multi-Model Specialist Seats
Ten specialist seats across eight distinct models. Renderer, vision (lite + BG1), code specialist, logic specialist (rnj-1:8b), code reviewer (deepseek-r1:8b), research writer (gemma4:12b), fast reasoner (gemma4:4b), embedding, and verifier. Each model has one job. Sequential relay manages VRAM.
Evidence-Grounded Verification
The Judge checks every output against grounded evidence: tool output, file contents, OCR results, memory provenance. Claims are tagged as observed, recalled, inferred, or guessed. Observed wins.
Belief State vs Evidence Store
Separate what the system believes from what it can prove. The belief state tracks inferences and hunches. The evidence store tracks tool outputs and direct observations. Disagreements resolved by evidence, not prettiest answer.
Event-Driven Cognition
Long-running thinking is event-driven and scheduled, not blocking. Background jobs report progress at 15%, 60%, 95%. The system thinks asynchronously, not in turn-by-turn lockstep.
Herald Core Preserved
Deterministic routing, immutable fact boundaries, static call graph — all still enforced. Skeptic adds cognitive layers on top of Herald's foundation. The LLM still renders. Code still decides.
llama3.2:1b/3b
Renderer
Fast responses, event watching, majority of turns
qwen2.5vl:3b
Vision Lite
Quick screen capture, OCR
qwen3-vl:8b
Vision BG1
Heavy visual analysis in background
deepcoder:14b
Code Specialist
Code generation, debugging, analysis
rnj-1:8b
Logic Specialist
Logical reasoning, math, structured problem solving
deepseek-r1:8b
Code Reviewer
Deep code review, architectural analysis, reasoning chains
gemma4:12b
Research Writer
Research synthesis, long-form summarization in BG1
gemma4:4b
Fast Reasoner
Quick reasoning when renderer needs domain depth
nomic-embed-text-v2-moe
Embedding
Semantic search, RAG retrieval
llama3.2:3b
Judge / Verifier
Evidence checking, claim tagging (reuses renderer model with verifier prompt)
PocketMemory is a 643-line graph-based memory system. Entities (users, tools, modules) have slots (key-value facts) and links (relationships). Protection levels separate canonical system knowledge from dynamic user data.
Entities
self:jarvis, person:owner, tool:*, module:*
Seed entities: self:jarvis, person:creator_james, person:creator_bxserkk, architecture:herald_skeptic, codebase:jarviscore
Slots
name, purpose, spoken_purpose, file_path
Each slot has confidence, provenance_type, source, and protection_level
Links
has_persona, belongs_to_project, has_tool
Relationships between entities with confidence and provenance tracking
Protection
canonical vs dynamic
Canonical entities/slots/links cannot be modified without allow_update_protected=true