c21fc0a272
New independent subpackage EvoScientist/model_registry implementing the
frozen unified model configuration design (v1.1.0, sections 4.2, 4.3,
5.1, 8.2, 9.5):
- schemas.py: single Pydantic v2 RegistryV4 schema (ModelRef, ProviderConfig,
ModelConfig, AuthConfig) plus AdapterParameterSpec/AuthSpec/ParameterRule,
ModelAvailability, ResolvedModelConfig (no secrets), CredentialStatus
- errors.py: all 23 stable error codes from the 9.5 table with HTTP status
mapping and the unified {code, message, details, request_id} payload
- store.py: ModelRuntimeStore over model-runtime.sqlite3 (0700 dir, 0600
file, WAL, foreign keys, busy_timeout) with BEGIN IMMEDIATE revision CAS,
bootstrap->active atomic transition, immutable credential versions with
masked status, model_verifications upsert, run_runtime_snapshots partial
unique index, delegation_jtis, and shared-storage lock probe
- hashing.py: normalized SHA-256 configuration_hash
No existing module behavior changed. 89 new tests; full suite passes
(2922 passed, 10 skipped).