Jobs (auto-refresh every 3s)

IDKindStatusStepProgressStartedError
3 generate_article done done
100%
2026-05-26T09:22:27.567033
2 generate_article failed step5_block2_assemble
95%
2026-05-26T09:14:09.005246
error
SystemExit: 1

Traceback (most recent call last):
  File "/opt/aiblogwriter/backend/jobs/runner.py", line 323, in _process_one
    result = await handler(job)
             ^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/backend/jobs/runner.py", line 97, in _run_generate_article
    result = await asyncio.to_thread(
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/threads.py", line 25, in to_thread
    return await loop.run_in_executor(None, func_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/backend/services/pipeline.py", line 154, in run_full_pipeline
    body_md, report = assemble_block2(
                      ^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/scripts/output/block2_assemble.py", line 89, in assemble_block2
    article_md = RE_EXTERNAL.sub(_external, article_md)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/scripts/output/block2_assemble.py", line 83, in _external
    return external_link_resolver(claim, spec)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/scripts/linking/external_ahrefs.py", line 146, in resolve_external_link
    snap = fetch_serp(claim, country="us")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/scripts/serp/serp_client.py", line 238, in fetch_serp
    die("No SERP provider available. Set DATAFORSEO_LOGIN/PASSWORD or SERPAPI_KEY in .env.")
  File "/opt/aiblogwriter/scripts/common.py", line 43, in die
    sys.exit(code)
SystemExit: 1
1 generate_article failed step5_block1
75%
2026-05-26T09:07:14.845007
error
BadRequestError: Error code: 400 - {'error': {'type': '<nil>', 'message': '`temperature` is deprecated for this model. (request id: 202605260908224880974968268d9d6GXC62MPE) (request id: 20260526170822183451972bEm5ifJL)'}, 'type': 'error'}

Traceback (most recent call last):
  File "/opt/aiblogwriter/backend/jobs/runner.py", line 323, in _process_one
    result = await handler(job)
             ^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/backend/jobs/runner.py", line 97, in _run_generate_article
    result = await asyncio.to_thread(
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/threads.py", line 25, in to_thread
    return await loop.run_in_executor(None, func_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/backend/services/pipeline.py", line 142, in run_full_pipeline
    block1 = generate_block1(spec, article_md)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/scripts/output/block1_meta.py", line 76, in generate_block1
    raw = call_claude(SYSTEM, user, max_tokens=800, temperature=0.4)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/scripts/llm.py", line 43, in call_claude
    msg = client.messages.create(**create_kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/.venv/lib/python3.12/site-packages/anthropic/_utils/_utils.py", line 294, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/.venv/lib/python3.12/site-packages/anthropic/resources/messages/messages.py", line 1003, in create
    return self._post(
           ^^^^^^^^^^^
  File "/opt/aiblogwriter/.venv/lib/python3.12/site-packages/anthropic/_base_client.py", line 1374, in post
    return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/aiblogwriter/.venv/lib/python3.12/site-packages/anthropic/_base_client.py", line 1147, in request
    raise self._make_status_error_from_response(err.response) from None
anthropic.BadRequestError: Error code: 400 - {'error': {'type': '<nil>', 'message': '`temperature` is deprecated for this model. (request id: 202605260908224880974968268d9d6GXC62MPE) (request id: 20260526170822183451972bEm5ifJL)'}, 'type': 'error'}