Bench¶
Tier: Motion · Requirement module: Supervisory Review · Status: ✅ Prototyped
Purpose¶
Bench is where a supervisor sits to decide. It owns the triage queue, reviewer assignment, the checklist a reviewer must clear, the query loop with the firm, and the outcome that closes a review.
The engine's job is to make the decision structured and gated: a reviewer cannot approve a return while a validation failure stands or a query is open, and every outcome carries a reason into the audit trail.
Scope¶
| Capability | Status | Notes |
|---|---|---|
| Triage queue | ✅ | Risk-ordered register with filters by status |
| Reviewer assignment | ✅ | Assigned reviewer per return; unassigned is itself a risk driver |
| Checklist review | ✅ | Completeness, consistency, thresholds, evidence, outcome |
| Queries to firms | ✅ | Threaded, bound to a field, returns the submission to the firm |
| Approval and rejection | ✅ | Gated on cleared checklist and no standing failures |
| Risk flags | ✅ | Raises a flag into Prism without opening a case |
| Management signoff | ⬜ | Second supervisor above a configured materiality |
| Audit history | ✅ | Rendered from Seal on the return |
The checklist and its gate¶
Five items, taken directly from the requirement's reviewer checklist:
| Item | Reviewer action |
|---|---|
| Completeness | Confirm all mandatory sections, schedules, and attachments are present |
| Consistency | Compare figures against prior periods and linked returns |
| Thresholds | Review automated alerts, ratios, breaches, and exceptions |
| Evidence | Check supporting documents and management explanations |
| Outcome | Approve, reject, request clarification, raise a risk flag, or open an enforcement case |
Approval requires all items cleared and zero standing FAIL results from
Assay. The gate is enforced in the engine, not merely disabled in the UI — the
approve endpoint re-evaluates it, because a control that only exists in the front-end is not a
control.
ADVISORY results do not block. That is the point of the severity distinction.
Outcomes¶
┌──► APPROVE ──────► obligation ACCEPTED, archived for the period
│
├──► CLARIFY ──────► query raised, submission returns to firm,
review decision ────┤ prior version retained
│
├──► REJECT ───────► obligation reopened, reason cited to firm
│
├──► RISK_FLAG ────► driver into Prism, review continues
│
└──► ENFORCE ──────► case opened in Docket with this return as evidence
Every outcome requires a reason. REJECT, CLARIFY, and ENFORCE require it before the action
can be confirmed; APPROVE and RISK_FLAG accept an optional supervisory note. All five are
sealed with actor, timestamp, and prior state.
The query loop¶
A query is not a comment. It is a state change on the obligation:
- Reviewer raises a query against a field, citing the rule or directive
- The obligation returns to the firm as answerable; the submitted version stays immutable
- The firm responds in the thread, optionally with an amendment (Strata v1.1)
- The query is answered; the reviewer closes it or presses further
- Approval remains blocked while any query is open
This is why the query thread and the version history are the same story viewed twice. A
resubmission that answers a query carries respondsTo and the reviewer sees both together.
Owns¶
- Review assignments and queue state
- Checklist state per review
- Queries, threads, and their status
- Outcomes and the reasons attached to them
- The approval gate
Does not own¶
- Validation results — Assay
- Submission versions — Strata
- Risk scores — Prism, which Bench feeds with flags
- Cases — Docket, which Bench opens but does not run
Open questions¶
- Reviewer capacity and reassignment. Round-robin, risk-weighted, or manual? Unresolved, and it determines whether the triage queue is a work list or a dashboard.
- Four-eyes on approval. The requirement asks for management signoff without specifying a threshold. Materiality is likely a function of firm risk band and reported value, and should be Return Studio configuration rather than code.
Related¶
- Submission lifecycle — the review seen in sequence
- Design language — the review screen's rules
- Docket — where escalation goes