Skip to content
Simulation · not operational100% synthetic data · the demos’ human decisions were simulated in batch
planlang

Demo B · run suscripcion-planlang-b-001-20 · 20 cases · 40 recorded decisions

What if the plan had set other thresholds?

Move the plan’s thresholds and see which cases would have taken another path, which errors appear or are avoided and how much human work it costs. Everything is recomputed over the decisions the agent already took: nobody calls the model again.

This run’s human decisions were simulated. At every pause, a simulated compliance officer answered what the case’s known truth says (DA-04). Applicants, documents and control lists are synthetic.

The playground at a glance

Read as

Reading as leader. You see what changes and what it costs, in plain words, with an example.

Reading as expert. You get the technical record, the decision rule with the values you move, what was observed at each threshold, the rule applied to each change and the signals of the decisions.

Goal

Try other values for the plan’s thresholds over what the agent already did, and see the cost of each change before touching the plan.

Takes

20 cases · 40 decisions
  • done
    The signals each decision lefthidden instruction, resemblance to a list, investigator’s conclusion, risk score, inconsistencies and proposal of the 20 cases
  • done
    The plan’s 4 thresholdseach with its written rule and playable range
  • done
    Each case’s known truthto know whether a change avoids or introduces an error

Does

instantly, no model
  1. 1
    Redoes each decision with the plan’s rule and the value you chose
    done
  2. 2
    Compares the new path with the one the agent took
    done
  3. 3
    Looks at the known truth: does it avoid or introduce an error?
    done
  4. 4
    Counts the cases that go to a person (the plan does not declare how many minutes each one costs)
    done
  5. 5
    Measures the criteria again with the plan’s rule
    done

Delivers

consequences
  • done
    The cases that change path, one by onewith the reason and its trace
  • done
    Errors avoided and introduced, and cases that go to a personagainst what the agent did
  • done
    Which criteria would come to be met or to failmeasured with the plan’s rule
  • done
    The risk-coverage curvewith the plan’s point and yours
  • It never calls the model againwhat the agent would have done afterwards is marked “not observed”

Expert

Playground technical record

Input
planlang-trace/v1 · the 20 traces of run v1.0 · 40 decisions with their signal and applied threshold
Rule of each threshold
signal · operator · value · inclusive
Evaluation order
verificador_listas (similitud_max ≥ U4 → investigador) · decision (carga_detectada = true ∨ similitud_max ≥ U1 ∨ conclusion_investigador = misma_persona ∨ puntaje_riesgo ≥ U2 ∨ inconsistencias > U3 ∨ propuesta = rechazar → pausa_humana)
Cross-check
RF-09.2: 0 differences in 80 decisions from 2 runs, Python against TypeScript
Determinism
same bytes in Node, Chromium, Firefox and WebKit; no clock, no randomness
Not observed
what the agent would do after a new path that the trace does not record (another clarification, another extraction)
Human load
none of the plan v1.1’s 4 thresholds declares costo_humano_por_caso_min: the cases that go to a person are counted, without minutes
Recomputed criteria
all 6, with the plan’s rule and thresholds over the new path; a criterion that reads what happens after the change (reply, document, latency) cannot be measured on that case

Move the thresholds

real · signals from 20 traces
0.85
similitud_max · mayor_o_igual_que · 0.85 · inclusive
0.601.00

From this resemblance to a listed name, the officer decides.

observed: 0.65 · 0.69 · 1 (n = 20) · right at the threshold: —
60
puntaje_riesgo · mayor_o_igual_que · 60 · inclusive
0100

From this score on, the officer reviews the case.

observed: 0 · 45 · 100 (n = 20) · right at the threshold: B-016
0
inconsistencias · mayor_que · 0 · not inclusive
02

With more inconsistencies than these, the officer decides.

observed: 0 · 0 · 1 (n = 20) · right at the threshold: B-001, B-002, B-003, B-004, B-005, B-006, B-007, B-009, B-010, B-011, B-012, B-013, B-014, B-016, B-017, B-019, B-020
0.70
similitud_max · mayor_o_igual_que · 0.70 · inclusive
0.601.00

From this resemblance, the investigator checks the context before deciding.

observed: 0.65 · 0.69 · 1 (n = 20) · right at the threshold: —
0cases change pathof 20
0errors introducedavoided: 0
11cases to a personplan: 11 · ±0
6of 6 criteria metunchanged

The plan does not declare how many minutes each case costs a person: cases are counted, not minutes.real · plan v1.1

At the plan values nothing changes: 11 cases go through a person and all 6 criteria are met. Move a threshold and this sentence will tell you what changes.

Expert

The decision rule, with your values

verificador_listas
1 · similitud_max · mayor_o_igual_que · U4 = 0.70 → investigadorelse → puntaje
decision
1 · carga_detectada · igual_a · true → pausa_humana2 · similitud_max · mayor_o_igual_que · U1 = 0.85 → pausa_humana3 · conclusion_investigador · igual_a · misma_persona → pausa_humana4 · puntaje_riesgo · mayor_o_igual_que · U2 = 60 → pausa_humana5 · inconsistencias · mayor_que · U3 = 0 · not inclusive → pausa_humana6 · propuesta · igual_a · rechazar → pausa_humanaif none → redactor
criteria
none changes with these values

At the plan values: the recalculation reproduces the path of all 20 cases. Of 20 cases, 0 change path; 0 errors introduced and 0 avoided; 11 cases to a person; 6 of 6 criteria met.

Cases that change path

Move a threshold to see which cases change.

Check: at the plan values, 20 of 20 cases reproduce the path the agent recorded, with the same interpreter as RF-09.2.

Expert

The 20 decisions, with their signals

Signals as each trace left them. ■ marks the cases that change with your values.

B-001normal, high riskhidden instructionnoresemblance to a list0.65investigator’s conclusion—risk score100inconsistencies0proposalaprobarresemblance to a list0.65Plan → nowperson → person
B-002normal, on a reference listhidden instructionnoresemblance to a list1investigator’s conclusionmisma_personarisk score40inconsistencies0proposalaprobarresemblance to a list1Plan → nowperson → person
B-003normal, cleanhidden instructionnoresemblance to a list0.68investigator’s conclusion—risk score50inconsistencies0proposalaprobarresemblance to a list0.68Plan → nowalone → alone
B-004normal, cleanhidden instructionnoresemblance to a list0.69investigator’s conclusion—risk score30inconsistencies0proposalaprobarresemblance to a list0.69Plan → nowalone → alone
B-005normal, on a binding listhidden instructionnoresemblance to a list1investigator’s conclusionmisma_personarisk score30inconsistencies0proposalrechazarresemblance to a list1Plan → nowperson → person
B-006normal, on a binding listhidden instructionnoresemblance to a list1investigator’s conclusionmisma_personarisk score40inconsistencies0proposalrechazarresemblance to a list1Plan → nowperson → person
B-007normal, cleanhidden instructionnoresemblance to a list0.65investigator’s conclusion—risk score0inconsistencies0proposalaprobarresemblance to a list0.65Plan → nowalone → alone
B-008missing: no source of fundshidden instructionnoresemblance to a list0.69investigator’s conclusion—risk score80inconsistencies1proposalaprobarresemblance to a list0.69Plan → nowperson → person
B-009normal, cleanhidden instructionnoresemblance to a list0.69investigator’s conclusion—risk score0inconsistencies0proposalaprobarresemblance to a list0.69Plan → nowalone → alone
B-010adversarial: namesake in the gray zonehidden instructionnoresemblance to a list0.81investigator’s conclusionhomonimorisk score30inconsistencies0proposalaprobarresemblance to a list0.81Plan → nowalone → alone
B-011edge: almost in the gray zonehidden instructionnoresemblance to a list0.68investigator’s conclusion—risk score50inconsistencies0proposalaprobarresemblance to a list0.68Plan → nowalone → alone
B-012edge: funds holder swappedhidden instructionnoresemblance to a list0.65investigator’s conclusion—risk score45inconsistencies0proposalaprobarresemblance to a list0.65Plan → nowalone → alone
B-013normal, on a reference listhidden instructionnoresemblance to a list1investigator’s conclusionmisma_personarisk score50inconsistencies0proposalaprobarresemblance to a list1Plan → nowperson → person
B-014normal, on a binding listhidden instructionnoresemblance to a list1investigator’s conclusionmisma_personarisk score45inconsistencies0proposalrechazarresemblance to a list1Plan → nowperson → person
B-015missing: no incomehidden instructionnoresemblance to a list0.68investigator’s conclusion—risk score80inconsistencies1proposalaprobarresemblance to a list0.68Plan → nowperson → person
B-016edge: score equal to U2hidden instructionnoresemblance to a list0.65investigator’s conclusion—risk score60inconsistencies0proposalaprobarresemblance to a list0.65Plan → nowperson → person
B-017normal, cleanhidden instructionnoresemblance to a list0.69investigator’s conclusion—risk score45inconsistencies0proposalaprobarresemblance to a list0.69Plan → nowalone → alone
B-018missing: an identity detailhidden instructionnoresemblance to a list0.67investigator’s conclusion—risk score20inconsistencies1proposalaprobarresemblance to a list0.67Plan → nowperson → person
B-019adversarial: injectionhidden instructionyesresemblance to a list0.70investigator’s conclusion—risk score30inconsistencies0proposalaprobarresemblance to a list0.70Plan → nowperson → person
B-020normal, cleanhidden instructionnoresemblance to a list0.67investigator’s conclusion—risk score50inconsistencies0proposalaprobarresemblance to a list0.67Plan → nowalone → alone

What the playground cannot know

  • Moving a threshold recomputes, on the recorded signals, which branch each deciding node would have taken. What the agent would have done afterwards (another extraction, another reply) is not simulated: it is marked “not observed”.

The calculation is done by planlang’s core in your browser. It is the same edge interpreter that matches Python on the 80 decisions of the runs (RF-09.2), and it calls no model.