Skip to main content
Version: 2025.10

October 2025

This page describes special considerations for updating to the October 2025 release of the Istari Digital Platform.

Changes to Istari Digital Agent tracking

The October 2025 release of the Istari Digital Platform changes how Istari Digital Agents are tracked by the system.

If you have previously installed a version of the Istari Digital Platform, you must update each Agent and make a small manual change to each Agent as part of deploying the October 2025 release.

Agent History

You will see a new record in the Agent Management page for each Agent after applying the October 2025 Istari Digital Platform update.

The old history and records for each Agent will be preserved but will not be associated with each Agent's new record.

Instructions

Perform the following steps for each Istari Digital Agent installed in your environment.

  1. Shut down the Agent.
  2. Find the istari_agent_id file in the same directory as the Agent executable.
  3. Delete the istari_agent_id file.
  4. Install the October release of the Agent.
  5. Restart the Agent.

Troubleshooting

Before updating the Registry Service

The October release of the Agent is only compatible with the October release of the Registry Service.

You will see a wide variety of errors in the Agent logs if the updated Agent is restarted before the updated Registry Service has been deployed.

Deploying the updated Registry Service will resolve these errors.

After updating the Registry Service

You may see errors like the below in the agent logs after you have deployed the October releases of both the Agent and the Registry Service.

These errors can be resolved by deleting the istari_agent_id file for the affected Agent and then restarting the Agent.

404 / Not Found

Registration
2025-10-22 15:56:51,339 - registration_thread - ERROR - Registration attempt 1 failed. ((404)
Reason: Not Found
Click to see full example traceback.
2025-10-22 15:56:51,339 - registration_thread - ERROR - Registration attempt 1 failed. ((404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'date': 'Wed, 22 Oct 2025 15:56:50 GMT', 'content-length': '96', 'content-type': 'application/json', 'vary': 'Accept-Encoding'})
HTTP response body: {"detail":"ID Not Found: \"no Agent in registry with id 93138e15-8373-472c-b36f-64f567ddba78\""}
)
HTTP response body: {"detail":"ID Not Found: \"no Agent in registry with id 93138e15-8373-472c-b36f-64f567ddba78\""}
)
Traceback (most recent call last):
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/registration.py", line 129, in _register_or_update_information
agent = self.istari_client.update_agent_information(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 39, in wrapper_function
return wrapper(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 136, in __call__
res = self.__pydantic_validator__.validate_python(pydantic_core.ArgsKwargs(args, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/log_utils.py", line 30, in wrapper
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/api/client_api.py", line 25032, in update_agent_information
resp_obj: Agent = self.api_client.response_deserialize(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/api_client.py", line 300, in response_deserialize
raise ApiException.from_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/exceptions.py", line 151, in from_response
raise NotFoundException(http_resp=http_resp, body=body, data=data)
istari_digital_client.exceptions.NotFoundException: (404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'date': 'Wed, 22 Oct 2025 15:56:50 GMT', 'content-length': '96', 'content-type': 'application/json', 'vary': 'Accept-Encoding'})
HTTP response body: {"detail":"ID Not Found: \"no Agent in registry with id 93138e15-8373-472c-b36f-64f567ddba78\""}
Job polling
2025-10-22 15:56:51,722 - MainThread - ERROR - An error occurred during a call to the Job Service (Could not get available jobs)
Click to see full example traceback.
2025-10-22 15:56:51,722 - MainThread - ERROR - An error occurred during a call to the Job Service (Could not get available jobs)
Traceback (most recent call last):
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 691, in _get_available_jobs
available_jobs_page = self.istari_client.get_agent_available_jobs(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 39, in wrapper_function
return wrapper(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 136, in __call__
res = self.__pydantic_validator__.validate_python(pydantic_core.ArgsKwargs(args, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/log_utils.py", line 30, in wrapper
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/api/client_api.py", line 8520, in get_agent_available_jobs
resp_obj: PageJob = self.api_client.response_deserialize(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/api_client.py", line 300, in response_deserialize
raise ApiException.from_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/exceptions.py", line 151, in from_response
raise NotFoundException(http_resp=http_resp, body=body, data=data)
istari_digital_client.exceptions.NotFoundException: (404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'date': 'Wed, 22 Oct 2025 15:56:50 GMT', 'content-length': '96', 'content-type': 'application/json', 'vary': 'Accept-Encoding'})
HTTP response body: {"detail":"ID Not Found: \"no Agent in registry with id 93138e15-8373-472c-b36f-64f567ddba78\""}


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 169, in loop
self.run_agent()
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 270, in run_agent
self.idle()
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 306, in idle
for available_job in self._get_available_jobs():
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 696, in _get_available_jobs
raise ClientAPIException("Could not get available jobs") from e
istari_agent.clients.istari_client.ClientAPIException: Could not get available jobs

422 / Unprocessable Entity

Registration
2025-10-22 16:07:06,191 - registration_thread - ERROR - Registration attempt 1 failed. ((422)
Reason: Unprocessable Entity
Click to see full example traceback.
2025-10-22 16:07:06,191 - registration_thread - ERROR - Registration attempt 1 failed. ((422)
Reason: Unprocessable Entity
HTTP response headers: HTTPHeaderDict({'date': 'Wed, 22 Oct 2025 16:07:05 GMT', 'content-length': '378', 'content-type': 'application/json', 'vary': 'Accept-Encoding'})
HTTP response body: detail=[ValidationError(loc=[ValidationErrorLocInner(anyof_schema_1_validator='path', anyof_schema_2_validator=None, actual_instance='path', any_of_schemas={'int', 'str'}), ValidationErrorLocInner(anyof_schema_1_validator='agent_id', anyof_schema_2_validator=None, actual_instance='agent_id', any_of_schemas={'int', 'str'})], msg='Input should be a valid UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `p` at 1', type='uuid_parsing')]
)
Traceback (most recent call last):
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/registration.py", line 129, in _register_or_update_information
agent = self.istari_client.update_agent_information(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 39, in wrapper_function
return wrapper(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 136, in __call__
res = self.__pydantic_validator__.validate_python(pydantic_core.ArgsKwargs(args, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/log_utils.py", line 30, in wrapper
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/api/client_api.py", line 25032, in update_agent_information
resp_obj: Agent = self.api_client.response_deserialize(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/api_client.py", line 300, in response_deserialize
raise ApiException.from_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/exceptions.py", line 158, in from_response
raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data)
istari_digital_client.exceptions.UnprocessableEntityException: (422)
Reason: Unprocessable Entity
HTTP response headers: HTTPHeaderDict({'date': 'Wed, 22 Oct 2025 16:07:05 GMT', 'content-length': '378', 'content-type': 'application/json', 'vary': 'Accept-Encoding'})
HTTP response body: detail=[ValidationError(loc=[ValidationErrorLocInner(anyof_schema_1_validator='path', anyof_schema_2_validator=None, actual_instance='path', any_of_schemas={'int', 'str'}), ValidationErrorLocInner(anyof_schema_1_validator='agent_id', anyof_schema_2_validator=None, actual_instance='agent_id', any_of_schemas={'int', 'str'})], msg='Input should be a valid UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `p` at 1', type='uuid_parsing')]
Job polling
2025-10-22 16:07:06,190 - MainThread - ERROR - An error occurred during a call to the Job Service (Could not get available jobs)
Click to see full example traceback.
Traceback (most recent call last):
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 691, in _get_available_jobs
available_jobs_page = self.istari_client.get_agent_available_jobs(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 39, in wrapper_function
return wrapper(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 136, in __call__
res = self.__pydantic_validator__.validate_python(pydantic_core.ArgsKwargs(args, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/log_utils.py", line 30, in wrapper
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/api/client_api.py", line 8520, in get_agent_available_jobs
resp_obj: PageJob = self.api_client.response_deserialize(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/api_client.py", line 300, in response_deserialize
raise ApiException.from_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajacobson/Documents/Code/istari-agent/venv/lib/python3.12/site-packages/istari_digital_client/exceptions.py", line 158, in from_response
raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data)
istari_digital_client.exceptions.UnprocessableEntityException: (422)
Reason: Unprocessable Entity
HTTP response headers: HTTPHeaderDict({'date': 'Wed, 22 Oct 2025 16:07:05 GMT', 'content-length': '378', 'content-type': 'application/json', 'vary': 'Accept-Encoding'})
HTTP response body: detail=[ValidationError(loc=[ValidationErrorLocInner(anyof_schema_1_validator='path', anyof_schema_2_validator=None, actual_instance='path', any_of_schemas={'int', 'str'}), ValidationErrorLocInner(anyof_schema_1_validator='agent_id', anyof_schema_2_validator=None, actual_instance='agent_id', any_of_schemas={'int', 'str'})], msg='Input should be a valid UUID, invalid character: expected an optional prefix of `urn:uuid:` followed by [0-9a-fA-F-], found `p` at 1', type='uuid_parsing')]


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 169, in loop
self.run_agent()
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 270, in run_agent
self.idle()
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 306, in idle
for available_job in self._get_available_jobs():
File "/Users/ajacobson/Documents/Code/istari-agent/istari_agent/agent/agent.py", line 696, in _get_available_jobs
raise ClientAPIException("Could not get available jobs") from e
istari_agent.clients.istari_client.ClientAPIException: Could not get available jobs