stemedb/applications/stemedb-dashboard
jordan ad07a75d0a feat: add source content to source registry, signed assertions, feed endpoint, dashboard enhancements
- Add `content: Option<String>` to SourceRecord with rkyv schema evolution
  (LegacySourceRecord compat deserializer for backward compatibility)
- Add MAX_SOURCE_CONTENT_LEN (1MB) limit with API validation
- Strip content from list responses, include in single-source GET
- Update Go SDK RegisterSourceRequest with Content field
- FCM pipeline extracts PDF text via pdftotext and passes to registration
- Dashboard impact panel fetches and displays source content with expand/collapse
- Add feed endpoint, dashboard feed panel, and signed assertion support
- Update data-structures.md, API docs, and storage docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 21:54:27 -07:00
..
src feat: add source content to source registry, signed assertions, feed endpoint, dashboard enhancements 2026-02-19 21:54:27 -07:00
components.json feat: Complete Aphoria Phase 8-9 + UAT suite (90/90 tests passing) 2026-02-06 22:50:55 -07:00
next-env.d.ts feat: add feed endpoint, dashboard feed panel, and FindMyHealth app 2026-02-16 17:16:17 -07:00
next.config.ts fix(aphoria): fix 3 critical verification engine bugs 2026-02-08 15:13:10 +00:00
package-lock.json feat: Complete Aphoria Phase 8-9 + UAT suite (90/90 tests passing) 2026-02-06 22:50:55 -07:00
package.json feat: Complete Aphoria Phase 8-9 + UAT suite (90/90 tests passing) 2026-02-06 22:50:55 -07:00
pnpm-lock.yaml fix(aphoria): fix 3 critical verification engine bugs 2026-02-08 15:13:10 +00:00
postcss.config.mjs feat: Complete Aphoria Phase 8-9 + UAT suite (90/90 tests passing) 2026-02-06 22:50:55 -07:00
README.md feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
tsconfig.json feat: Complete Aphoria Phase 8-9 + UAT suite (90/90 tests passing) 2026-02-06 22:50:55 -07:00
tsconfig.tsbuildinfo feat: add source content to source registry, signed assertions, feed endpoint, dashboard enhancements 2026-02-19 21:54:27 -07:00

StemeDB Dashboard

Enterprise administration dashboard for StemeDB - the probabilistic knowledge graph database.

Features

  • Skeptic Query: Search and query assertions with lens-based resolution
  • Layered View: Visualize assertions across lifecycle stages
  • Sources: Browse and manage source registry
  • Quarantine: Review and manage quarantined assertions
  • Circuit Breakers: Monitor and configure circuit breaker status
  • Audit Trail: View assertion history and changes

Quick Start

# Install dependencies
npm install

# Run development server (port 18188)
npm run dev

# Build for production
npm run build

# Start production server (port 18188)
npm start

Architecture

  • Framework: Next.js 16 with App Router
  • UI: TailwindCSS 4 + shadcn/ui components
  • Port: 18188 (StemeDB Dashboard)
  • API Integration: Proxies requests to StemeDB API at port 18180

API Integration

The dashboard uses Next.js rewrites to proxy API requests:

// All /v1/* requests are proxied to http://localhost:18180/v1/*
// This is configured in next.config.ts

Leave NEXT_PUBLIC_STEMEDB_API_URL empty in .env.local to use proxy mode.

Project Structure

src/
├── app/                    # Next.js app router pages
│   ├── skeptic/           # Skeptic query route
│   ├── layered/           # Layered view route
│   ├── sources/           # Source registry route
│   ├── quarantine/        # Quarantine management route
│   ├── circuit/           # Circuit breakers route
│   ├── audit/             # Audit trail route
│   └── layout.tsx         # Root layout with StemeDB branding
├── components/
│   ├── skeptic/           # Skeptic query components
│   ├── layered/           # Layered view components
│   ├── sources/           # Source registry components
│   ├── quarantine/        # Quarantine components
│   ├── circuit/           # Circuit breaker components
│   ├── audit/             # Audit trail components
│   ├── layout/            # Sidebar, header, theme toggle
│   ├── shared/            # Shared components (error, api-status)
│   └── ui/                # shadcn/ui components
└── lib/
    ├── api/               # API client (includes both StemeDB + Aphoria)
    └── utils.ts           # Utilities
  • Aphoria Dashboard: Port 18189 - Aphoria code quality dashboard
  • StemeDB API: Port 18180 - Backend API

Development

The dashboard shares some infrastructure with Aphoria Dashboard (UI components, API client, utilities). See applications/DASHBOARD_SYNC.md for sync procedures if you update shared code.