Fill Gaps — IRIS Tactical Mode
What Fill Gaps does
Fill Gaps is the third step in the recommended roster workflow — after Apply Master Roster and optional Generate with IRIS. It is designed for tactical gap-filling: you already have a partial roster (from master patterns, manual edits, or leave), and you need to staff the remaining empty slots quickly.
Where Generate with IRIS builds (or rebuilds) a roster holistically with fairness as a primary goal, Fill Gaps scans only unfilled vacancies and ranks eligible staff per slot. IRIS calls this Tactical Mode — more aggressive about coverage, still respecting craft groups and hard safety rules.

When to use it
| Situation | Best tool |
|---|---|
| Starting a roster period from scratch | Generate with IRIS |
| Master roster applied but leave / gaps remain | Fill Gaps |
| A few vacant shifts after publishing edits | Fill Gaps |
| You want full-period fairness optimisation | Generate with IRIS |
| You want to staff specific holes without reshuffling the rest | Fill Gaps |
Typical workflow: Apply Master Roster → Fill Gaps → Roster Health → Publish.
How to run Fill Gaps
- Go to The Living Roster (Sidebar → The Living Roster)
- Select a single stream from the Intelligence Bar dropdown (required)
- Click Fill Gaps in the Intelligence Bar
- Choose a Scope — Current View, 1 Week, 2 Weeks, 3 Weeks, or 4 Weeks
- Review the ranked suggestions grouped by priority tier
- Check or uncheck rows, then click Apply Selected
If every vacancy is already filled in the scope, IRIS reports "All positions are filled — no gaps to fill."
Priority tiers (how staff are ranked)
For each unfilled slot, IRIS ranks eligible staff in this order:
| Priority | Label | Meaning |
|---|---|---|
| 1 | Requested This Shift | Staff submitted an Open Shift Request for this vacancy |
| 2 | Preferred hours | Staff declared Preferred availability that covers this shift |
| 3 | Available hours | Staff declared Available availability that covers this shift |
| 4 | No hours declared | Eligible staff with no My Availability set for this time |
Click the tier badges at the top of the modal to select or deselect an entire group at once.
What is selected by default
- Open Shift Requests, Preferred, and Available suggestions are pre-selected (checked).
- No hours declared suggestions are shown but not selected — you must opt in explicitly, same philosophy as the Generate with IRIS preview.
Uncheck any row you do not want applied. Only checked assignments are written to the grid.
How Fill Gaps differs from Generate with IRIS
Both tools use IRIS, but the algorithm and intent differ:
| Generate with IRIS | Fill Gaps (Tactical Mode) | |
|---|---|---|
| Scope | Entire date range — all vacancies | Only unfilled slots |
| Goal | Balanced roster with fairness optimisation | Coverage first — fill holes without reshuffling existing assignments |
| Mode | Conservative — may leave gaps if no fair option exists | Tactical — more willing to suggest staff to close coverage |
| Availability match | Requires ≥90% shift coverage for preferred/available windows | Allows partial overlap (e.g. 60% of shift covered) and surfaces coverage % |
| Fairness | Strong weight on equitable distribution (weekends, nights, hours) | Weaker fairness weight — suggests whoever best fits the slot |
| Undeclared staff | Included in generation but not auto-selected in preview | Included as suggestions but not auto-selected |
| Preview UI | AI-Generated Roster Preview modal (date-grouped list) | Fill Gaps modal (tier-grouped, per-gap suggestions) |
| Best for | Blank or near-blank periods | Refinement after master roster, leave, or manual edits |
Hard rules always apply to both — minimum rest hours, craft group eligibility, approved leave blocks, and inactive periods are never violated.
Partial availability (Fill Gaps only)
If a staff member's preferred or available window only partly overlaps a shift (e.g. available 08:00–12:00 for an 08:00–16:00 shift), Fill Gaps can still suggest them and shows the coverage percentage. Generate with IRIS requires near-full shift coverage and would skip that candidate.
This makes Fill Gaps useful when you need pragmatic coverage and can review partial matches manually.
Leave-aware hours
Fill Gaps accounts for approved leave when calculating fortnight hour targets. Staff on partial leave show adjusted hour projections so you can see if assigning them would push them near their max.
After applying
Applied assignments appear as draft (purple) cells on the Living Roster. Fill Gaps supports Undo immediately after apply — same pattern as Generate with IRIS.
Run Roster Health next to catch any remaining conflicts, rule warnings, or coverage gaps.
Related guides
- The Intelligence Bar — where Fill Gaps lives alongside Apply Master Roster and Generate with IRIS
- How to Generate a Roster with IRIS — full-period generation and the AI preview modal
- Hard Rules vs Soft Rules — what IRIS can and cannot override in Tactical Mode