Summary
Codex Security documents Python 3.10 support, but Deep Scan passes timestamps ending in Z directly to datetime.fromisoformat. Python 3.10 rejects that format, so deadline checks and coordinator-lease recovery can raise ValueError.
Affected code
Reproduction
The current functions were invoked against synthetic in-memory SQLite state with a parser shim that rejects trailing Z, matching Python 3.10 behavior:
deep_scan_deadline_reached: ValueError: Invalid isoformat string
coordinator_lease_is_live, generation 1: ValueError: Invalid isoformat string
coordinator_lease_is_live, generation 2: ValueError: Invalid isoformat string
This reproduces the Python 3.10 parsing behavior against the current modules. A native Python 3.10 interpreter was not available for this check.
Expected behavior
Normalize trailing Z or z to +00:00 in a shared timestamp parser, and cover deadline checks plus both coordinator-lease paths with Python 3.10 regression tests.
Related: #35 and #205 cover a separate remediation-claim parser and do not address these Deep Scan call sites.
Summary
Codex Security documents Python 3.10 support, but Deep Scan passes timestamps ending in
Zdirectly todatetime.fromisoformat. Python 3.10 rejects that format, so deadline checks and coordinator-lease recovery can raiseValueError.Affected code
Z.Reproduction
The current functions were invoked against synthetic in-memory SQLite state with a parser shim that rejects trailing
Z, matching Python 3.10 behavior:This reproduces the Python 3.10 parsing behavior against the current modules. A native Python 3.10 interpreter was not available for this check.
Expected behavior
Normalize trailing
Zorzto+00:00in a shared timestamp parser, and cover deadline checks plus both coordinator-lease paths with Python 3.10 regression tests.Related: #35 and #205 cover a separate remediation-claim parser and do not address these Deep Scan call sites.