5 — Status Model & Start Review (MVP)
- Dominant language
- JavaScript
- Stars
- 23
- Forks
- 62
- Avg merge
- 24m
- Merged PRs (30d)
- 1
Description
**Problem (WHY)**
Analysts need a thin, reliable way to move a **filing request** into review with clear, consistent states — without parked work or extra tooling. Keeping flow simple helps **stop mail-ins** and avoids adding to the scanning backlog.
**Epic Description (WHAT — MVP)**
Define the **status model** and make **start of review automatic** when the analyst **Assigns to me** (from Unassigned). Record **minimal audit** on each change. This epic does **not** handle final decisions or outcomes.
---
## Statuses vs Actions (MVP)
### A) Statuses (nouns)
| Status (exact) | When it appears (MVP) | Set by / Where |
|---|---|---|
| `New` | Initial state before an analyst takes ownership | System / Intake |
| `In Review` | **Automatically** when analyst **Assigns to me** and current status is `New` | **Epic 5** |
| `Filed` | After **Approve** outcome is realized | **Epic 8** |
| `Rejected` | After **Reject** outcome is realized | **Epic 7** |
### B) Actions (verbs)
| Action (exact) | Who | Allowed from | Side-effects (WHAT, not HOW) | Resulting status |
|---|---|---|---|---|
| **Assign to me** (Epic 2) | Registry Analyst | **Unassigned** | Auto-start review; write minimal audit (**who/when/from→to**) | `In Review` (Epic 5) |
| **Approve** (Epic 6) | Assigned analyst | `In Review` | Persist decision + minimal audit; hand off to **Epic 8** to file & issue verification statement | `Filed` (Epic 8) |
| **Reject** (Epic 6) | Assigned analyst | `In Review` | Capture **short reason** (coded list), persist decision + minimal audit; hand off to **Epic 7** to refund & notify | `Rejected` (Epic 7) |
> **No Hold in MVP.** Use **nouns** for statuses and **verbs** for actions.
> MHR History / Historical Manufactured Home Information are handled in **Epics 7 & 8**, not here.
---
## Design
https://www.figma.com/design/rbiPKU4yAW8PqDDjFRBVKQ/Intake-Queue?node-id=2633-1577
## Context
- Entry: **Filing Request — Review/Details** page.
- Preconditions: Request is **Unassigned** or **assigned** (Epic 2 governs assignment).
- Outcome (this epic): On **Assign to me**, if status is `New`, set **`In Review`** automatically with minimal audit.
## MVP — In
- Show the **current status** using the exact labels across **queue and details**.
- When **Assign to me** completes (Unassigned → Me) **and** current status is `New`, **set status to `In Review` automatically**.
- Keep status **read-only** for non-assignees.
- Write **minimal audit** for each status change (**who / when / from→to**).
## MVP — Out
- Any decision transitions (`In Review → Filed/Rejected`) — owned by **Epic 6** with hand-off to **Epics 7/8**.
- **Hold**, reminders/follow-ups, reopen.
- Notes UI (the short **Reject reason** is captured in **Epic 6**).
- Timelines/history UI, dashboards, bulk changes.
- Notifications/letters, retries/appeals, refunds.
## Goals (outcomes)
- Move a filing request into **In Review** the moment the analyst takes ownership.
- Keep labels **consistent and exact** across all surfaces.
- Provide **just enough audit** to support accountability without process bloat.
## Risks & Mitigations
- **Race: two analysts assign at once** → rely on **Epic 2** conflict handling; this epic is **event-driven** from assignment.
- **Label drift** → lock exact labels here and enforce via **Story 5.2**.
## Roles & Triggers
- **Role:** Registry Analyst (staff).
- **Trigger:** **Assign to me** (Epic 2) when status is `New` → auto change to **`In Review`**.
## Dependencies
- **Epic 2** — assignment enforcement & conflicts.
- **Epic 1** — consistent status display in the queue.
- **Epic 6** — records **Approve/Reject** decision; **Epics 7/8** realize outcomes.
## Compliance & Accessibility Guardrails (WHAT only)
- **FOIPPA:** Record **only minimal audit** in this epic; the **Reject reason** is staff-only and captured with the decision in **Epic 6**.
- **WCAG 2.2 AA basics:** clear text labels, keyboard-operable actions, visible focus, and programmatic status updates announced to assistive tech.
## Linked Stories
- **5.1 — Auto-change to `In Review` on self-assignment (assigned analyst only)**
- **5.2 — Reflect status consistently (queue & details; read-only for non-assignees)**
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the Filing Request — Review/Details entry point and review linked Stories 5.1 and 5.2, along with the queue and the supplied Figma design. Trace the existing assignment flow and status display before confirming that self-assignment changes New to In Review, labels match across surfaces, non-assignees cannot edit status, and minimal audit data is recorded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100