78aaddb2b5
- Add frontend-foundation change (FN-005) with 46 tasks - Add deployment-config change (FN-006) with 27 tasks - Add runfusion-poc/opencode-poc change (FN-008) with 25 tasks - Add config-secrets change (FN-009) with 31 tasks - Add codeserver-spawn change (FN-010) with 38 tasks - Include project specsheet and configuration - Archive completed deployment-config change
1.1 KiB
1.1 KiB
ADDED Requirements
Requirement: API client handles all backend endpoints
The system SHALL provide a typed HTTP client for all backend API endpoints.
Scenario: GET request
- WHEN the client calls api.get('/projects')
- THEN it sends a GET request to /api/v1/projects
- AND returns typed Project[] data
- AND includes the Authorization header with the current access token
Scenario: POST request
- WHEN the client calls api.post('/projects', data)
- THEN it sends a POST request with JSON body
- AND returns typed Project data
Scenario: Error handling
- WHEN a request returns 4xx or 5xx
- THEN the client throws an ApiError with status code and message
- AND the error can be caught and displayed to the user
Requirement: API client supports request/response types
The system SHALL use TypeScript interfaces matching the backend Pydantic schemas.
Scenario: Type safety
- WHEN a developer uses the API client
- THEN request and response types are checked at compile time
- AND mismatches produce TypeScript errors