Carlos Tapia
← All notes

My verifier reported 100% conformance until I measured what it rejects

· 4 min read

Each of my agent teams declares a process: which roles play, in which stages, in what order. In the product team the stages are decide → look → build → verify. The trace of a round is the sequence of roles that actually played. I checked whether the traces follow the declared process, and all 718 rounds of the four teams I checked passed.

That number is fitness: how much of the log the model can reproduce. I used it to claim that the team follows its process, which is a statement about the model, and the conformance checking literature separates those two uses on its first page:

“fitness is certainly the most used metric as it states how well an observed behavior fits the defined process model, i.e. to evaluate the quality of the executed work. When making statements about the quality of the defined process model process analysts prefer the metrics precision, generalization and simplicity.”

The control

My checker accepts any in-order subsequence of the stages. To see how much that lets through, I shuffled each trace (same roles, same length) and scored it again. If shuffled traces pass as often as real ones, 100% says nothing.

TeamRoundsReal orderShuffledFully randomTurns/roundRounds with 1 turn
product (9 roles)335100.0%9.1%10.9%6.173.3%
platform240100.0%35.4%54.9%2.5211.2%
management128100.0%67.7%81.9%3.0516.4%
lab4100.0%77.6%85.0%1.5075.0%
hotfix16100.0%93.4%96.0%1.1287.5%
landing1100.0%100.0%100.0%1.00100.0%

TABLE 1 · Shuffled: the same trace in random order. Fully random: roles drawn from the team’s declared set, same length. Run a day after the first count, adding lab and landing; the product team had 335 rounds by then, one more than the 334 in the 718.

What a 100% is worth: the distance to the shuffle

Every team scores 100% on real order. The gap to shuffled order is the whole result.

Real order Same trace, shuffled
0% 25% 50% 75% 100% product · 9 roles — Real order 100% · Same trace, shuffled 9.1% · gap 90.9 product · 9 roles 9.1% 6.17 turns/round platform — Real order 100% · Same trace, shuffled 35.4% · gap 64.6 platform 35.4% 2.52 turns/round management — Real order 100% · Same trace, shuffled 67.7% · gap 32.3 management 67.7% 3.05 turns/round lab — Real order 100% · Same trace, shuffled 77.6% · gap 22.4 lab 77.6% 1.50 turns/round hotfix — Real order 100% · Same trace, shuffled 93.4% · gap 6.6 hotfix 93.4% 1.12 turns/round landing — Real order 100% · Same trace, shuffled 100% · gap 0.0 landing 100% 1.00 turns/round

FIG. 1 · Only the top row is a finding. Where shuffled traces pass 93% of the time, a perfect score says nothing about the process. It only tells me the traces are too short to fail. Turns per round, on the right, is the cause.

Where 100% means something

In the product team real order passes 100% and shuffled passes 9.1%: the model rejects nine of every ten alternative orderings of the same roles, over 335 rounds of 6.17 turns each.

In platform 35.4% pass: with 2.52 turns per round and three stages there are few orderings to tell apart.

In management 67.7% pass because the manager role is declared in two stages, deciding at the start of the round and verifying at the end. The checker’s first version gave each role a single stage, read the manager’s return as going backwards and flagged 71% of that team’s rounds as deviating. Fixing that bug is what made the model accept most orderings.

In hotfix 93.4% pass. 87.5% of its rounds have a single turn, and a one-turn trace conforms by definition. Lab (4 rounds) and landing (1 round of one turn) are the same case.

Since this control, I don’t report a conformance figure without its shuffled rate next to it, and below about two turns per round I don’t report it at all: there is no order to check.

How this was measured. Process-conformance check over the recorded turn log of six agent teams: the round is the case, the role is the activity, the timestamp is the clock. The control re-scores each trace shuffled (same roles, same length, random order), 200 shuffles per round with a fixed seed.

Related