{
  "version": 1,
  "source_base": "ATEEL_VTS_5.1.2",
  "updated_at": "2026-07-21T17:13:28.767252+00:00",
  "steps": [
    {
      "step": "source_language",
      "status": "ok",
      "message": "German (auto) · OP_DE",
      "at": "2026-07-21T14:38:56.335716+00:00"
    },
    {
      "step": "pipeline_start",
      "status": "info",
      "message": "OpenRouter pipeline started for ATEEL_VTS_5.1.2",
      "at": "2026-07-21T14:38:56.335906+00:00"
    },
    {
      "step": "text_extract",
      "status": "ok",
      "message": "Wrote row plain-text extract: text.txt",
      "at": "2026-07-21T14:38:57.826669+00:00",
      "detail": "3764 rows",
      "duration_seconds": 1.49
    },
    {
      "step": "style_terminology",
      "status": "info",
      "message": "Trimmed 47 duplicate or excess terminology entries (full).",
      "at": "2026-07-21T14:40:06.177426+00:00",
      "detail": "limit=25 entries, 2000 chars"
    },
    {
      "step": "style_terminology",
      "status": "info",
      "message": "Trimmed 18 duplicate or excess terminology entries (compact).",
      "at": "2026-07-21T14:40:06.178485+00:00",
      "detail": "limit=12 entries, 800 chars"
    },
    {
      "step": "style_extract",
      "status": "ok",
      "message": "Extracted document-specific style (218125 tokens).",
      "at": "2026-07-21T14:40:06.178903+00:00",
      "detail": "model=openai/gpt-4.1-mini",
      "duration_seconds": 68.35
    },
    {
      "step": "style_merge",
      "status": "ok",
      "message": "LLM-optimized document style guide (full).",
      "at": "2026-07-21T14:40:49.222085+00:00",
      "detail": "model=openai/gpt-4.1-mini, tokens=4031",
      "duration_seconds": 43.04
    },
    {
      "step": "style_compact",
      "status": "info",
      "message": "Style guide compaction level",
      "at": "2026-07-21T14:40:49.222620+00:00",
      "detail": "model=openai/gpt-4.1-mini, level=1, target≤7650",
      "duration_seconds": 0.0
    },
    {
      "step": "style_terminology",
      "status": "info",
      "message": "Trimmed 1 duplicate or excess terminology entries (compact).",
      "at": "2026-07-21T14:41:14.768831+00:00",
      "detail": "limit=12 entries, 800 chars"
    },
    {
      "step": "style_compact",
      "status": "info",
      "message": "Style guide compaction level",
      "at": "2026-07-21T14:41:14.769300+00:00",
      "detail": "model=openai/gpt-4.1-mini, level=2, target≤3612"
    },
    {
      "step": "style_compact",
      "status": "ok",
      "message": "Compacted merged style guide (2 levels).",
      "at": "2026-07-21T14:41:43.441926+00:00",
      "detail": "model=openai/gpt-4.1-mini, tokens=5325"
    },
    {
      "step": "style_select",
      "status": "info",
      "message": "Using document-only style (base styleguide excluded).",
      "at": "2026-07-21T14:41:43.445984+00:00"
    },
    {
      "step": "style_select",
      "status": "ok",
      "message": "Using full (document only) + full glossary style guide for openai/gpt-4.1-mini (est. 2686/1047576 tokens)",
      "at": "2026-07-21T14:41:43.446930+00:00"
    },
    {
      "step": "source_language",
      "status": "ok",
      "message": "German (auto) · OP_DE",
      "at": "2026-07-21T15:31:09.081367+00:00"
    },
    {
      "step": "pipeline_start",
      "status": "info",
      "message": "OpenRouter pipeline started for ATEEL_VTS_5.1.2",
      "at": "2026-07-21T15:31:09.081671+00:00"
    },
    {
      "step": "text_extract",
      "status": "ok",
      "message": "Reusing existing text extract: text.txt",
      "at": "2026-07-21T15:31:09.082731+00:00",
      "duration_seconds": 0.0
    },
    {
      "step": "style_cache",
      "status": "ok",
      "message": "Reusing cached document-specific style (source unchanged).",
      "at": "2026-07-21T15:31:09.085130+00:00"
    },
    {
      "step": "style_select",
      "status": "info",
      "message": "Using document-only style (base styleguide excluded).",
      "at": "2026-07-21T15:31:09.087275+00:00"
    },
    {
      "step": "style_select",
      "status": "ok",
      "message": "Using full (document only) + full glossary style guide for openai/gpt-4.1-mini (est. 2686/1047576 tokens)",
      "at": "2026-07-21T15:31:09.089359+00:00"
    },
    {
      "step": "consistency_check",
      "status": "warning",
      "message": "Consistency check failed; saving without re-translate.",
      "at": "2026-07-21T17:11:59.720540+00:00",
      "detail": "Expecting value: line 24 column 25 (char 1572)",
      "duration_seconds": 989.32
    },
    {
      "step": "consistency_retranslate",
      "status": "info",
      "message": "Skipped (consistency check failed).",
      "at": "2026-07-21T17:11:59.721958+00:00"
    },
    {
      "step": "row_translation",
      "status": "ok",
      "message": "Completed 3764/3764 rows.",
      "at": "2026-07-21T17:13:28.766696+00:00",
      "detail": "tokens=15286958",
      "duration_seconds": 6139.67
    },
    {
      "step": "pipeline_end",
      "status": "ok",
      "message": "Translation completed (3764/3764 rows, 15286958 tokens).",
      "at": "2026-07-21T17:13:28.767210+00:00"
    }
  ]
}
