tractor/ai
Gud Boi 9a0f220fd5 Fix built-in level names in `at_least_level()`
The `CUSTOM_LEVELS`-only lookup raised `KeyError` for built-in
log levels such as 'INFO'. Resolve other registered names through
`logging.getLevelNamesMapping()` only when the custom lookup
misses, without eagerly evaluating the fallback on custom hits.

Deats,
- keep custom precedence, case-insensitive names and `NOTSET=0`;
- preserve integer inputs and unknown-name `KeyError` behavior;
- keep logger-local and global `isEnabledFor()` disable controls;
- advertise integer inputs on the adapter's `at_least_level()`;
- add 62 raw/adapted regressions with explicit threshold examples
  and fixture docs distinguishing instance and global log state.

The logging suite passed all 70 cases; the original Piker consumer
probe passed 8/8 with its string-level feed guard retained.

Prompt-IO: ai/prompt-io/20261011T053737Z_a966928d_prompt_io.md

(this patch was generated in some part by `opencode` using
`gpt-6.1-sol` (`openai`))
2026-10-16 20:31:49 -04:00
..
conc-anal Restore high-fanout startup cancellation stress 2026-08-26 17:00:44 -04:00
prompt-io Fix built-in level names in `at_least_level()` 2026-10-16 20:31:49 -04:00
tooling-todos Add `logspec` leaf-mod Route B follow-up doc 2026-06-17 15:47:07 -04:00
tpt-backends Model bindspaces as scoped capabilities 2026-09-01 15:47:26 -04:00