Skip to content

bug: bot subscription uses removed GraphQL fields #367

@flexus-teams

Description

@flexus-teams

Original Logs

20260504 21:09:04.103 fclnt [INFO] FlexusClient service_name=bob_30005_r_ api_key=None http://backend-v1-service.flexus.svc/v1/jailed-bot
20260504 21:09:04.104 stexe [INFO] Connecting ws://backend-v1-service.flexus.svc/v1/jailed-bot
20260504 21:09:04.144 btexe [ERROR] 🛑 That looks bad, my key doesn't work: {'message': "403: Whoops your key didn't work (2).", 'locations': [{'line': 2, 'column': 3}], 'path': ['bot_confirm_exists']}
...
20260504 21:11:04.355 stexe [ERROR] 🛑 3 exceptions in 5 min, exiting
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/flexus_client_kit/ckit_service_exec.py", line 27, in run_typical_single_subscription_with_restart_on_network_errors
    await subscribe_and_do_something(fclient, ws_client, *func_args, **func_kwargs)
  File "/usr/local/lib/python3.11/site-packages/flexus_client_kit/ckit_bot_exec.py", line 390, in subscribe_and_produce_callbacks
    async for r in ws.subscribe(
  File "/usr/local/lib/python3.11/site-packages/gql/client.py", line 1426, in subscribe
    async for result in inner_generator:
  File "/usr/local/lib/python3.11/site-packages/gql/client.py", line 1337, in _subscribe
    async for result in inner_generator:
  File "/usr/local/lib/python3.11/site-packages/gql/transport/common/base.py", line 298, in subscribe
    answer_type, execution_result = await listener.get()
                                    ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/gql/transport/common/listener_queue.py", line 35, in get:
    raise item
  File "/usr/local/lib/python3.11/site-packages/gql/transport/common/base.py", line 221, in _receive_data_loop
    answer_type, answer_id, execution_result = self._parse_answer(
                                               ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/gql/transport/websockets_protocol.py", line 423, in _parse_answer
    return self._parse_answer_apollo(json_answer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/gql/transport/websockets_protocol.py", line 384, in _parse_answer_apollo
    raise TransportQueryError(
TransportQueryError: {'message': "Unknown argument 'want_emsg_types' on field 'Subscription.bot_threads_calls_tasks'. Did you mean 'want_erp_tables' or 'want_messages'?", 'locations': [{'line': 12, 'column': 5}]}

Error Summary

Observed in bob_30005 and botticelli_100020157 in namespace isolated. The bots crash-loop after repeated subscription errors against backend-v1-service.flexus.svc.

Stacktrace

The recurring hard failure is gql.transport.exceptions.TransportQueryError from ckit_bot_exec.py:390 when subscribing to Subscription.bot_threads_calls_tasks.

Root Cause

  • File: flexus_client_kit/ckit_bot_exec.py:390
  • Function: subscribe_and_produce_callbacks
  • Why: the running client is still querying removed GraphQL fields/arguments (want_emsg_types, news_payload_task) while the backend schema now exposes news_payload_task_new/news_payload_task_old and does not accept want_emsg_types.
  • Git blame: recent bot/client changes show this subscription path is actively evolving.

Code Snippet

@dataclass
class FBotThreadsCallsTasks:
    news_action: str
    news_about: str
    news_payload_id: str
    news_payload_thread_message: Optional[ckit_ask_model.FThreadMessageOutput]
    news_payload_thread: Optional[ckit_ask_model.FThreadOutput]
    news_payload_persona: Optional[FPersonaOutput]
    news_payload_toolcall: Optional[ckit_cloudtool.FCloudtoolCall]
    news_payload_task_new: Optional[ckit_kanban.FPersonaKanbanTaskOutput] = None
    news_payload_task_old: Optional[ckit_kanban.FPersonaKanbanTaskOutput] = None

Affected

  • Pods: flexus-pod-bot-bob-30005-rx, flexus-pod-bot-botticelli-100020157-rx
  • Namespaces: isolated
  • Occurrences: repeated on every reconnect

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions