Overhaul extraction pipeline with new TradeItem model, conversation flow, and dedicated extraction endpoint. Add sidebar navigation with NavMenu component and landing page. Introduce few-shot prompting service and tests. Add prompt settings and email upload specs. Update OpenSpec tooling with improved export-spec and extract-feature commands. Archive completed changes and export full specs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
58 lines
2.3 KiB
Markdown
58 lines
2.3 KiB
Markdown
## Purpose
|
||
|
||
Define the UI controls for configuring system prompt and model parameters — tabbed layout, prompt editor, and settings controls.
|
||
|
||
## Requirements
|
||
|
||
### Requirement: System prompt editor tab
|
||
|
||
The chat page SHALL include a "System Prompt" tab with a multi-line text area where the user can enter a system prompt. The system prompt value SHALL persist across tab switches within the same session.
|
||
|
||
#### Scenario: User enters a system prompt
|
||
|
||
- **WHEN** the user navigates to the System Prompt tab and types text
|
||
- **THEN** the text is stored in the component state and included in the next chat request
|
||
|
||
#### Scenario: System prompt survives tab switch
|
||
|
||
- **WHEN** the user enters a system prompt, switches to the Chat tab, then switches back
|
||
- **THEN** the system prompt text is unchanged
|
||
|
||
### Requirement: Model settings tab
|
||
|
||
The chat page SHALL include a "Model Settings" tab with controls for Temperature, TopP, and MaxTokens. Each control SHALL display its current value and allow adjustment within valid ranges.
|
||
|
||
#### Scenario: Temperature control
|
||
|
||
- **WHEN** the user adjusts the Temperature control
|
||
- **THEN** the value is constrained to 0.0–2.0 and included in the next chat request's settings
|
||
|
||
#### Scenario: TopP control
|
||
|
||
- **WHEN** the user adjusts the TopP control
|
||
- **THEN** the value is constrained to 0.0–1.0 and included in the next chat request's settings
|
||
|
||
#### Scenario: MaxTokens control
|
||
|
||
- **WHEN** the user sets the MaxTokens value
|
||
- **THEN** the value is constrained to 1–4096 and included in the next chat request's settings
|
||
|
||
#### Scenario: Default values
|
||
|
||
- **WHEN** the user has not changed any model settings
|
||
- **THEN** the controls show default values (Temperature: 1.0, TopP: 1.0, MaxTokens: empty/unset) and no overrides are sent to the API
|
||
|
||
### Requirement: Tabbed page layout
|
||
|
||
The chat page SHALL use MudTabs with three tab panels: "Chat" (the existing conversation UI), "System Prompt" (the prompt editor), and "Model Settings" (the parameter controls).
|
||
|
||
#### Scenario: Chat tab is default
|
||
|
||
- **WHEN** the page loads
|
||
- **THEN** the Chat tab is active and the conversation UI is displayed
|
||
|
||
#### Scenario: Tab switching
|
||
|
||
- **WHEN** the user clicks a different tab
|
||
- **THEN** the corresponding panel is displayed and the previous panel is hidden but retains its state
|