Completion and Scoring
This page covers how a session is concluded and how IMPACT classifies each decision.
Reporting completion
Call once at the end of the scenario:
using Aruvr.Sdk;
AruvrTracker.Instance.SetCompletion("passed", 100);
// status: "completed" | "passed" | "failed"
// score: 0–100, or omit / -1 for no score
Completion is sticky server-side: once sent, a later batch that omits it does not clear it.
SetCompletion also forces an immediate flush, so the result is posted under the current app
before any scene change.
The confidence matrix
IMPACT plots every decision on two axes: right/wrong and fast/slow.
Right vs wrong — from polarity
- Firing a positive decision point is correct.
- Firing a negative one is incorrect.
- Neutral decisions are recorded but excluded from accuracy and the matrix.
Fast vs slow — relative, not a fixed time
A decision is fast if its latency is below the median latency of all attempts on that same
decision point, and slow otherwise. The latency is the time between Arm() and Fire().
Because it is relative:
- The first attempt on a decision point is classified as slow (its own latency is the median).
- The classification settles as more attempts accumulate — so gather data across several runs.
There is no fixed “X seconds = fast” you can aim for; a trainee is fast if quicker than the median run on that decision point.
The four quadrants
| Fast | Slow | |
|---|---|---|
| Right | Confident — operational | Uncertain — knows it, needs pace |
| Wrong | Reckless — fast and wrong, highest risk | Struggling — needs supervision |
Competency thresholds
Each competency has an operational threshold (e.g. 80%). IMPACT compares a learner’s accuracy on that competency to the threshold to flag who is below the operational bar.
Worked example
A fire scenario tracks two competencies, each with a positive/negative pair:
- Correct Extinguisher Selection — positive (correct class chosen), negative (wrong class).
- Fire Suppression Technique — positive (fire out), negative (failed).
Flow:
- When the emergency appears,
Arm()all four trackers. - When the trainee picks the correct extinguisher, fire the positive selection tracker; if they pick the wrong one, fire the negative.
- When the fire is out, fire the positive suppression tracker; if the run ends without it, fire the negative.
- Report
SetCompletion("passed", score)or("failed", score).
A trainee who acts correctly and quickly lands in Confident on both competencies; one who grabs the wrong extinguisher immediately lands in Reckless on selection.
