Configuration Console¶
UI ID: UI-CONFIG-001 (umbrella — individual screens get their own IDs as they are designed)
Status: Draft — scaffolded alongside ADR-0066. Screens filled in under CVN-N008-EA stories.
Introduced by: CVN-N008 / CVN-N008-EA (epic to be opened after Need committee PROCEED)
Figma project: TBD — project to be created, structured per ADR-0066 §Alternatives rejected (7 canonical pages)
Purpose¶
The Configuration Console is the operator's primary write surface for every pipeline parameter (~50-70 CVN_* keys in ftf_config.base_env). It replaces the legacy Streamlit admin tool (see CVN-N008 §2.2). The Console is also the read surface for FTF run history, audit trail, and (in the Advanced increment) the real-time state of paper / live trading workers.
High-level information architecture¶
At the umbrella level the Console exposes four areas. Individual screens under each area get their own UI-CONFIG-<nnn> ID and their own MkDocs page.
flowchart LR
Home[/"/"/] --> Config[/"/config/{env}"/]
Home --> Runs[/"/runs"/]
Home --> History[/"/history"/]
Home --> Admin[/"/admin/catalog"/]
Home --> Dashboard[/"/dashboard"/]
| Route | Purpose | Epic | Planned UI ID |
|---|---|---|---|
/config/{env} |
Parameter editor (edit active configuration for an environment) | EA | UI-CONFIG-002 |
/runs |
FTF run history + PDF download | EA | UI-CONFIG-003 |
/history |
Audit trail + diff + restore | EA | UI-CONFIG-004 |
/admin/catalog |
Variable catalog administration (add, edit LoV, deprecate) | EB | UI-CONFIG-005 |
/dashboard |
Real-time worker status (per-worker config_version_id, lag, apply events) |
ED | UI-CONFIG-006 |
Placeholder per-screen page — parameter editor (UI-CONFIG-002)¶
The template below is the canonical shape every screen page will take once CVN-N008-EA stories open. It is included here as a reference so the first story can fill in the blanks rather than invent the structure.
# Parameter Editor
**UI ID**: UI-CONFIG-002
**Status**: Draft
**Introduced by**: CVN-N008-EA-US2
**Figma frame**: <link>
## Purpose
Operator edits the active configuration of `CVN_*` parameters for a selected environment.
## User flow
See FLOW-CONFIG-001 in user-flows.md.
## Components
- CMP-CONFIG-001 — ConfigPanel (groups parameters by category)
- CMP-CONFIG-002 — ConfigSelect (type-aware input per parameter)
- CMP-CONFIG-003 — ValidationBanner (server errors)
- CMP-CONFIG-005 — DiffViewer (before/after preview on Save)
- CMP-CONFIG-006 — ApprovalDialog (only for critical parameters)
## Implementation
- Next.js route: `/config/{env}` (App Router) — **planned**, not yet on `main`
- Storybook stories: `ConfigPanel.stories.tsx`, `ConfigSelect.stories.tsx`, … — **placeholders** until the first EA story ships
- API contract: `/api/config/{env}` with Zod schemas shared client/server — **planned target**. The existing backend exposes a different surface (`api/routers/strategy.py`, keyed by symbol, Pydantic models); the migration to the environment-keyed Zod-validated contract is a CVN-N008-EA story, not the current state
## Acceptance criteria
- Mobile usable at `sm` viewport
- Client + server Zod validation on every input
- Save action disabled until diff is non-empty
- Critical-parameter Save routes through ApprovalDialog
- Audit trail entry written on every successful Save
Cross-references¶
- System architecture for this Console: CONFIGURATION_PLATFORM.md
- Design system components it relies on: design-system.md
- User flows: user-flows.md
- Binding ADR: ADR-0066