Blocking gap for D0.1c, found by the D0.1b inventory. The site's 31 operational-setting declarations carry validator callables (_bounded_int(min,max), _one_of(...), _url(schemes), _sender, _origin). The released community_base.config.declare (v0.3.0) has only value_type coercion plus an is_email flag — a within-type out-of-range value coerces cleanly package-side. Until the package grows a validation vocabulary (bounded int with min/max, choice set, URL schemes), validation must stay adapter-owned: the D0.1c shim runs the site validator callables after package coercion. Evidence: _docs/adoption/settings-contract-inventory.md GAP-1; core/tests/test_community_base_config_parity.py documents the coercion behavior.
Blocking gap for D0.1c, found by the D0.1b inventory. The site's 31 operational-setting declarations carry validator callables (
_bounded_int(min,max),_one_of(...),_url(schemes),_sender,_origin). The releasedcommunity_base.config.declare(v0.3.0) has onlyvalue_typecoercion plus anis_emailflag — a within-type out-of-range value coerces cleanly package-side. Until the package grows a validation vocabulary (bounded int with min/max, choice set, URL schemes), validation must stay adapter-owned: the D0.1c shim runs the site validator callables after package coercion. Evidence:_docs/adoption/settings-contract-inventory.mdGAP-1;core/tests/test_community_base_config_parity.pydocuments the coercion behavior.