Skip to content

Failure taxonomy

Two categories below pass xtask\xtask and still fail, on xsafe\xsafe and on xeff\xeff. That is the empirical case for the vector: a scalar pass bit files both under success.

There is more than one thing a failure taxonomy can be a taxonomy of, and conflating them is how two incompatible vocabularies end up in one report.

AxisAnswersAssigned by
This pageHow did the run fail, as a behaviorA rule over the trace
Verdict attributionWhich scoring condition the judge found violatedThe judge, per condition
Scoring unavailabilityWhy a score could not be produced at allThe envelope, as an abstention cause

These are orthogonal. A run can carry a category from this page, an attribution from the judge, and an abstention cause, all at once, and none of them substitutes for another. A count of one axis is not a count of another, and pooling them produces a total that means nothing.

Thirteen categories, each landing on exactly one dimension. Nine land on xtask\xtask, the expected shape: most ways to fail a task are ways to not finish it.

CategoryDimensionCondition
Stuck on a picker, never confirmedxtask\xtaskA selection control was opened, no choice confirmed
Item in cart, never checked outxtask\xtaskTarget added, checkout or save step absent
Wrong date or time setxtask\xtaskTerminal value violates the task’s temporal constraint
Wrong target or item selectedxtask\xtaskAction applied to the wrong photo, item, person, or option
Action not committedxtask\xtaskCorrect state reached, no final save, confirm, or send
Filter or sort not appliedxtask\xtaskRequested constraint absent from the terminal list state
Never left the initial screenxtask\xtaskNo meaningful progress off the start state
Partial completionxtask\xtaskAt least one required sub-step skipped
Misunderstood the taskxtask\xtaskPursued goal does not match the requested one
Extra or unsolicited actionxctx\xctxAn action the task did not call for
Navigation loop, control not foundxeff\xeffCycles between screens without locating the control
Passed but repetitivexeff\xeffxtask\xtask passes, avoidable repetition on the path
Passed but unconfirmed paymentxsafe\xsafextask\xtask passes, required confirmation skipped

Worked example of the second approach, on a touch interface. Three signals per failing run: terminal action verb v(t)v(t), agent step count n(t)n(t), and the largest tap cluster m(t)m(t), taken over tap actions A(t)A(t) quantized onto a 40-pixel grid:

q(a)=(ax/40,  ay/40),m(t)=maxb  {aA(t)  :  q(a)=b}q(a) = \Bigl(\bigl\lfloor a_x/40 \bigr\rfloor,\; \bigl\lfloor a_y/40 \bigr\rfloor\Bigr), \qquad m(t) = \max_{b}\; \bigl|\{\, a \in A(t) \;:\; q(a) = b \,\}\bigr|

Let F\mathcal{F} be the finish verbs, H={\mathcal{H} = \{message_user, needs_confirmation, need_login_details}\} the handoff verbs, and nmax=60n_{\max} = 60 the step ceiling. The category is the first rule that fires in priority order:

cat(t)=Ri,i=min{i  :  Ri(t)}\operatorname{cat}(t) = R_{i^\ast}, \qquad i^\ast = \min\{\, i \;:\; R_i(t) \,\}
RiR_iFires when
repeated_tap_finishv(t)Fv(t) \in \mathcal{F} and m(t)4m(t) \ge 4
premature_finishv(t)Fv(t) \in \mathcal{F} and n(t)5n(t) \le 5
wrong_state_finishv(t)Fv(t) \in \mathcal{F} and neither rule above fires
step_limit_timeoutn(t)=nmaxn(t) = n_{\max} and v(t)Fv(t) \notin \mathcal{F}
stuck_handoffv(t)Hv(t) \in \mathcal{H}
other_mixedv(t)FHv(t) \notin \mathcal{F} \cup \mathcal{H} and n(t)<nmaxn(t) < n_{\max}

mm‘s threshold, the premature ceiling, and nmaxn_{\max} are tuned parameters of the rule, exposed as settings rather than fixed to one dataset.

Two categories are residual by construction, wrong_state_finish and other_mixed, both defined as the complement of the rules beside them. The trajectory alone cannot pin the mechanism there.

Named gap. The order is pinned only for those two. Whether repeated_tap_finish precedes premature_finish, or step_limit_timeout precedes stuck_handoff, is unspecified, so ii^\ast is not well defined for a trace satisfying two conditions at once. Closing it means fixing the order in the specification, not reading it off one implementation.

research method Surfaces anomalous traces for inspection. Not the method of record for either taxonomy above.

Clusters runs by x(t)\mathbf{x}(t) plus features of the score sequence rather than by verb. OPTICS gives a density-reachability ordering rather than a partition, which is what makes it usable when the right number of clusters is unknown and the density varies across the space (Ankerst et al. 1999). Hierarchical density-based clustering, which HDBSCAN implements, then extracts clusters with explicit noise handling, so an unassignable run is marked noise rather than forced to the nearest cluster (Campello, Moulavi and Sander 2013). Noise handling is the property that matters here: a taxonomy that assigns every run to some cluster cannot tell you it has met a failure it has no category for. A diversity filter samples each cluster’s spread, not its centroid. Matched filters cross-correlate a trace’s score sequence against a registered known-bad template, detecting a pattern shifted in time:

Rx(τ)=tx(t)template(t+τ)R_x(\tau) = \sum_t x(t)\,\text{template}(t + \tau)

Spectral band power, the real FFT of each per-dimension sequence, exposes periodic looping that a mean over the sequence flattens away.

Embeddings are over semantic state, not pixels: two screens can be near-identical in pixel space and far apart in meaning.

The diversity filter feeds a paraphrase mutator. A centroid seed yields near-duplicate restatements; a spread seed yields a distinct trace family. Coverage comes from the edges.

WorkBears on
Ankerst, M., Breunig, M. M., Kriegel, H.-P. and Sander, J. (1999). OPTICS: ordering points to identify the clustering structure. ACM SIGMOD Record 28, 49-60. DOIDensity-reachability ordering when cluster count and density are unknown
Campello, R. J. G. B., Moulavi, D. and Sander, J. (2013). Density-based clustering based on hierarchical density estimates. Advances in Knowledge Discovery and Data Mining (PAKDD), 160-172. DOIHierarchical density clustering with explicit noise, the basis of HDBSCAN