# 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

```bash
# 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:

```typescript
// 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
```

## Related Projects

- **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.
