{
  "purpose": "Fase 0 del plan de cierre: congela dataset/taxonomia/prompt/scripts/outputs. Si un hash cambia, los resultados del paper dejan de ser trazables.",
  "experiment_date": {
    "gemini-3.1-flash-lite": "2026-08-31T11:45:43.775713-03:00",
    "gemini-3.5-flash-lite": "2026-08-31T14:17:22.431199-03:00",
    "mistral-small-2603": "2026-08-31 (A/B + R=3, version congelada ADI-023)",
    "rule-baseline": "2026-08-31T15:55:31.143552-03:00"
  },
  "dataset": {
    "file": "data/dataset.json",
    "version": "1.2",
    "n_messages": 140,
    "base_date": "2026-08-18",
    "sha256": "530a3da2bd8398c0065ac5ce2b234f21d8502da5f937f8268e276dd81c642540"
  },
  "dataset_temporal_pairs": {
    "file": "data/dataset_temporal_pairs.json",
    "sha256": "c29156af837fcaf48c7d4d579196e3fec1b38e19ecc020b3291cc51a43dda73e"
  },
  "taxonomy_map": {
    "file": "data/taxonomy_map.json",
    "sha256": "6e81904e3c2be91be6f81621d3ca64eaf8986301f5d11b63f78670ab8e428f9d"
  },
  "prompt": {
    "file": "paper/prompt_luka.md",
    "sha256": "8ac9e2baf3af6d02873a0b67100deccbe02cbcc601090a2b3b2a9c4df98637cc",
    "source_commit": "72d48716c7258d473b9d75ede1b609fb1ebb9488",
    "note": "schema de salida vive en D:/CODE/luka (read-only, ADI-003); el contrato observable son los KNOWN_FIELDS de analysis/metrics.py"
  },
  "scripts": {
    "data/dataset.json": "530a3da2bd8398c0065ac5ce2b234f21d8502da5f937f8268e276dd81c642540",
    "data/dataset_temporal_pairs.json": "c29156af837fcaf48c7d4d579196e3fec1b38e19ecc020b3291cc51a43dda73e",
    "data/taxonomy_map.json": "6e81904e3c2be91be6f81621d3ca64eaf8986301f5d11b63f78670ab8e428f9d",
    "paper/prompt_luka.md": "8ac9e2baf3af6d02873a0b67100deccbe02cbcc601090a2b3b2a9c4df98637cc",
    "analysis/metrics.py": "ce1a6f355a45c5ce0688933347fb2007c4d31a6398a62b9642bef8327757117f",
    "analysis/h2_pairs.py": "4de4be752632e19042564112a16e310bb069811cff6ab956ab3ab97192a1a636",
    "analysis/validate_paper_numbers.py": "db2e26cb53892dcbc82edd9034be58ef383ba5de00c15a5d4fa3715eefba3177",
    "experiments/run_experiment.py": "c7fcc8ccce8941405a4d261160f05083e7236980fa4634d309b8e752cb42a18a",
    "experiments/rule_baseline.py": "af8d0a840feca1757dfb46c8dbe77b70eb9d7a13aa403cbbc3bab9acdd0586ae",
    "experiments/usage_probe.py": "1785f8f7bbd5510ab2a31817d5b20ceb9bb7fa7f98e231d501b58221ae3e26f5",
    "experiments/make_manifest.py": "94c2603817d4a9dd105e95a32566d217a8bdd29304238d08cd1f96c2a4f679e0"
  },
  "models": [
    {
      "provider": "gemini",
      "alias": "gemini-3.1-flash-lite",
      "resolved_version": "gemini-3.1-flash-lite (alias as version, provider no expone version; probe ok 2026-08-31)",
      "temperature": 0.1,
      "json_mechanism": "generationConfig.responseMimeType=application/json (app/services/llm_providers/gemini.py:61)",
      "api_base": "https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",
      "pricing_per_1M": {
        "input": 0.25,
        "output": 1.5
      },
      "pricing_source": "https://ai.google.dev/gemini-api/docs/pricing verificado 2026-08-31 (ADI-021; el placeholder 0.10/0.40 era Gemini 2.5 Flash-Lite, ERROR corregido)"
    },
    {
      "provider": "gemini",
      "alias": "gemini-3.5-flash-lite",
      "resolved_version": "gemini-3.5-flash-lite (alias as version, provider no expone version; probe ok 2026-08-31)",
      "temperature": 0.1,
      "json_mechanism": "generationConfig.responseMimeType=application/json (app/services/llm_providers/gemini.py:61)",
      "api_base": "https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",
      "pricing_per_1M": {
        "input": 0.3,
        "output": 2.5
      },
      "pricing_source": "https://ai.google.dev/gemini-api/docs/pricing verificado 2026-08-31"
    },
    {
      "provider": "mistral",
      "alias": "mistral-small-2603",
      "resolved_version": "mistral-small-2603 (Mistral Small 4, 119B/6.5B activos, congelado ADI-023)",
      "temperature": 0.1,
      "json_mechanism": "response_format={type: json_object} (app/services/llm_providers/mistral.py:53)",
      "api_base": "https://api.mistral.ai/v1/chat/completions",
      "pricing_per_1M": {
        "input": 0.15,
        "output": 0.6
      },
      "pricing_source": "https://docs.mistral.ai (mistral-small-4-0-26-03) verificado 2026-08-31"
    },
    {
      "provider": "rule",
      "alias": "rule-baseline",
      "resolved_version": "1.0",
      "temperature": null,
      "json_mechanism": "n/a (deterministico, sin LLM)",
      "api_base": null,
      "pricing_per_1M": null
    }
  ],
  "temperature": 0.1,
  "base_date": "2026-08-18",
  "timezone": "America/Argentina/Buenos_Aires (implícito, no TZ explícita en API)",
  "usage_calibration": {
    "file": "results/usage_calibration.json",
    "date": "2026-08-31",
    "chars_per_token": {
      "gemini": 3.4,
      "mistral": 3.531
    },
    "thoughts_tokens": 0,
    "note": "ADI-021: probe con llamadas directas replicando armado de LUKA (prompt.md + \\n\\n + context); input cpt std 0.001; output cpt 2.78 (gemini) / 3.11 (mistral), impacto <3% del costo total"
  },
  "n_runs": {
    "gemini-gemini-3.1-flash-lite-tax.jsonl": 140,
    "gemini-gemini-3.1-flash-lite.jsonl": 140,
    "gemini-gemini-3.5-flash-lite-tax.jsonl": 140,
    "gemini-gemini-3.5-flash-lite.jsonl": 140,
    "mistral-mistral-small-2603-tax.jsonl": 140,
    "mistral-mistral-small-2603.jsonl": 140,
    "mistral-mistral-small-latest-tax.jsonl": 140,
    "mistral-mistral-small-latest.jsonl": 140,
    "rule-baseline.jsonl": 140,
    "consistency/gemini-3.1-flash-lite-rep1.jsonl": 140,
    "consistency/gemini-3.1-flash-lite-rep2.jsonl": 140,
    "consistency/gemini-3.1-flash-lite-rep3.jsonl": 140,
    "consistency/gemini-3.5-flash-lite-rep1.jsonl": 140,
    "consistency/gemini-3.5-flash-lite-rep2.jsonl": 140,
    "consistency/gemini-3.5-flash-lite-rep3.jsonl": 140,
    "consistency/mistral-small-2603-rep1.jsonl": 140,
    "consistency/mistral-small-2603-rep2.jsonl": 140,
    "consistency/mistral-small-2603-rep3.jsonl": 140,
    "consistency/mistral-small-latest-rep1.jsonl": 140,
    "consistency/mistral-small-latest-rep2.jsonl": 140,
    "consistency/mistral-small-latest-rep3.jsonl": 140,
    "temporal-pairs/gemini-3.1-flash-lite.jsonl": 28,
    "temporal-pairs/gemini-3.5-flash-lite.jsonl": 28,
    "temporal-pairs/mistral-small-2603.jsonl": 28
  },
  "archived": [
    {
      "alias": "mistral-small-latest",
      "reason": "ADI-023: alias mutable, reemplazado por mistral-small-2603; runs A/B + R=3 del alias quedan en results/raw como archivo y fuera del analisis (TARGET_MODELS)."
    }
  ]
}