This commit adds the read path (Cortex) to complement the write path (Spine): ## Crates - stemedb-api: HTTP API with axum + utoipa OpenAPI - /v1/assert, /v1/query, /v1/epoch, /v1/skeptic, /v1/trace, /v1/audit - Metered endpoints with quota enforcement - Ed25519 signature verification - stemedb-lens: Truth resolution lenses - RecencyLens, ConsensusLens, ConfidenceLens - VoteAwareConsensusLens (Ballot Box pattern) - TrustAwareAuthorityLens (The Hive pattern) - SkepticLens (conflict analysis) - EpochAwareLens (paradigm-safe queries) - stemedb-query: Query engine with materialized views ## Storage Extensions - VoteStore: Vote aggregation with cached counts - TrustRankStore: Agent reputation with decay - AuditStore: Query audit trail - IndexStore: SP/P/S index structures - SupersessionStore: Epoch supersession chains ## SDKs - sdk/go/steme: Go HTTP client with Ed25519 signing - sdk/go/adk: ADK-Go tools for AI agents ## Documentation - Updated CLAUDE.md, architecture.md, roadmap.md - New ai-lookup entries for all services - Use case docs for consumer health intelligence - Arena roadmap for simulation advancement Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| data | ||
| generated | ||
| reveal | ||
| scripts | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
Episteme Presentations
Data-driven presentations for Episteme. Define sequences in YAML, generate Mermaid diagrams and Reveal.js slides.
Quick Start
npm install
npm run dev # Generate + serve
Then open http://localhost:3000
Architecture
presentations/
├── data/
│ └── agile-agent-team.yaml # Source of truth
├── generated/ # Auto-generated (gitignored)
│ ├── *.mmd # Mermaid diagrams
│ └── *.json # Reveal.js data
├── reveal/
│ ├── index.html # Reveal.js shell
│ ├── theme.css # Clean black dark theme
│ └── renderer.js # Reads JSON, renders slides
└── scripts/
└── generate.ts # YAML → Mermaid + JSON
Commands
| Command | Description |
|---|---|
npm run generate |
Generate Mermaid and JSON from YAML |
npm run serve |
Serve the reveal directory |
npm run dev |
Generate + serve |
Data Schema
See data/agile-agent-team.yaml for the full schema. Key elements:
Actors
actors:
research_agent:
id: RA
label: "Research Agent"
color: "#3B82F6"
Sequences
sequences:
- id: catastrophe
title: "The Catastrophe"
subtitle: "When Proposals Look Like Decisions"
steps:
- from: research_agent
to: episteme
action: assert
label: "Store RFC finding"
data: { ... }
note: "RFC proposes ES256. Stored as PROPOSED."
danger: true # Visual indicator
callout: "lifecycle: proposed" # Highlighted badge
Step Properties
| Property | Type | Description |
|---|---|---|
from |
string | Actor key |
to |
string | Actor key |
action |
string | Action type (assert, query, response, etc.) |
label |
string | Message label |
data |
object | Structured data to display |
note |
string | Explanation text |
callout |
string | Highlighted badge text |
danger |
boolean | Red styling |
warning |
boolean | Amber styling |
success |
boolean | Green styling |
Mermaid Output
Each sequence generates a standalone .mmd file. Use with:
- GitHub markdown (renders automatically)
- Mermaid CLI:
mmdc -i file.mmd -o file.svg - Mermaid Live Editor: https://mermaid.live
Embedding in Public Site
The Reveal.js presentation is self-contained. To embed:
- Copy
reveal/directory to your site - Copy
generated/*.jsonto your site - Update
PRESENTATION_DATA_URLin index.html
Or iframe embed:
<iframe src="/presentations/reveal/index.html" width="100%" height="600"></iframe>
Theme Customization
Edit reveal/theme.css. Key variables:
:root {
--bg-primary: #000000;
--bg-card: #111111;
--accent-episteme: #FBBF24;
--font-sans: 'Inter', sans-serif;
}