Fix critical inaccuracies in Backup Review documentation

Corrected workflow based on user feedback:
- ALL runs must be marked as reviewed (including successes with overrides/tickets)
- Run Checks is THE primary daily tool (not Daily Jobs)
- Added blue badge for override-applied runs (not green)
- Goal: completely empty Run Checks page
- Added bulk review functionality for efficiency
- Rewrote Complete Workflow Example to focus on Run Checks
- Daily Jobs may be deprecated (only for viewing schedules)

Changed files:
- approving-backups.html: Stage 6/7 corrections, new workflow example
- daily-jobs.html: Added blue override badge, clarified secondary role
- run-checks-modal.html: Emphasized primary role, added bulk review
- overrides.html: Blue badge instead of green for overrides

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Ivo Oskamp 2026-02-08 19:37:53 +01:00
parent 5e7080a96c
commit c0fe9e2d4d
5 changed files with 192 additions and 93 deletions

View File

@ -154,9 +154,10 @@
<li>False alarms (email parsing issue, cosmetic warning)</li>
<li>One-time glitches (temporary network hiccup, already resolved)</li>
<li>Acceptable warnings (retry succeeded, minor performance issue)</li>
<li>Successful backups (no issues detected)</li>
</ul>
<p><strong>Action:</strong> Click "Mark as reviewed" in the Run Checks modal.</p>
<p><strong>Action:</strong> Click "Mark as reviewed" in the Run Checks modal, then the run disappears from the Run Checks page.</p>
<h3>Option 2: Create an Override</h3>
@ -168,7 +169,7 @@
<li>Object-specific exceptions (one VM always has warnings due to configuration)</li>
</ul>
<p><strong>Action:</strong> Create an override on the Overrides page. Future matching runs will automatically show as success with an override indicator.</p>
<p><strong>Action:</strong> Create an override on the Overrides page. Future matching runs will automatically show as success with a blue override indicator. <strong>Then mark the current run as reviewed</strong> in the Run Checks modal.</p>
<p>See <a href="{{ url_for('documentation.page', section='backup-review', page='overrides') }}">Overrides & Exceptions</a> for details.</p>
@ -182,7 +183,7 @@
<li>Investigation notes (checked with customer, not actually an issue)</li>
</ul>
<p><strong>Action:</strong> Click "Create Remark" in the Run Checks modal. The remark is linked to the job and shows 💬 in Daily Jobs.</p>
<p><strong>Action:</strong> Click "Create Remark" in the Run Checks modal. The remark is linked to the job and shows 💬 in Run Checks. <strong>Then mark the run as reviewed</strong> - otherwise it will remain visible and can appear incorrectly as failed/warning the next day.</p>
<h3>Option 4: Create a Ticket</h3>
@ -194,32 +195,49 @@
<li>Vendor support needed (backup software bug, licensing issue)</li>
</ul>
<p><strong>Action:</strong> Click "Create Ticket" in the Run Checks modal. The ticket is linked to the job and shows 🎫 in Daily Jobs.</p>
<p><strong>Action:</strong> Click "Create Ticket" in the Run Checks modal. The ticket is linked to the job and shows 🎫 in Run Checks. <strong>Then mark the run as reviewed</strong> - this is required even when creating a ticket, otherwise the run stays visible.</p>
<p>See <a href="{{ url_for('documentation.page', section='backup-review', page='remarks-tickets') }}">Remarks & Tickets</a> for tracking issues.</p>
<div class="doc-callout doc-callout-warning">
<strong>⚠️ Always Mark as Reviewed:</strong><br>
Regardless of which action you take (override, remark, or ticket), you <strong>must always mark the run as reviewed</strong> afterwards. If you don't, the run will remain in the Run Checks list and can show the wrong status the next day (only the first unreviewed status is displayed).
</div>
<h2>Stage 7: Mark as Reviewed</h2>
<p>After handling the issue (or determining no action is needed), mark the run as reviewed:</p>
<p>After handling the issue (or determining no action is needed), mark the run as reviewed. <strong>This is required for ALL runs</strong>, including successful ones.</p>
<h3>What Happens</h3>
<ul>
<li>Click <strong>Mark as reviewed</strong> in the Run Checks modal</li>
<li>Click <strong>Mark as reviewed</strong> in the Run Checks modal (or select multiple runs and mark all at once)</li>
<li>The run is marked with a review timestamp</li>
<li>The run disappears from the unreviewed list in Run Checks modal</li>
<li>The job no longer appears highlighted in Daily Jobs (if all runs are reviewed)</li>
<li>The run disappears from the Run Checks page</li>
<li>A review audit record is created (visible to Admins)</li>
</ul>
<div class="doc-callout doc-callout-info">
<strong>💡 Success Runs Don't Need Review:</strong><br>
Successful backup runs (green badges) are automatically considered reviewed. You only need to manually review warnings and failures.
<strong>💡 Goal: Empty Run Checks Page:</strong><br>
The objective is to have the <strong>Run Checks page completely empty</strong> - this means all runs have been reviewed. Even successful backups must be marked as reviewed, because they haven't been <em>looked at</em>, but they still need to be marked to clear the Run Checks page. You can select multiple runs and mark them all as reviewed at once for efficiency.
</div>
<h3>Bulk Review</h3>
<p>For efficiency, you can mark multiple runs as reviewed simultaneously:</p>
<ol>
<li>Open the Run Checks page</li>
<li>Select multiple run checkboxes</li>
<li>Click <strong>Mark selected as reviewed</strong></li>
<li>All selected runs disappear from the list</li>
</ol>
<p>This is especially useful for successful backups where no investigation is needed - you can quickly clear them to keep the Run Checks page empty.</p>
<h2>Complete Workflow Example</h2>
<p>Here's how a typical backup review scenario unfolds:</p>
<p>Here's how a typical backup review scenario unfolds using the <strong>Run Checks</strong> page (the primary daily workflow):</p>
<h3>Day 1: New Customer Onboarding</h3>
@ -230,39 +248,42 @@
<li><strong>09:31:</strong> Click on email, verify it's legitimate, click "Approve"</li>
<li><strong>09:31:</strong> Select customer from dropdown, confirm</li>
<li><strong>09:31:</strong> Email disappears from Inbox, job is now active</li>
<li><strong>09:32:</strong> Job appears in Jobs page and Daily Jobs for today</li>
<li><strong>09:32:</strong> Job run appears in Run Checks page (unreviewed)</li>
</ol>
<h3>Day 2: First Daily Review</h3>
<ol>
<li><strong>08:00:</strong> Open Daily Jobs (defaults to today)</li>
<li><strong>08:01:</strong> Customer's job shows green "Success" - no action needed</li>
<li><strong>08:01:</strong> Continue reviewing other customers</li>
<li><strong>08:00:</strong> Open <strong>Run Checks</strong> page (your daily starting point)</li>
<li><strong>08:01:</strong> Customer's job shows with green "Success" badge</li>
<li><strong>08:02:</strong> Click on the run to review details (or select multiple successful runs)</li>
<li><strong>08:03:</strong> Everything looks good - click "Mark as reviewed"</li>
<li><strong>08:03:</strong> Run disappears from Run Checks page</li>
<li><strong>08:04:</strong> Continue reviewing other runs until Run Checks page is empty</li>
</ol>
<h3>Day 5: Warning Appears</h3>
<ol>
<li><strong>08:00:</strong> Open Daily Jobs</li>
<li><strong>08:01:</strong> Customer's job shows yellow "Warning"</li>
<li><strong>08:02:</strong> Click on job to open Run Checks modal</li>
<li><strong>08:00:</strong> Open <strong>Run Checks</strong> page</li>
<li><strong>08:01:</strong> Customer's job shows yellow "Warning" badge</li>
<li><strong>08:02:</strong> Click on the warning run to investigate</li>
<li><strong>08:03:</strong> Review backup objects - one VM shows "Retry succeeded"</li>
<li><strong>08:04:</strong> Read email body - retry was successful, backup completed</li>
<li><strong>08:05:</strong> Determine: This warning is acceptable</li>
<li><strong>08:05:</strong> Click "Mark as reviewed"</li>
<li><strong>08:05:</strong> Job disappears from unreviewed list</li>
<li><strong>08:05:</strong> Run disappears from Run Checks page</li>
</ol>
<h3>Day 8: Warning Repeats</h3>
<h3>Day 8: Warning Repeats - Create Override</h3>
<ol>
<li><strong>08:00:</strong> Open Daily Jobs</li>
<li><strong>08:00:</strong> Open <strong>Run Checks</strong> page</li>
<li><strong>08:01:</strong> Same customer job shows yellow "Warning" again</li>
<li><strong>08:02:</strong> Open Run Checks modal - same "Retry succeeded" warning</li>
<li><strong>08:02:</strong> Click on the warning run - same "Retry succeeded" warning</li>
<li><strong>08:03:</strong> Decide: This will keep happening, create an override</li>
<li><strong>08:05:</strong> Go to Overrides page</li>
<li><strong>08:06:</strong> Create object-level override:
<li><strong>08:04:</strong> Go to Overrides page</li>
<li><strong>08:05:</strong> Create object-level override:
<ul>
<li>Job: Select this customer's job</li>
<li>Status: Warning</li>
@ -271,54 +292,80 @@
<li>Comment: "Retry warnings acceptable - backup completes successfully"</li>
</ul>
</li>
<li><strong>08:07:</strong> Return to Daily Jobs - job now shows green with small override badge</li>
<li><strong>08:08:</strong> Mark the run as reviewed (still need to review once after override created)</li>
<li><strong>08:06:</strong> Override created - return to Run Checks</li>
<li><strong>08:07:</strong> The run now shows with a <strong>blue override indicator</strong></li>
<li><strong>08:08:</strong> <strong>Mark the run as reviewed</strong> (still required even with override!)</li>
<li><strong>08:08:</strong> Run disappears from Run Checks page</li>
<li><em>Future "Retry succeeded" warnings will show with blue badge and can be quickly marked as reviewed</em></li>
</ol>
<h3>Day 12: Failure Occurs</h3>
<h3>Day 12: Failure Occurs - Create Ticket</h3>
<ol>
<li><strong>08:00:</strong> Open Daily Jobs</li>
<li><strong>08:01:</strong> Customer job shows red "Failed"</li>
<li><strong>08:02:</strong> Open Run Checks modal</li>
<li><strong>08:00:</strong> Open <strong>Run Checks</strong> page</li>
<li><strong>08:01:</strong> Customer job shows red "Failed" badge</li>
<li><strong>08:02:</strong> Click on the failed run to investigate</li>
<li><strong>08:03:</strong> Review objects - one VM shows "Disk full"</li>
<li><strong>08:04:</strong> Determine: Customer needs to free up space</li>
<li><strong>08:05:</strong> Click "Create Ticket"</li>
<li><strong>08:05:</strong> Click "Create Ticket" in the Run Checks modal</li>
<li><strong>08:06:</strong> Fill in ticket:
<ul>
<li>Ticket code: CUST-789 (from PSA)</li>
<li>Description: "Backup fails - server disk full"</li>
</ul>
</li>
<li><strong>08:07:</strong> Create PSA ticket externally (or use Autotask integration)</li>
<li><strong>08:08:</strong> Mark run as reviewed</li>
<li><strong>08:08:</strong> Job now shows 🎫 in Daily Jobs, indicating tracked issue</li>
<li><strong>08:07:</strong> Ticket created - now shows 🎫 indicator on this run</li>
<li><strong>08:08:</strong> <strong>Mark run as reviewed</strong> (required even after creating ticket!)</li>
<li><strong>08:08:</strong> Run disappears from Run Checks page</li>
<li><strong>08:09:</strong> Create PSA ticket externally (or use Autotask integration)</li>
</ol>
<h3>Day 13-14: Issue Still Present</h3>
<ol>
<li><strong>08:00:</strong> Open <strong>Run Checks</strong> page</li>
<li><strong>08:01:</strong> Same customer job shows red "Failed" with 🎫 indicator</li>
<li><strong>08:02:</strong> Click on run - still "Disk full" error, ticket CUST-789 visible</li>
<li><strong>08:03:</strong> No new action needed - ticket already created</li>
<li><strong>08:03:</strong> <strong>Mark as reviewed</strong> (must review each day even with active ticket!)</li>
<li><strong>08:03:</strong> Run disappears from Run Checks page</li>
</ol>
<h3>Day 15: Issue Resolved</h3>
<ol>
<li><strong>08:00:</strong> Open Daily Jobs</li>
<li><strong>08:00:</strong> Open <strong>Run Checks</strong> page</li>
<li><strong>08:01:</strong> Customer job shows green "Success" with 🎫 indicator</li>
<li><strong>08:02:</strong> Open Run Checks modal - confirm success for 2+ days</li>
<li><strong>08:03:</strong> Go to Tickets page</li>
<li><strong>08:04:</strong> Find ticket CUST-789, click "Resolve"</li>
<li><strong>08:05:</strong> 🎫 indicator disappears from Daily Jobs</li>
<li><strong>08:02:</strong> Click on run - backup succeeded, disk space resolved</li>
<li><strong>08:03:</strong> Check previous runs - success for 2+ days</li>
<li><strong>08:04:</strong> Go to Tickets page</li>
<li><strong>08:05:</strong> Find ticket CUST-789, click "Resolve"</li>
<li><strong>08:06:</strong> Return to Run Checks - 🎫 indicator now removed</li>
<li><strong>08:07:</strong> <strong>Mark run as reviewed</strong></li>
<li><strong>08:07:</strong> Run disappears - Run Checks page empty again ✅</li>
</ol>
<div class="doc-callout doc-callout-info">
<strong>💡 Run Checks is Your Daily Workflow:</strong><br>
The <strong>Run Checks</strong> page is your primary daily tool - start here every morning. Daily Jobs is mainly for viewing which jobs exist and their schedules, but Run Checks is where all daily review work happens. Your goal is to have the Run Checks page completely empty by the end of your review session.
</div>
<h2>Best Practices</h2>
<ul>
<li><strong>Review daily:</strong> Check Daily Jobs every morning to catch issues promptly</li>
<li><strong>Approve inbox emails quickly:</strong> New customer emails won't appear in Daily Jobs until approved</li>
<li><strong>Triage by status:</strong> Review red (Failed) before yellow (Warning) before gray (Missed)</li>
<li><strong>Use overrides for recurring acceptable warnings:</strong> Don't mark the same warning as reviewed every day</li>
<li><strong>Start with Run Checks every day:</strong> Open Run Checks page first thing every morning - this is your primary workflow</li>
<li><strong>Goal: Empty Run Checks page:</strong> Mark all runs as reviewed (even successful ones) until the page is completely empty</li>
<li><strong>Approve inbox emails quickly:</strong> New customer emails won't appear in Run Checks until approved</li>
<li><strong>Triage by status:</strong> Review red (Failed) before yellow (Warning) before green (Success)</li>
<li><strong>Use bulk review for successes:</strong> Select multiple successful runs and mark them all at once</li>
<li><strong>Always mark as reviewed:</strong> Even after creating tickets/remarks/overrides, you must still mark the run as reviewed</li>
<li><strong>Use overrides for recurring acceptable warnings:</strong> Don't mark the same warning as reviewed every day - create an override</li>
<li><strong>Create tickets for customer action items:</strong> Formal tracking ensures followup</li>
<li><strong>Use remarks for temporary notes:</strong> Don't create tickets for short-term issues</li>
<li><strong>Always check backup objects:</strong> The overall status can be misleading - individual objects may have hidden failures</li>
<li><strong>Document in comments:</strong> When creating overrides or tickets, always explain why</li>
<li><strong>Resolve tickets promptly:</strong> After issues are fixed, resolve the ticket to clear the 🎫 indicator</li>
<li><strong>Monitor schedule inference:</strong> If jobs stop appearing in Daily Jobs, check if schedules have changed</li>
<li><strong>Daily Jobs is secondary:</strong> Use Daily Jobs for viewing job schedules, but Run Checks is where review work happens</li>
</ul>
<h2>Role-Based Review Workflow</h2>
@ -326,10 +373,11 @@
<h3>Operator Workflow</h3>
<ol>
<li>Review Daily Jobs for warnings and failures</li>
<li>Open Run Checks modal for each issue</li>
<li>Create tickets, remarks, or overrides as needed</li>
<li>Mark runs as reviewed after handling</li>
<li>Open <strong>Run Checks</strong> page every morning</li>
<li>Review each run in the list (click to see details)</li>
<li>For issues: create tickets, remarks, or overrides as needed</li>
<li><strong>Mark ALL runs as reviewed</strong> (including successes and runs with tickets/overrides)</li>
<li>Goal: End with completely empty Run Checks page</li>
<li>Cannot unmark reviewed runs or delete overrides</li>
</ol>
@ -341,13 +389,14 @@
<li>Can unmark reviewed runs if re-investigation is needed</li>
<li>Can delete overrides and tickets</li>
<li>Monitors overall system health and team review performance</li>
<li>Can verify Run Checks page is empty (all reviews completed)</li>
</ol>
<h3>Viewer Workflow</h3>
<ol>
<li>View Daily Jobs to see backup status</li>
<li>Cannot open Run Checks modal</li>
<li>Cannot access Run Checks page</li>
<li>Cannot create tickets, remarks, or overrides</li>
<li>Cannot mark runs as reviewed</li>
<li>Read-only access for reporting and visibility</li>
@ -356,12 +405,14 @@
<h2>Performance Tips</h2>
<ul>
<li><strong>Use filters in Daily Jobs:</strong> Filter by customer or backup software to focus on specific areas</li>
<li><strong>Use bulk review for successes:</strong> Select multiple green success runs and mark them all as reviewed at once</li>
<li><strong>Review by exception:</strong> Use overrides to reduce noise, then focus on genuine issues</li>
<li><strong>Batch approve inbox emails:</strong> Set aside time weekly to approve new customer jobs</li>
<li><strong>Create global overrides for common warnings:</strong> Handle widespread acceptable warnings once</li>
<li><strong>Use tickets for tracking workload:</strong> Helps identify which customers have recurring issues</li>
<li><strong>Archive resolved tickets:</strong> Filter to "Active" only to reduce clutter</li>
<li><strong>Focus on Run Checks only:</strong> Don't spend time in Daily Jobs unless you need to check schedules - Run Checks is your daily tool</li>
<li><strong>Process runs in order:</strong> Work through the Run Checks list from top to bottom systematically</li>
</ul>
<h2>Next Steps</h2>

View File

@ -9,7 +9,12 @@
<h2>Overview</h2>
<p>The <strong>Daily Jobs</strong> view is the primary operational dashboard for monitoring backup operations. It displays all backup jobs expected to run on a selected date, based on intelligent schedule inference from historical run patterns.</p>
<p>The <strong>Daily Jobs</strong> view displays all backup jobs expected to run on a selected date, based on intelligent schedule inference from historical run patterns. It provides an overview of which jobs exist and their schedules.</p>
<div class="doc-callout doc-callout-info">
<strong>💡 Daily Jobs vs Run Checks:</strong><br>
<strong>Daily Jobs</strong> is primarily for viewing which jobs exist and their schedules. For daily operational review work, use the <strong><a href="{{ url_for('documentation.page', section='backup-review', page='run-checks-modal') }}">Run Checks</a></strong> page instead - that's where you review and mark runs as complete. Daily Jobs may be deprecated in a future version.
</div>
<p>Key features:</p>
@ -17,7 +22,7 @@
<li><strong>Schedule inference:</strong> Automatically detects weekly and monthly backup schedules from historical runs</li>
<li><strong>Status tracking:</strong> Shows which jobs succeeded, failed, have warnings, or haven't run yet</li>
<li><strong>Missing job detection:</strong> Identifies jobs that should have run but didn't</li>
<li><strong>Override indicators:</strong> Displays badges for jobs with active overrides</li>
<li><strong>Override indicators:</strong> Displays blue badges for jobs with active overrides</li>
<li><strong>Ticket and remark indicators:</strong> Shows 🎫 and 💬 icons for jobs with linked tickets or remarks</li>
</ul>
@ -116,6 +121,11 @@
<td><span class="badge bg-success">Green</span></td>
<td>Job completed successfully with no warnings or errors</td>
</tr>
<tr>
<td><strong>Success (Override)</strong></td>
<td><span class="badge bg-primary">Blue</span></td>
<td>Job had warning/failure but is treated as success due to an active override rule</td>
</tr>
<tr>
<td><strong>Warning</strong></td>
<td><span class="badge bg-warning text-dark">Yellow</span></td>
@ -133,7 +143,7 @@
</tr>
<tr>
<td><strong>Expected</strong></td>
<td><span class="badge bg-info">Blue</span></td>
<td><span class="badge bg-info">Light Blue</span></td>
<td>Job is expected to run later today (for future dates or today before the job runs)</td>
</tr>
</tbody>

View File

@ -122,12 +122,17 @@
<p>The primary action for overrides is <strong>Treat as success</strong> (enabled by default):</p>
<ul>
<li>When checked, matching runs are displayed with a green "Success" badge instead of their original status</li>
<li>A small override indicator badge appears next to the job showing the override is active</li>
<li>The run still needs to be reviewed, but operators know the warning/failure is expected</li>
<li>When checked, matching runs are displayed with a <strong>blue "Success (Override)"</strong> badge instead of their original warning/failed status</li>
<li>The blue badge visually indicates this run had an issue but is being treated as acceptable</li>
<li>The run still needs to be reviewed and marked as reviewed, but operators know the warning/failure is expected</li>
</ul>
<p>This allows you to visually differentiate between unexpected problems (red/yellow) and known issues (green with override badge).</p>
<p>This allows you to visually differentiate between:</p>
<ul>
<li><strong>Green badge:</strong> Genuinely successful backups with no issues</li>
<li><strong>Blue badge:</strong> Known issues that are acceptable (override applied)</li>
<li><strong>Yellow/Red badge:</strong> Unexpected problems requiring investigation</li>
</ul>
<h2>Override Time Windows</h2>

View File

@ -9,32 +9,38 @@
<h2>Overview</h2>
<p>The <strong>Run Checks modal</strong> is the detailed review interface for investigating backup job runs. It opens when you click on a job in the Daily Jobs view or Job History page.</p>
<p>The modal provides:</p>
<ul>
<li><strong>Job run history:</strong> List of recent runs for the selected job, showing status and timestamps</li>
<li><strong>Backup objects:</strong> Individual items backed up (VMs, servers, files) with their statuses</li>
<li><strong>Email content:</strong> Original email body from the backup software</li>
<li><strong>Override information:</strong> Details about applied overrides for known issues</li>
<li><strong>Autotask ticket info:</strong> Linked PSA ticket details (if Autotask integration is enabled)</li>
<li><strong>Review actions:</strong> Mark runs as reviewed or unmark reviewed runs (Admin only)</li>
</ul>
<h2>Opening the Run Checks Modal</h2>
<p>The Run Checks modal can be opened from several locations:</p>
<ul>
<li><strong>Daily Jobs view:</strong> Click on any job row</li>
<li><strong>Job History page:</strong> Click on a specific job run</li>
<li><strong>Tickets page:</strong> Click "Job page" button for a ticket with a linked job</li>
</ul>
<p>The <strong>Run Checks</strong> page is the primary daily operational tool for reviewing backup job runs. This is where you spend most of your time during daily backup review.</p>
<div class="doc-callout doc-callout-info">
<strong>💡 Role Access:</strong><br>
The Run Checks modal is available to <strong>Admin</strong> and <strong>Operator</strong> roles only. Viewers cannot open the Run Checks modal.
<strong>💡 Your Daily Starting Point:</strong><br>
Start here every morning. The goal is to have this page <strong>completely empty</strong> - meaning all runs have been reviewed. Even successful backups must be marked as reviewed to clear the page.
</div>
<p>The page provides:</p>
<ul>
<li><strong>Job run list:</strong> All unreviewed runs across all customers, showing status and timestamps</li>
<li><strong>Backup objects:</strong> Individual items backed up (VMs, servers, files) with their statuses</li>
<li><strong>Email content:</strong> Original email body from the backup software</li>
<li><strong>Override information:</strong> Details about applied overrides (shown with blue badge)</li>
<li><strong>Autotask ticket info:</strong> Linked PSA ticket details (if Autotask integration is enabled)</li>
<li><strong>Review actions:</strong> Mark runs as reviewed (single or bulk), unmark reviewed runs (Admin only)</li>
</ul>
<h2>Accessing Run Checks</h2>
<p>To access the Run Checks page:</p>
<ol>
<li>Navigate to <strong>Run Checks</strong> in the main navigation menu</li>
<li>Available to <strong>Admin</strong> and <strong>Operator</strong> roles only</li>
<li>Viewers cannot access the Run Checks page</li>
<li>The page shows all unreviewed runs by default</li>
</ol>
<div class="doc-callout doc-callout-info">
<strong>💡 Start Here Every Day:</strong><br>
This is your primary daily workflow page. Open it first thing in the morning and work through all runs until the page is empty.
</div>
<h2>Modal Layout</h2>
@ -79,9 +85,17 @@
<p>At the top of the run details:</p>
<ul>
<li><strong>Status badge:</strong> Overall run status (Success, Warning, Failed, Missed)</li>
<li><strong>Status badge:</strong> Overall run status with color coding:
<ul>
<li>Green = Success (no issues)</li>
<li>Blue = Success (override applied - originally warning/failed)</li>
<li>Yellow = Warning</li>
<li>Red = Failed</li>
<li>Gray = Missed</li>
</ul>
</li>
<li><strong>Run timestamp:</strong> When the backup job executed</li>
<li><strong>Override indicator:</strong> If an override is applied, shows the override reason</li>
<li><strong>Override indicator:</strong> If an override is applied, shows blue badge with override reason</li>
</ul>
<h3>Backup Objects</h3>
@ -163,22 +177,33 @@
<h2>Review Actions</h2>
<h3>Mark as Reviewed</h3>
<h3>Mark as Reviewed (Single)</h3>
<p>For runs with warnings or failures:</p>
<p>For any run (success, warning, or failure):</p>
<ol>
<li>Review the run details, backup objects, and error messages</li>
<li>Investigate the issue and determine if action is needed</li>
<li>Click the <strong>Mark as reviewed</strong> button at the top or bottom of the run details</li>
<li>The run is immediately marked as reviewed and disappears from the unreviewed list</li>
<li>Click on a run in the list to view details</li>
<li>Review the run details, backup objects, and any error messages</li>
<li>Take action if needed (create ticket, remark, or override)</li>
<li>Click the <strong>Mark as reviewed</strong> button</li>
<li>The run is immediately marked as reviewed and disappears from the Run Checks page</li>
</ol>
<p>Marking a run as reviewed indicates that you have acknowledged the issue and taken appropriate action (or determined no action is needed).</p>
<h3>Mark as Reviewed (Bulk)</h3>
<div class="doc-callout doc-callout-info">
<strong>💡 Review Purpose:</strong><br>
The review workflow helps ensure all warnings and failures are seen by a human operator. Success runs do not need to be reviewed - they are automatically considered reviewed.
<p>For efficiency, especially with successful backups:</p>
<ol>
<li>Select multiple run checkboxes in the Run Checks list</li>
<li>Click <strong>Mark selected as reviewed</strong> button</li>
<li>All selected runs disappear from the Run Checks page</li>
</ol>
<p>This is particularly useful for quickly clearing successful backups that don't require investigation.</p>
<div class="doc-callout doc-callout-warning">
<strong>⚠️ All Runs Must Be Reviewed:</strong><br>
Even successful backup runs must be marked as reviewed to clear the Run Checks page. They're not individually <em>investigated</em>, but they still need to be marked so the page becomes empty. Use bulk review to quickly clear multiple successful runs at once.
</div>
<h3>Unmark Reviewed (Admin Only)</h3>

View File

@ -4,6 +4,14 @@ This file documents all changes made to this project via Claude Code.
## [2026-02-08]
### Changed
- Fixed critical inaccuracies in Backup Review documentation based on user feedback:
- **Approving Backups page**: Corrected Stage 6 to emphasize ALL runs must be marked as reviewed regardless of action taken (override/ticket/remark created), added warning callout that failing to mark as reviewed leaves runs visible with wrong status next day, corrected Stage 7 to clarify successful runs MUST also be reviewed (goal is empty Run Checks page), added bulk review functionality for efficiency, completely rewrote Complete Workflow Example to focus on Run Checks page (primary daily tool) instead of Daily Jobs, updated best practices and role-based workflows to prioritize Run Checks over Daily Jobs, added performance tips for bulk review
- **Daily Jobs page**: Added blue "Success (Override)" status indicator to table showing runs treated as success due to active override, added callout clarifying Daily Jobs is for viewing schedules only and Run Checks is the primary operational tool (Daily Jobs may be deprecated in future), corrected page purpose from "primary operational dashboard" to schedule viewing tool
- **Run Checks Modal page**: Corrected overview to emphasize this is THE primary daily operational tool (not just detail modal), added callout that goal is completely empty page, corrected "Success Runs Don't Need Review" to "All Runs Must Be Reviewed" with explanation, added bulk review section (select multiple + mark all), updated status information to include blue badge for override-applied runs, changed access description from "modal" to "page"
- **Overrides & Exceptions page**: Updated "Treat as Success" action description to show blue badge instead of green, added visual differentiation explanation (green=genuine success, blue=override applied, yellow/red=unexpected problems)
- All changes ensure documentation accurately reflects actual workflow: Run Checks is primary tool, all runs need review (including successes), blue badges indicate overrides
### Added
- Completed Mail & Import documentation section (4 pages):
- **Mail Import Setup**: Microsoft Graph API configuration with enhanced security (Azure AD app registration, start with Mail.Read only, Application Access Policy to restrict access to one mailbox via Exchange PowerShell, add Mail.ReadWrite after testing), two-step save workflow clarification (same "Save settings" button clicked twice - once for credentials to enable folder browsing, then again for complete configuration), automatic folder browser popup (no manual path entry), test configuration, troubleshooting (authentication errors, folder not found, no emails imported), advanced configuration (email retention, multiple mailboxes), comprehensive security best practices including principle of least privilege, note about planned UI improvement to make two-step save workflow more obvious