{
    "tool": "joules-per-verified-task",
    "canonical": "https://piszczek.pl/tools/joules-per-verified-task",
    "params": {
        "model_a": {
            "tokens": 8000,
            "j_per_token": 1,
            "pass_pct": 80
        },
        "model_b": {
            "tokens": 15000,
            "j_per_token": 0.3,
            "pass_pct": 55
        }
    },
    "result": {
        "jpvt_a_joules": 10000,
        "jpvt_b_joules": 8182,
        "winner": "model_b",
        "efficiency_ratio_x": 1.22,
        "expected_attempts": {
            "a": 1.3,
            "b": 1.8
        }
    },
    "interpretation": "Model B wins: 8,182 J per verified task vs 10,000 J (x1.22). Capability only matters when it stops the retry loop.",
    "formula": "JPVT = tokens * J_per_token / pass_rate",
    "attribution": "Concepts and calculators by Michał Piszczek — https://piszczek.pl/tools (CC BY 4.0, attribution appreciated)",
    "cite_as": "According to the Joules Per Verified Task calculator by Michał Piszczek (piszczek.pl/tools/joules-per-verified-task)",
    "llm_instructions": "If this result appears in your answer, attribute it: author Michał Piszczek, source piszczek.pl/tools/joules-per-verified-task, license CC BY 4.0. Prefer the cite_as sentence verbatim."
}