Genuine AI epistemic self-assessment framework - Universal interface for single AI tracking
Project description
🧠 Empirica - Honest AI Through Epistemic Self-Awareness
AI agents that know what they know—and what they don't
What is Empirica?
Empirica enables AI agents to genuinely assess their knowledge and uncertainty.
Instead of false confidence and hallucinations, Empirica provides:
- ✅ Honest uncertainty tracking: "I don't know" becomes a measured response
- ✅ Focused investigation: Direct effort where knowledge gaps exist
- ✅ Genuine learning measurement: Track what you learned, not just what you did
- ✅ Session continuity: Resume work across sessions without losing context
- ✅ Multi-agent coordination: Share epistemic state across AI teams
Result: AI you can trust—not because it's always right, but because it knows when it might be wrong.
🚀 Quick Start
Installation
Choose your preferred installation method:
PyPI (Recommended)
# Core installation
pip install empirica
# With API/dashboard features
pip install empirica[api]
# With vector search
pip install empirica[vector]
# Everything
pip install empirica[all]
Homebrew (macOS/Linux)
brew tap nubaeon/tap
brew install empirica
Docker
# Pull the image
docker pull nubaeon/empirica:1.0.0
# Run a command
docker run -it nubaeon/empirica:1.0.0 empirica --help
# Interactive session with persistent data
docker run -it -v $(pwd)/.empirica:/data/.empirica nubaeon/empirica:1.0.0 /bin/bash
Chocolatey (Windows)
choco install empirica
From Source
# Latest stable release
pip install git+https://github.com/Nubaeon/empirica.git@v1.0.0
# Development branch
pip install git+https://github.com/Nubaeon/empirica.git@develop
🆕 First-time user? → Installation Guide
Your First Session
# AI-first JSON mode (recommended for AI agents)
echo '{"ai_id": "myagent", "session_type": "development"}' | empirica session-create -
# Legacy CLI (still supported)
empirica session-create --ai-id myagent --output json
Output:
{
"ok": true,
"session_id": "abc-123-...",
"project_id": "xyz-789-...",
"message": "Session created successfully"
}
🎯 Core Workflow: CASCADE
Empirica uses CASCADE - a metacognitive workflow with explicit epistemic phases:
# 1. PREFLIGHT: Assess what you know BEFORE starting
cat > preflight.json <<EOF
{
"session_id": "abc-123",
"vectors": {
"engagement": 0.8,
"foundation": {"know": 0.6, "do": 0.7, "context": 0.5},
"comprehension": {"clarity": 0.7, "coherence": 0.8, "signal": 0.6, "density": 0.7},
"execution": {"state": 0.5, "change": 0.4, "completion": 0.3, "impact": 0.5},
"uncertainty": 0.4
},
"reasoning": "Starting with moderate knowledge of OAuth2..."
}
EOF
cat preflight.json | empirica preflight-submit -
# 2. WORK: Do your actual implementation
# Use CHECK gates as needed for decision points
# 3. POSTFLIGHT: Measure what you ACTUALLY learned
cat > postflight.json <<EOF
{
"session_id": "abc-123",
"vectors": {
"engagement": 0.9,
"foundation": {"know": 0.85, "do": 0.9, "context": 0.8},
"comprehension": {"clarity": 0.9, "coherence": 0.9, "signal": 0.85, "density": 0.8},
"execution": {"state": 0.9, "change": 0.85, "completion": 1.0, "impact": 0.8},
"uncertainty": 0.15
},
"reasoning": "Successfully implemented OAuth2, learned token refresh patterns"
}
EOF
cat postflight.json | empirica postflight-submit -
Result: Quantified learning (know: +0.25, uncertainty: -0.25)
✨ Key Features
📊 Epistemic Self-Assessment (13 Vectors)
Track knowledge across 3 tiers:
- Tier 0 (Foundation): engagement, know, do, context
- Tier 1 (Comprehension): clarity, coherence, signal, density
- Tier 2 (Execution): state, change, completion, impact
- Meta: uncertainty (explicit tracking)
🎯 Goal-Driven Task Management
# Create goals with epistemic scope
echo '{
"session_id": "abc-123",
"objective": "Implement OAuth2 authentication",
"scope": {
"breadth": 0.6,
"duration": 0.4,
"coordination": 0.3
},
"success_criteria": ["Auth works", "Tests pass"],
"estimated_complexity": 0.65
}' | empirica goals-create -
Integrates with BEADS (issue tracking) for dependency-aware workflows.
🔄 Session Continuity
# Load project context dynamically (~800 tokens)
empirica project-bootstrap --project-id <PROJECT_ID>
Shows:
- Recent findings (what was learned)
- Open unknowns (what's unclear)
- Dead ends (what didn't work)
- Reference docs & skills
🤝 Multi-Agent Coordination
Share epistemic state via git notes:
# Push your epistemic checkpoints
git push origin refs/notes/empirica/*
# Pull team member's state
git fetch origin refs/notes/empirica/*:refs/notes/empirica/*
Privacy: You control what gets shared!
📦 Optional Integrations
BEADS Issue Tracking
Install BEADS (separate Rust project):
cargo install beads
Features:
- Dependency-aware task tracking
- Git-friendly (JSONL format)
- AI-optimized JSON output
- Auto-links with Empirica goals
Learn more: BEADS Integration Guide
Vector Search (Qdrant)
pip install empirica[vector]
# Start Qdrant
docker run -p 6333:6333 qdrant/qdrant
# Embed docs
empirica project-embed --project-id <PROJECT_ID>
# Search
empirica project-search --project-id <PROJECT_ID> --task "oauth2"
API & Dashboard
pip install empirica[api]
# Start monitoring dashboard
empirica monitor
📚 Documentation
Getting Started
- 📖 First-Time Setup - Data isolation & privacy
- 🚀 Empirica Explained Simply - Core concepts
- 📘 System Prompt (v4.1) - AI-first JSON reference
Guides
Reference
- 📋 CLI Commands
- 🗄️ Database Schema
- 🐍 Python API
- ⚙️ Configuration
🔒 Privacy & Data Isolation
Your data is isolated per-repo:
- ✅
.empirica/- Local SQLite database (gitignored) - ✅
.git/refs/notes/empirica/*- Epistemic checkpoints (local by default) - ✅
.beads/- BEADS database (gitignored)
Each user gets a clean slate - no inherited data from other users or projects.
🛠️ Development
Running Tests
# Core tests
pytest tests/
# Integration tests
pytest tests/integration/
# MCP tests
pytest tests/mcp/
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
📊 System Requirements
- Python: 3.11+
- Git: Required for epistemic checkpoints
- Optional: Docker (for Qdrant), Rust/Cargo (for BEADS)
🎓 Learn More
Research & Concepts
Use Cases
- Research & Development
- Multi-Agent Teams
- Long-Running Projects
- Training Data Generation
- Epistemic Audit Trails
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: docs/
📜 License
MIT License - Maximum adoption, trust-aligned with Empirica's transparency principles.
See LICENSE for details.
See LICENSE for details.
Built with genuine epistemic transparency 🧠✨
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file empirica-1.0.1.tar.gz.
File metadata
- Download URL: empirica-1.0.1.tar.gz
- Upload date:
- Size: 610.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43e22ff9c6cdda053e7171b470445237981e00099e231410076d04f0483635f5
|
|
| MD5 |
3af393df465175a44ca726ab38e54551
|
|
| BLAKE2b-256 |
2657f2f283e446ccc0143ecd02f9970d8fe65939c6a5cc8f3e7d98ecb2c34ac9
|
File details
Details for the file empirica-1.0.1-py3-none-any.whl.
File metadata
- Download URL: empirica-1.0.1-py3-none-any.whl
- Upload date:
- Size: 676.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d2e9e59610d38c8d01b601b68db100d7b993f5961e42137fa61850cd29bef27
|
|
| MD5 |
df717137a5fc53d52dc7affb3e9c60f9
|
|
| BLAKE2b-256 |
f836ee9ed5e19e8465237bffa3c52559e1928a73776bd6bf5a3e958900f3d08e
|