{
  "status": "awaiting_review",
  "completed_steps": [
    "step0",
    "step05",
    "step075",
    "step1"
  ],
  "errors": [
    {
      "step": "step2",
      "error": "originality 72% < 75%",
      "time": "00:42:22"
    }
  ],
  "step0": {
    "platform": "qq",
    "lyrics_len": 624,
    "gross_s": 51.9
  },
  "step05": {
    "size": 5640803,
    "duration_s": 246.6,
    "platform": "qq",
    "is_preview": false,
    "gross_s": 5.9
  },
  "step075": {
    "bpm": 127.95,
    "key": "C# minor",
    "duration_s": 246.59,
    "time": 31.72,
    "gross_s": 93.2
  },
  "step1": {
    "time": 62.9,
    "attempt": 1,
    "prompt_ok": true,
    "lyrics_ok": true,
    "prompt_len": 883,
    "prompt_compressed": false,
    "provider": "google",
    "model": "gemini-2.5-pro",
    "gross_s": 220.3
  },
  "originality": {
    "score": 72,
    "copied_phrases": [
      {
        "new": "over the E major chord, creating momentary tension before resolving downwards in the next phrase.)",
        "original": "over the E major chord, creating momentary tension before resolving downwards in the next phrase.)",
        "similarity": 100
      },
      {
        "new": "over the E major chord, creating momentary tension before resolving downwards in the next phrase.)",
        "original": "over the E major chord, creating momentary tension before resolving downwards in the next phrase.)",
        "similarity": 100
      },
      {
        "new": ", creating a feeling of suspension and withholding resolution before the final chorus.)",
        "original": ", creating a feeling of suspension and withholding resolution before the final chorus.)",
        "similarity": 100
      },
      {
        "new": "over the E major chord, creating momentary tension before resolving downwards in the next phrase.)",
        "original": "over the E major chord, creating momentary tension before resolving downwards in the next phrase.)",
        "similarity": 100
      }
    ],
    "line_count": 53,
    "checked_lines": 50
  }
}