---
module: recon.recon-rules
title: Recon Rules
tab: Testing
order: 35
audience: dev
---

Frontend test checklist for **Recon Rules** (`recon.bcos.dev`). Click through in the UI and mark each row Pass or Fail.

## Set up
Log in at **recon.bcos.dev** — test accounts (all password `Passw0rd-d3v!`):

| Login | Role | Sees |
|-------|------|------|
| `bcos_a@bcos.dev` | Admin | Full access to Recon Rules |
| `msp_a@msp1.bcos.dev` | MSP admin | Full access to Recon Rules |
| `customer_a@customer1.bcos.dev` | Customer | No access — this screen is admin-only |

This module isn't tied to institutions or devices — the rules apply fleet-wide, so no sim device list is needed here.

## What to test

| # | Do this | ✅ Pass if |
|---|---------|-----------|
| 1 | As `msp_a`, open **Recon Rules** | A table loads with columns **Format / Detection Sentinel / Slot Strategy / Deduplication / Pre-Block End** and a count like "N rules" above it |
| 2 | Look at the **Detection Sentinel** column | One row (the catch-all format) shows **fallback** instead of a sentinel value |
| 3 | Click any row | A panel slides in from the right showing that format's details plus a **Raw Configuration (YAML)** box below |
| 4 | In the panel, click **Edit** | The YAML box becomes an editable text box, and the buttons change to **Cancel / Save** |
| 5 | Make a small text change, then click **Cancel** | The panel goes back to view mode and your change is **not** kept |
| 6 | Click **Edit**, make a valid change, click **Save** | A success message appears and the YAML shown now includes your change |
| 7 | Click **Edit**, type something that isn't valid YAML (e.g. delete a colon), click **Save** | A red error banner appears explaining the problem, and you're still in edit mode with your text intact (nothing is lost) |
| 8 | Click **Reload** (not editing) | The YAML box refreshes and shows the last **saved** version |
| 9 | Log in as `customer_a` and try to open **Recon Rules** | You're blocked — no table or rule data appears, not just a missing Edit button |
| 10 | Log in as `bcos_a` and repeat step 1 | Same full view/edit access as `msp_a` — table loads and Edit/Save/Reload all work |

**Report a fail with:** the row #, which login you used, and what you actually saw.
