Reassess and Compare Workflows

The workbench supports reassessing completed accessibility assessments and comparing results using the dashboard diff view.

When to Reassess

How Reassessment Works

  1. Open a completed, failed, or canceled assessment's detail page.
  2. Click Reassess.
  3. A new draft assessment is created with the same configuration as the original.
  4. The new assessment records rerun_of (parent lineage) and baseline_run_id (comparison baseline), both set to the source assessment's ID.
  5. For web live assessments, the config is copied as-is: same URLs, crawl settings, auth profile, and sanitization options.
  6. For native artifact assessments, the config is copied but the artifact bundle is cleared. Upload fresh artifacts before starting.
  7. Start the new assessment as usual.

What Is Preserved

Configuration preservation on reassessment
Field Preserved Notes
PlatformYes
URLs (web)Yes
Targets (native)Yes
Crawl settings (web)Yes
Auth profile ID (web)YesProfile must still exist at execution time
Audit mode (native)Yes
Sanitization settingsYes
Artifact bundle (native)NoCleared -- upload new files

Lineage Tracking

The rerun_of field creates a parent-child relationship between assessments. The workbench UI shows this lineage on the assessment detail page with a link to the parent assessment. Multiple reassessments from the same source each point back to the original. The chain is flat, not recursive.

Diff Comparison

Prerequisites

Both the current assessment and the baseline assessment must:

How diff works

  1. Open a completed assessment that has a baseline_run_id set (typically a reassessment).
  2. Click Compare in Dashboard.
  3. The workbench fetches the diff URL from the API.
  4. The API verifies both assessments have reports, then returns a dashboard URL.
  5. The dashboard opens in a new tab showing the diff view.

What the diff shows

Manual baseline selection

The baseline_run_id is set automatically when reassessing. To compare two arbitrary assessments, use the dashboard directly:

http://localhost:4321/diff?run1=<run-id-1>&run2=<run-id-2>

State Machine

Assessments follow the same state machine regardless of whether they are new or reassessments:

Valid state transitions
From To
draftqueued, canceled
queuedstarting, canceled, failed
startingrunning, failed, canceled
runningcompleted, completed_with_warnings, failed, canceled, partial_success

Terminal states cannot transition further.

API Reference

Reassess and diff API endpoints
Method Route Purpose
POST/api/runs/:id/rerunCreate a new draft assessment from an existing assessment's config
GET/api/runs/:id/diff-url?baseline=:idGet the dashboard diff URL for two assessments

Note: API routes use /runs/ and rerun for backward compatibility. The product UI presents these as assessments and reassessments.

POST /api/runs/:id/rerun

Precondition: Source assessment must be in a terminal state. Returns 201 with the newly created draft assessment object. Returns 404 if the source assessment is not found, or 409 if it is not in a terminal state.

GET /api/runs/:id/diff-url

Query parameter: baseline (required) — the baseline assessment ID. Returns 200 with { "diff_url": "..." }. Returns 400 if the baseline parameter is missing or either assessment lacks a report. Returns 404 if either assessment is not found.