- Rust workspace with stemedb-core crate - Full .claude/ configuration (agents, skills, commands, guides) - ai-lookup/ for token-efficient fact storage - Quality gates: clippy, fmt, jscpd duplication detection - Pre-commit hook with 5-phase quality checks - CLAUDE.md router and CODING_GUIDELINES.md standards Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.1 KiB
1.1 KiB
Assertion
Last Updated: 2025-01-31 Confidence: High
Summary
The Assertion is the atomic unit of Episteme. It represents a signed claim about reality, not a mutable fact.
Key Facts:
- Immutable once written (append-only)
- Content-addressed by BLAKE3 hash
- Contains: subject, predicate, object, source, agent, timestamp
- Optionally includes vector embedding for semantic search
File Pointer: crates/stemedb-core/src/assertion.rs (planned)
Structure
pub struct Assertion {
pub subject: EntityId, // "Tesla_Inc"
pub predicate: RelationId, // "has_revenue"
pub object: ObjectValue, // Float(96.7B), String("Musk"), Ref(EntityId)
pub source: SourceHash, // Evidence pointer (PDF/URL hash)
pub agent: AgentId, // Ed25519 public key
pub timestamp: u64, // Wall clock time
pub vector: Option<Vec<f32>>, // Semantic embedding
}
Identity
Assertion ID = BLAKE3(subject || predicate || object || agent || timestamp)
Same content from same agent at same time = same hash.