Sprint Board

Track feature development and bug fixes

Backlog

16

Email Verification

P2

Secure account verification via email. Required for GDPR compliance and enables password resets, invitations, and notifications. 24-hour token expiration with …

user_management

Transcript Upload & Processing

P2

Upload session transcripts (simple [Speaker]: Message format) and auto-trigger entity extraction. Preview parsed messages before upload with progress indicators.

chronicles

Mobile Responsive Improvements

P2

Full mobile CSS audit with keyboard shortcuts, empty states, tooltips, and help documentation.

ui

Loading States & Error Messages

P2

Comprehensive loading spinners/skeletons for all async actions. Clear, actionable error messages with proper user guidance.

ui

Campaign Templates

P2

Pre-built campaign starters, sample campaigns for new GMs, entity templates, and keyboard shortcuts.

worldbuilding

Advanced Transcript Formats

P2

Support for Discord exports, Foundry VTT logs, Roll20 logs, and audio transcription via Whisper API.

chronicles

Admin Dashboard

P2

Superuser dashboard showing AI usage metrics, token consumption, cost tracking, and historical usage graphs for system monitoring and optimization.

ai

Plot Thread Tracking

P2

Create and track plot threads, link entities to plots, monitor resolution status, and visualize plot thread maps.

worldbuilding

Compendium: Master-Detail Split Layout (Pattern A)

P1

Sprint 1, high priority. Move from stacked vertical layout to a master-detail split. Search/filter no longer consumes 200px before content. …

layout sprint-1 compendium

Player Management: Consolidate Players + Stats

P2

Overview page was removed (commit 7a221df). Campaign landing now redirects to compendium. Rethink as player management improvement — stats are …

layout sprint-2 campaign

Library: Document Shelf Rows + Upload Modal (Pattern B)

P2

Sprint 2, medium priority. Replace vertical category cards with horizontal shelf rows. Upload zone becomes a modal. ## Requirements (from …

layout sprint-2 library

Study: GM Study Layout (Pattern A)

P2

Sprint 2, medium priority. Build out the Study page from its current empty state into the GM story cockpit. Campaign …

layout sprint-2 study

Notes: Split-Pane Inbox Layout (Pattern A, 2-col)

P3

Sprint 3, low priority. Replace full-page centered Inbox card with email-client split-pane pattern. ## Requirements (from layout-map.html #08-09) ### Notes …

layout sprint-3 notes

Profile/Settings: Merge Cards, Centered Form (Pattern C)

P3

Sprint 3, low priority. Merge the two side-by-side parchment cards into one centered form. ## Requirements (from layout-map.html #07) ### …

layout sprint-3 profile

Forms to Modals: Campaign Create/Edit, Note Compose

P3

Sprint 3, low priority. Convert full-page form views into modals or inline edit patterns. ## Requirements (from layout-map.html #11, #13, …

layout sprint-3 forms

Admin + Auth + About: Hearthfire Token Updates

P3

Sprint 3, low priority. Token/style updates only for pages whose layout is already correct. ## Admin Pages (#23-24, Pattern D) …

layout sprint-3 admin auth

Ready

1

Kanban/Task Board: Horizontal Lanes, Full-Width (Pattern B)

P1

Sprint 1, high priority. The most dramatic layout change -- columns go from vertically stacked/wrapped to horizontal full-width lanes. ## …

layout sprint-1 kanban

In Progress

0

No tickets in this column

Review

0

No tickets in this column

Done

54

Password Management

P2

Users can change their passwords securely through the profile page with proper validation.

user_management

User Registration & Authentication

P2

Secure user registration with email/password authentication, login/logout functionality, and session management.

user_management

Profile Management

P2

Edit user profile information including display name and preferences.

user_management

Campaign Creation & Management

P2

Create, edit, and delete campaigns with story seeds, themes, and foundations. Full CRUD operations for campaign worlds.

worldbuilding

Campaign Members & Players

P2

Manage campaign participants with join/leave functionality and player invitation system.

worldbuilding

Multi-Format Document Upload

P2

Upload campaign documents in multiple formats (.md, .txt, .pdf, .docx) up to 10MB. Documents stored in PostgreSQL with full metadata …

worldbuilding

AI-Powered Entity Extraction

P2

Claude Sonnet 4 integration that automatically extracts characters, locations, factions, threats, hooks, and items from uploaded documents. Processes ~220 entities …

ai

Entity Review & Approval Workflow

P2

Review extracted entities before importing to knowledge graph. Approve, reject, or skip entities with server-side pagination (20 entities/page). Track imported …

worldbuilding

Batch Import to Knowledge Graph

P2

Import approved entities to Memgraph graph database with full relationship tracking. Handles deduplication and provides detailed import statistics.

worldbuilding

Entity CRUD Operations

P2

Create, update, and delete entities (characters, locations, factions, items, etc.) through GraphQL API. Full property management and relationship tracking.

worldbuilding

Entity Search & Discovery

P2

Search entities by name, type, and properties. Browse your campaign world with server-side pagination for optimal performance.

worldbuilding

Relationship Management

P2

Define and track relationships between entities. Characters can belong to factions, be located in places, and have complex relationship networks.

worldbuilding

Entity Cards with Relationships

P2

Beautiful entity detail cards showing all properties and connected relationships. Visual representation of your knowledge graph.

ui

Server-Side Pagination

P2

GraphQL-powered pagination system with page/pageSize parameters. Optimized queries with separate COUNT operations. Applied to World Explorer and Entity Review pages …

ui

Session Management

P2

Create and close game sessions with participant tracking. Sessions track all messages and provide a collaborative space for gameplay.

chronicles

Session Chat Interface

P2

Real-time messaging interface for game sessions. Send messages, view chat history, and collaborate with players during gameplay.

chronicles

System Monitoring Dashboard

P2

Admin dashboard showing database status, World Engine health, and system metrics. Superuser-only access for monitoring production health.

admin

Prompt Administration (Superuser)

P2

Advanced prompt management interface for AI templates. Edit prompts, manage versions, test with AI, and sync from filesystem. Superuser-only access.

ai

Responsive Pagination Components

P2

Accessible, mobile-friendly pagination with proper keyboard navigation, ARIA labels, and visual feedback.

ui

Terra Incognita Design System

P2

Comprehensive style guide with exploration and cartography philosophy. Parchment theme with antique map aesthetic. Full BEM methodology throughout the application.

ui

Roadmap & Feature Suggestions

P2

Public roadmap showing completed, in-progress, and planned features. Community feature suggestion form with voting system.

ui

About Page

P2

Public-facing elevator pitch explaining Terra Incognita's value proposition, features, and philosophy. Accessible to all visitors.

ui

System-Level API Keys (Remove BYOK)

P2

Remove "bring your own API key" complexity. Use system Anthropic API key with per-user usage tracking for simplified UX and …

ai

Prod API Auth Test

P3

Verifying API key auth works in production

Split main.css into token/base/component/layout files

P1

Extract the 3,800-line monolith static/css/main.css into 4 focused files: - tokens.css: :root block (design tokens) + @import for fonts (~120 …

css design-system

Consolidate duplicate relationship-graph.css

P2

relationship-graph.css (232 lines) is byte-identical in two apps: - apps/campaign_management/static/campaign_management/css/relationship-graph.css - apps/compendium/static/compendium/css/relationship-graph.css Move canonical copy to static/css/relationship-graph.css (global shared). Update …

css cleanup

Eliminate inline style= attributes from templates

P2

Replace 51 inline style= attributes across 14 templates with BEM utility classes or component modifiers. Worst offenders: - user_management/detail.html (16 …

css cleanup

Audit and reduce !important declarations

P3

Review 44 !important declarations across CSS files. Breakdown: - 20 legitimate utilities (.u-hidden, .sr-only) — keep - 24 in relationship-graph.css …

css cleanup

Create tokens-v2.css + wire into base.html

P2

Define all 120+ --ti-* semantic tokens with v2 target values (not aliases). Add [data-theme="hearthfire"] block. Update base.html to load tokens-v2.css …

css design-system

Create tokens-v2.css + wire into base.html

P2

Define all 120+ --ti-* semantic tokens with v2 target values. Add [data-theme=hearthfire] block. Update base.html to load tokens-v2.css and set …

css design-system

Migrate isolated app CSS to --ti-* tokens

P2

Swap all v1 token references to --ti-* tokens in kanban.css, notes.css, dashboard.css, prompt-admin.css. Spacing uses v2 values (--ti-space-md = 12px). …

css design-system

Migrate workbench CSS to --ti-* tokens

P2

Swap all v1 token references in workbench.css and graph styles. Entity cards, graph panel, sidebar, smart filters. Graph node colors …

css design-system

Migrate components.css to --ti-* tokens

P2

The big one. ~2,380 lines with highest token density. Buttons, cards, forms, modals, tabs, tables, messages, filter UI, loading states. …

css design-system

Migrate layout.css + base.css to --ti-* tokens

P2

~1,290 lines combined. layout.css: nav, grids, responsive, hero, accessibility. base.css: reset, body, headings, links. Typography renders with correct --ti-font-* and …

css design-system

Migrate remaining app CSS to --ti-* tokens

P2

Sweep remaining app-level CSS: campaigns.css, relationship-graph.css, situation_room.css, compendium CSS, library CSS, session CSS, user management CSS. grep for v1 tokens …

css design-system

Remove v1 tokens + swap fonts to Crimson Pro / Source Sans 3

P2

Final cleanup: delete v1 token definitions from tokens.css, swap font imports (Crimson Text -> Crimson Pro, Open Sans -> Source …

css design-system

Delete dead prompt-platform.css + add missing tokens

P1

Pre-work for hardcoded color tokenization: 1. Delete prompt-platform.css (dead file, not loaded by any template, 1151 lines, ~84 hardcoded colors) …

css design-system

Tokenize small/clean CSS files

P2

Batch 1: Confirm and tokenize remaining hardcoded colors in: - campaigns_layout.css (3 hex, 1 rgba) - campaign-time.css (2 hex) - …

css design-system

Tokenize document_view.css + review_entities.css

P1

Batch 2: Replace ~44 hardcoded colors. - document_view.css (~31 hex): CRITICAL — renders on light card surface, must use --ti-text-on-card …

css design-system

Tokenize typeahead + profile + library index CSS

P2

Batch 3: Replace ~41 hardcoded colors. - typeahead.css (~14 hex): light-bg dropdown, remove @media (prefers-color-scheme) dark block (tokens handle themes) …

css design-system

Tokenize relationship-graph + notes + world-builder CSS

P1

Batch 4: Replace ~87 hardcoded colors (many kept hardcoded). - relationship-graph.css (~19 hex, 4 rgba): 8 entity-type colors tokenize, vis.js …

css design-system

Tokenize components + campaigns + dashboard CSS

P1

Batch 5: Replace ~94 hardcoded colors (largest batch). - components.css (~36 hex, 39 rgba): speaker message themes, parchment gradients (KEEP …

css design-system

Post-work: layout.css + JS entity colors + verification

P2

Post-work after all batches complete: 1. layout.css cleanup (~4 hex, 13 rgba — mostly structural shadows) 2. Migrate JS entity …

css design-system

Theme Switcher UI

P1

Add user-facing theme switcher to the navbar — dropdown or toggle to switch between Hearthfire, Neonwire, and Eldritch themes. All …

css design-system

Font Metrics Audit

P2

Crimson Pro and Source Sans 3 were swapped in during Phase 1 (commit 2b17155) but font metrics were not audited. …

css design-system

Card Shadow Theming

P2

5 structural shadows in components.css .card use Hearthfire-specific color tints that will look wrong on Neonwire/Eldritch dark themes. Affected lines …

css design-system

Workbench Entity CRUD

P1

Add entity create, edit, and delete functionality to the workbench app. Currently these operations only exist in the compendium app, …

workbench worldbuilding

Workbench Timeline View

P2

Port the vis-timeline campaign timeline from compendium world-builder to the workbench app. This is the last cross-app feature needed before …

workbench worldbuilding

Delete dead prompt-platform.css

P3

prompt-platform.css is a dead file — 1,151 lines with ~84 hardcoded hex colors, not loaded by any template. Verification before …

css cleanup

Layout Shell: Shared Primitives (Nav, Sub-Nav, 3-Col Grid, Collapsible Panels)

P1

Sprint 0 foundation ticket. Build the shared layout primitives that every page will use. ## Requirements (from layout-map.html) ### Nav …

layout sprint-0 foundation

Campaign Shell: Tab Bar in Sub-Nav + Shared Campaign Layout

P1

Sprint 0 foundation. Build the campaign shell that Overview, Compendium, Workbench, Study, and Library all share. ## Requirements (from layout-map.html) …

layout sprint-0 foundation

Home Dashboard: Command Center Layout (Pattern A)

P1

Sprint 1, high priority. Replace the centered 2x2 campaign card grid with the 3-column Command Center layout. ## Requirements (from …

layout sprint-1 dashboard

Workbench Layout: Entity Panel + Full-Height Graph (Pattern B)

P1

Sprint 1, high priority. Restructure the Workbench to match the layout proposal mockup -- entity list moves into a collapsible …

layout sprint-1 workbench

Prompt Admin: Grouped Master-Detail Layout (Pattern A, 2-col)

P2

Sprint 2, medium priority. Move from flat scrolling list to grouped master-detail with inline editing. ## Requirements (from layout-map.html #10) …

layout sprint-2 prompt-admin