# Request Board

## What It Does

The request board lives on the launcher and stores lightweight user submissions. It currently supports pending and active request states, filtering, expansion of active items, and deletion with confirmation.

## Key Files

- `src/WorldshaperLauncher.tsx`
- `server.js`
- `data/launcher_requests.json`

## Endpoints It Uses

- `GET /api/launcher-requests`
- `POST /api/launcher-requests`
- `PATCH /api/launcher-requests/:requestId`
- `DELETE /api/launcher-requests/:requestId`

## Important Data Shape

Current request records include:

- `id`
- `sourceSubmissionId`
- `title`
- `status`
- `category`
- `tags`
- `sourceText`
- `summary`
- `implementationNotes`
- `createdAt`
- `updatedAt`

## Invariants And Constraints

- New submissions enter as pending unless promoted.
- One raw submission may contain multiple real feature requests.
- Active requests should be normalized, titled, and tagged.
- Deletion is destructive and should remain explicit.

## Common Request Themes

- parse and split user submissions
- request tags and filtering
- moderation and cleanup
- queue automation and confidence review

## Triage Questions

- Is the user asking to change request storage, presentation, or parsing behavior?
- Should one submission become many active requests?
- Is the request really a bug report or a feature idea?
