Teknium
a274d3388f
fix: core modules import again on Python 3.11-3.13 (re-quote eager forward references)
...
#135348 ran ruff's UP037 autofix with ruff.strict.toml's target-version = "py314". On 3.14
annotations are lazy (PEP 649), so stripping quotes is safe there; on 3.11-3.13 a function or
variable annotation is evaluated when the def or statement runs. Every unquoted annotation that
names the enclosing class (`def clone_for_agent(self) -> ContextEngine`), a class bound later in
the module, or a TYPE_CHECKING-only import now raises NameError on import: 300 modules on main
(gateway.config, run_agent, hermes_state, cron.jobs, the Telegram adapter, ...) fail to import
under 3.11, the update path crashes mid-`hermes update` on any install whose interpreter is
older than 3.14, and the e2e-upgrade suite's retry leg fails with
`NameError: name 'ContextEngine' is not defined`.
- Re-quote exactly the 79 annotations (36 files) that name something unbound when they are
evaluated (including tui_gateway/server.py's `_TurnScopes`, which only reaches that module's
globals through register() after import); no other text changes.
- agent/turn_scripted_prelude.py: `Generator[...]` gets its third argument back. d76cce4f11
applied UP043 (default type args, valid only from 3.13) to a module-level alias, so
`Generator[Y, S]` raises TypeError on 3.11/3.12 and takes gateway.run, agent.conversation_loop
and tui_gateway.{server,ws,entry} down with it.
- ruff.strict.toml target-version = "py311", the requires-python floor. With it UP037 leaves
these quotes alone and only strips the two that are genuinely redundant, which this commit
strips; any future version-gated fix stays valid on every supported Python.
- tests/ci/test_strict_ruff_target.py pins the target to the requires-python floor (red on main).
2026-10-09 14:25:07 -07:00
..
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 14:25:07 -07:00
2026-10-08 19:00:45 -07:00
2026-10-09 17:34:38 +02:00
2026-10-06 14:22:13 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-06 14:22:13 -07:00
2026-10-08 00:49:32 -07:00
2026-10-08 03:50:22 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 19:54:07 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 21:29:48 +02:00
2026-10-09 17:31:52 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 14:25:07 -07:00
2026-10-09 02:04:29 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 21:29:48 +02:00
2026-10-09 17:31:52 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-08 21:29:48 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 19:54:07 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-09 17:31:52 +02:00
2026-10-09 17:31:52 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-05 16:46:53 -05:00
2026-10-09 17:31:52 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 19:54:07 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 21:35:58 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 19:54:07 +02:00
2026-10-05 01:15:16 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 15:36:14 -04:00
2026-10-08 17:22:54 +02:00
2026-10-07 11:19:10 +05:30
2026-10-09 17:34:36 +02:00
2026-10-08 21:38:05 +02:00
2026-10-03 10:26:12 -07:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 14:25:07 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 14:25:07 -07:00
2026-10-09 17:31:52 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-08 21:29:48 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-09 14:03:30 -07:00
2026-10-09 14:03:30 -07:00
2026-10-08 17:22:54 +02:00
2026-10-06 00:00:57 -04:00
2026-10-09 14:25:07 -07:00
2026-10-09 14:25:07 -07:00
2026-10-09 14:25:07 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 21:29:48 +02:00
2026-10-07 01:03:03 +05:30
2026-10-05 18:39:43 -05:00
2026-10-04 00:08:20 -07:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:36 +02:00
2026-10-08 00:41:21 +05:30
2026-10-09 17:34:36 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 21:29:48 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:36 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 14:03:30 -07:00
2026-10-08 17:22:54 +02:00
2026-10-09 13:58:16 -07:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-09 17:31:52 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-09 17:34:36 +02:00
2026-10-09 13:58:16 -07:00
2026-10-09 17:34:36 +02:00
2026-10-09 14:25:07 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 19:42:29 +02:00
2026-10-05 20:08:11 +05:30
2026-10-08 17:22:54 +02:00
2026-10-08 19:54:07 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-09 17:31:52 +02:00
2026-10-09 17:34:38 +02:00
2026-10-07 01:02:34 +05:30
2026-10-07 01:02:34 +05:30
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-05 12:37:46 -04:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 02:34:03 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:36 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00