Generated 2026-09-02T10:51:46.473572+00:00. Window: 2026-09-01 00:00 to now.
Order: LLM-applied order
Every AI3D package config module now derives from iolabs.common.config_loader.ConfigModel (pydantic v2, unknown keys rejected, frozen, legacy coercion preserved) and is built with config_loader.load_config. About fifteen hand-rolled whitelist/coercion implementations were deleted. Adding a config key anywhere in the fleet is now: add the field to the model and the same key to the packaged *.default.json, nothing else.
83 AI3D-379 commits across 22 repos, all local and unpushed; iolabs-common 0.9.0 is not on Nexus. Per-repo chain: migration → repin iolabs-common>=0.9.0 → review fixes (Grok finder / Opus fixer, one Fable pass on the shared layer) → "Align config module with fleet pattern". Remaining commits in the window are AI3D-382 (already released) and unrelated small items.
bright_points_filter.visualize and road_surface_finder.visualize in 9 of 11 configs/jobs/*.json.Not migrated by design: legacy monorepo 3dai.iolabs.pointcloud, orchestrator scripts, repos without config code; four Bitbucket repos were not clonable with the SSH key (datasetsorter, datasetsorter.autotag, roadmarkingspocafterml, iokiriollpreview, modelingtools).
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:13:30+02:00
8 files · 63 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:00+02:00
5 files · 11 snippets · score 85
model_validators now pass through verbatim instead of being re-wrapped.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:56:50+02:00
3 files · 14 snippets · score 75
Annotated[...] inside Optional/sequences is unwrapped before coercion (real hit: visualizationoverlays RGBA tuples were bypassing the matrix).Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:09:53+02:00
5 files · 21 snippets · score 85
float(value) for Decimal / numpy scalars / 0-d arrays (bytes still rejected), matching the pre-pydantic helper.AliasChoices entry. Dead module logger removed.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:37:11+02:00
4 files · 20 snippets · score 75
<Name>Config / <Name><Section>Config naming, one <Name>ConfigError, keyword-only overrides/config_path, no field aliases, tuple sequence fields, fixed test names in tests/test_config.py.load_json_overrides(path, error_cls=): the one sanctioned reader for user JSON override files.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:35:55+02:00
7 files · 23 snippets · score 85
JobConfig becomes a ConfigModel; unknown job-config keys rejected with allowed-key hints. Step 8 wrapper switched to the new asphaltedge loader signature.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:09:03+02:00
2 files · 6 snippets · score 75
default_factory for the set-valued field (shared mutable default), malformed JSON raises JobConfigError, config tests added.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:39:11+02:00
3 files · 15 snippets · score 75
job_config.py: docstring shape, error class naming, canonical test names.Miroslav Simko <ms@iolabs.ch> 2026-09-02T11:50:10+02:00
2 files · 3 snippets · score 75
load_json_overrides; error text changes from “not valid JSON” to “Invalid JSON in config file …”.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:45:47+02:00
9 files · 21 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:08:03+02:00
3 files · 9 snippets · score 75
normalize_trajectory_config accepts a validated model; JSON/model parity test.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:36:31+02:00
3 files · 15 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:33:47+02:00
3 files · 5 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:36:46+02:00
5 files · 13 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:34:28+02:00
8 files · 25 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:07:34+02:00
6 files · 15 snippets · score 85
write_only_segments: null accepted, las_points_per_chunk > 0 enforced.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:37:55+02:00
4 files · 31 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <developer.ai@iolabs.ch> 2026-09-02T08:39:21+02:00
11 files · 57 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:14:20+02:00
4 files · 7 snippets · score 75
null config sections fall back to section defaults (pre-migration behaviour), re-validation instead of model_copy(update=), doc/test parity with the packaged JSON.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:39:41+02:00
4 files · 59 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:34:11+02:00
5 files · 21 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:56:49+02:00
4 files · 9 snippets · score 75
null config sections fall back to section defaults (pre-migration behaviour), re-validation instead of model_copy(update=), doc/test parity with the packaged JSON.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:38:09+02:00
3 files · 9 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:32:11+02:00
4 files · 9 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:58:33+02:00
2 files · 4 snippets · score 75
null config sections fall back to section defaults (pre-migration behaviour), re-validation instead of model_copy(update=), doc/test parity with the packaged JSON.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:36:56+02:00
6 files · 32 snippets · score 85
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:34:34+02:00
4 files · 11 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:58:12+02:00
3 files · 5 snippets · score 75
null config sections fall back to section defaults (pre-migration behaviour), re-validation instead of model_copy(update=), doc/test parity with the packaged JSON.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:38:40+02:00
11 files · 33 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:37:12+02:00
9 files · 51 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:04:35+02:00
2 files · 6 snippets · score 75
mask.connectivity coerced as int; non-mapping config rejected.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:40:09+02:00
6 files · 31 snippets · score 85
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:37:01+02:00
5 files · 11 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:39:14+02:00
5 files · 17 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:39:35+02:00
1 files · 1 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:36:01+02:00
4 files · 7 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:59:40+02:00
2 files · 4 snippets · score 75
collage_parts rejected with one clean error; colour-map values run through the RGBA coercion matrix.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:38:02+02:00
6 files · 39 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T11:50:12+02:00
1 files · 2 snippets · score 75
_load_json_overrides stand-in dropped in favour of the shared helper now exported by common.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <developer.ai@iolabs.ch> 2026-09-02T08:33:50+02:00
4 files · 7 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:44:31+02:00
7 files · 37 snippets · score 85
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:37:52+02:00
5 files · 21 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:59:21+02:00
3 files · 5 snippets · score 75
null config sections fall back to section defaults (pre-migration behaviour), re-validation instead of model_copy(update=), doc/test parity with the packaged JSON.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:37:29+02:00
4 files · 13 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:38:21+02:00
15 files · 113 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:01:03+02:00
3 files · 13 snippets · score 75
with_overrides() instead of model_copy(update=), which bypasses validation.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:41:44+02:00
9 files · 29 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:34:36+02:00
4 files · 11 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:58:10+02:00
2 files · 3 snippets · score 85
null config sections fall back to section defaults (pre-migration behaviour), re-validation instead of model_copy(update=), doc/test parity with the packaged JSON.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:39:31+02:00
3 files · 5 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:32:36+02:00
6 files · 23 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:56:30+02:00
1 files · 1 snippets · score 30
null config sections fall back to section defaults (pre-migration behaviour), re-validation instead of model_copy(update=), doc/test parity with the packaged JSON.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:38:53+02:00
3 files · 17 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:43:07+02:00
1 files · 1 snippets · score 85
iolabs-common>=0.9.0 pin only. uv.lock not regenerated on purpose: 0.9.0 is not on Nexus yet.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:51:14+02:00
32 files · 123 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:08:33+02:00
8 files · 31 snippets · score 75
model_dump(mode='json') for run-stats output, packaged JSON completed to the full model (125 keys added, 0 values changed), with_overrides re-validates.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:49:02+02:00
32 files · 71 snippets · score 85
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:49:19+02:00
13 files · 63 snippets · score 90
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:12:22+02:00
5 files · 12 snippets · score 75
null visualization rejected.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:40:19+02:00
27 files · 271 snippets · score 85
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:45:50+02:00
6 files · 24 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:19:39+02:00
4 files · 20 snippets · score 75
SectionModel null-means-default, int precision preserved, bool guard on precision/devices.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:39:03+02:00
6 files · 25 snippets · score 85
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:46:42+02:00
5 files · 25 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:20:38+02:00
4 files · 17 snippets · score 75
null config sections fall back to section defaults (pre-migration behaviour), re-validation instead of model_copy(update=), doc/test parity with the packaged JSON.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:36:44+02:00
5 files · 21 snippets · score 75
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:47:59+02:00
6 files · 27 snippets · score 85
ConfigModel: nested section models mirror the packaged *.default.json key for key; whitelist sets and hand-rolled coercion deleted; loader built on config_loader.load_config. Public entry-point names and return types unchanged so lanefinder wrappers keep working.pydantic>=2.7 dependency.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:21:59+02:00
4 files · 21 snippets · score 75
null config sections fall back to section defaults (pre-migration behaviour), re-validation instead of model_copy(update=), doc/test parity with the packaged JSON.Miroslav Simko <ms@iolabs.ch> 2026-09-02T09:39:04+02:00
6 files · 23 snippets · score 85
<Name><Section>Config), module constants, keyword-only entry points, canonical test names, README config section. No behaviour change intended.Miroslav Simko <ms@iolabs.ch> 2026-09-01T10:43:42+02:00
2 files · 11 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T10:43:42+02:00
2 files · 9 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T11:09:17+02:00
2 files · 6 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T14:54:43+02:00
2 files · 12 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T14:55:33+02:00
2 files · 6 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T15:08:19+02:00
4 files · 12 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T23:39:27+02:00
1 files · 4 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T23:39:27+02:00
4 files · 15 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-02T07:50:14+02:00
4 files · 117 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:02:29+02:00
2 files · 3 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-01T10:48:35+02:00
1 files · 13 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T10:48:35+02:00
2 files · 11 snippets · score 55
Miroslav Simko <ms@iolabs.ch> 2026-09-01T10:50:28+02:00
3 files · 5 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-01T14:54:28+02:00
1 files · 1 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-01T14:54:28+02:00
2 files · 13 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T15:11:02+02:00
1 files · 4 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T15:11:22+02:00
2 files · 10 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-01T15:11:49+02:00
2 files · 5 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-01T23:35:31+02:00
2 files · 5 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-02T07:29:48+02:00
3 files · 58 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:04:06+02:00
2 files · 23 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:04:07+02:00
2 files · 3 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-01T14:51:34+02:00
2 files · 7 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-02T07:50:11+02:00
3 files · 199 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:04:24+02:00
2 files · 5 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:04:26+02:00
2 files · 3 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-01T10:49:18+02:00
1 files · 8 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T11:07:39+02:00
1 files · 8 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T14:53:04+02:00
1 files · 2 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T14:53:04+02:00
1 files · 6 snippets · score 75
Miroslav Simko <ms@iolabs.ch> 2026-09-01T23:36:12+02:00
2 files · 9 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-02T07:50:17+02:00
4 files · 66 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:04:16+02:00
2 files · 5 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-02T08:04:17+02:00
2 files · 3 snippets · score 85
Miroslav Simko <ms@iolabs.ch> 2026-09-01T06:29:31Z
0 files · 0 snippets · score 10
Miroslav Simko <ms@iolabs.ch> 2026-09-01T08:28:50+02:00
1 files · 1 snippets · score 45
Miroslav Simko <ms@iolabs.ch> 2026-09-01T07:19:54Z
0 files · 0 snippets · score 10
Miroslav Simko <ms@iolabs.ch> 2026-09-01T08:10:21+02:00
1 files · 1 snippets · score 30
Ondrej Ciganik <oc@ioproperty.cz> 2026-09-01T19:05:09+02:00
1 files · 1 snippets · score 75
No matching commits.
config_model.py:ConfigModel(pydantic v2,extra=forbid, frozen,validate_default),load_config(packaged JSON → optional replacement file → deep-merged overrides → validated model),validate_config,format_validation_error(legacy-shaped messages: unknown keys with allowed-key hints, dotted field paths).field_validator('*', mode='before')routes every field through the legacy coercion matrix (coerce_config_value) so bool/int/float/str/Literal/Optional/list/tuple behave exactly as the hand-rolled helpers did.validate_allowed_keys,coerce_to_field_type,dataclass_from_mapping,validate_against_defaultskept asDeprecationWarningshims for published wheels.