stemedb/applications/aphoria-dashboard
jml 65065f3d8f feat(aphoria): implement community corpus with wiki import and pattern aggregation
Implements Phase 4 (A4) - Community corpus as first-class citizens:

- **Community Corpus Builder** - Queries StemeDB pattern aggregates
- **Wiki Import** - Bootstrap corpus from markdown docs (aphoria corpus import wiki)
- **Pattern Aggregation** - Automatic learning from local scans (--sync flag)
- **Storage Layer** - StemeDBPatternStore with content-addressed deduplication
- **Promotion Logic** - Multi-tier thresholds (95%/80%/50% adoption rates)
- **Corpus Build** - Unified registry for RFC/OWASP/Vendor/Community sources
- **Trust Packs** - Export corpus as signed, distributable artifacts
- **Documentation** - bootstrap-corpus.md guide + CLI reference updates

Technical details:
- Pattern aggregates stored as assertions with predicate "pattern_aggregate"
- Content-addressed subjects via BLAKE3(subject:predicate:value)
- PatternAggregator handles write path (observations → patterns)
- StemeDBPatternStore handles read path (pattern queries)
- Integration tests + fixtures in tests/wiki_import_test.rs

Deleted hardcoded.rs (368 lines) - corpus now fully emergent from StemeDB.
Deleted enriched-corpus-patterns.md (677 lines) - feature shipped.

Closes VG-026 (community corpus), part of A4 milestone.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-09 00:12:31 +00:00
..
src feat(aphoria): add inline claim markers and claim enrichment infrastructure 2026-02-08 20:18:20 +00:00
.gitignore feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
components.json feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
CORPUS_STATUS.md feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
DOCUMENTATION_INDEX.md feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
INTEGRATION_STATUS.md feat(aphoria): implement community corpus with wiki import and pattern aggregation 2026-02-09 00:12:31 +00:00
next.config.ts feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
package.json feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
postcss.config.mjs feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
QUICK_REFERENCE.md feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
README.md feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00
tsconfig.json feat(aphoria): add git commit tracking + comprehensive documentation 2026-02-08 18:36:46 +00:00

Aphoria Dashboard

Code quality assurance dashboard for Aphoria - the code-level truth linter powered by Episteme.

Features

  • Scans: Run and view Aphoria code scans with conflict detection
  • Claims: Manage authored claims (architectural decisions, safety invariants, policy requirements)
  • Corpus: Browse and filter the community corpus of authoritative sources (RFCs, OWASP, CWEs)

Quick Start

# Install dependencies
npm install

# Run development server (port 18189)
npm run dev

# Build for production
npm run build

# Start production server (port 18189)
npm start

Architecture

  • Framework: Next.js 16 with App Router
  • UI: TailwindCSS 4 + shadcn/ui components
  • Port: 18189 (Aphoria 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
│   ├── scans/             # Aphoria scans route
│   ├── claims/            # Claims management route
│   ├── corpus/            # Corpus browser route
│   └── layout.tsx         # Root layout with Aphoria branding
├── components/
│   ├── corpus/            # Corpus browser components
│   ├── scans/             # Scans panel components
│   ├── claims/            # Claims management 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 Backend: applications/aphoria/ - Rust CLI and extractor engine
  • StemeDB Dashboard: Port 18188 - Database admin dashboard
  • StemeDB API: Port 18180 - Backend API

Development

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