Files
local 5b027eb0db feat: add extraction schema, sidebar nav, few-shot prompting, and prompt settings
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>
2026-04-06 23:39:23 +01:00

1.7 KiB

MODIFIED Requirements

Requirement: Chat endpoint proxies to Responses API

The API backend SHALL expose POST /api/chat that accepts a ChatRequest containing messages, an optional system prompt, and optional model settings. The request is processed using a Semantic Kernel chat completion service. When a system prompt is provided, it SHALL be added as the first system message in the ChatHistory. When model settings are provided, non-null values SHALL be applied to the execution settings. A separate POST /api/chat/extract endpoint SHALL handle extraction-specific requests with few-shot prompting.

Scenario: Successful chat request with system prompt

  • WHEN the client sends a POST to /api/chat with messages and a system prompt
  • THEN the API creates a ChatHistory with the system prompt as the first message, followed by the conversation messages, and processes them through Semantic Kernel

Scenario: Successful chat request with model settings

  • WHEN the client sends a POST to /api/chat with messages and model settings (e.g., Temperature=0.3)
  • THEN the API applies the settings to OpenAIPromptExecutionSettings before calling the Semantic Kernel

Scenario: Successful chat request without optional fields

  • WHEN the client sends a POST to /api/chat with only messages (no system prompt, no settings)
  • THEN the API processes the request with default behavior (no system message, default execution settings)

Scenario: Extraction request routed to dedicated endpoint

  • WHEN the client sends a POST to /api/chat/extract with email HTML
  • THEN the API uses the few-shot ChatHistory prefix and extraction tools instead of the general chat configuration