# Request Board

## What It Owns

The request board is the launcher-side intake, queue, moderation, and review surface for product requests. It stores raw submissions, structured analysis, active request rows, and admin-only review actions.

## Core Behaviors

- Save public request submissions.
- Keep raw source text alongside normalized active requests.
- Store structured analysis metadata for pending requests.
- Filter by status and standardized tags.
- Protect admin review actions behind server-side password checks.
- Promote reviewed request items into active request rows.

## Important Endpoints

- `GET /api/launcher-requests`
- `POST /api/launcher-requests`
- `PATCH /api/launcher-requests/:requestId`
- `DELETE /api/launcher-requests/:requestId`
- `POST /api/launcher-requests/:requestId/process-analysis`
- `POST /api/launcher-requests/process-pending`
- `GET /api/launcher-request-meta`
- `POST /api/admin/auth-check`

## Important Data Shape

Request records can now contain:

- public fields such as title, category, tags, summary, and implementation notes
- raw `sourceText`
- `analysis.state`
- `analysis.items[]`
- per-item review rationale
- per-item possible options
- structured affected-system and affected-file hints

## Relationships

- Depends on `Launcher Home` for the public site presentation.
- Depends on the KB under `docs/kb/` for model-grounded request parsing.
- Depends on the request-analysis worker for automated triage.

## Triage Hints

Requests about queue automation, moderation, review UI, request splitting, approval workflows, structured tags, and admin tooling should start here.
