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>
2.1 KiB
2.1 KiB
ADDED 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