registrystack / registrystack/registry-stack
fix(casework): align runtime schema secret-reference validation
- Vorherrschende Sprache
- Rust
- Sterne
- 2
- Forks
- 0
- Ø Merge
- 2 Std. 55 Min.
- Gemergte PRs (30 T.)
- 130
Beschreibung
The generated Casework runtime schema applies exact secret-reference validation to static JWKS `documentRef`, but database, audit, and BReg source-binding references still use only a provider-prefix pattern. For example, the schema accepts `database.runtimeUrlRef: secret:env/lowercase`, or `secret:env/DB` when only the file provider is enabled. `RuntimeConfig::validate_secret_references` correctly rejects both.
Triage: nonblocking editor-validation consistency defect. Runtime reference grammar and provider enforcement remain effective; this does not allow an invalid configuration to run. Defer from #996 so its reviewed, passing implementation can merge.
Follow-up work:
- Apply `SECRET_REFERENCE_SCHEMA_PATTERN` to every secret-reference field in `crates/registry-casework/src/schema.rs`.
- Require the corresponding non-null enabled provider for database, audit, static JWKS, and arbitrary BReg source bindings.
- Preserve valid absent/null optional references, and handle mixed file/environment references across multiple sources.
- Add schema/runtime parity tests for invalid reference grammar, missing or null providers, optional references, and valid mixed sources.
- Regenerate the committed runtime schema and any dependent identifier catalog output with their owning generators; run focused schema and generated-contract checks.
Original review: https://github.com/registrystack/registry-stack/pull/996#discussion_r3995094763
Beitragsleitfaden
Rechercherichtung
Beginnen Sie in crates/registry-casework/src/schema.rs und vergleichen Sie dessen Regeln für Geheimnisreferenzen mit RuntimeConfig::validate_secret_references. Fügen Sie eine Paritätsabdeckung für ungültige Grammatik, Provider-Verfügbarkeit, optionale Referenzen und gemischte Quellen hinzu und verwenden Sie anschließend die zuständigen Generatoren, um das festgeschriebene Laufzeitschema und den Bezeichnerkatalog neu zu generieren. Führen Sie die fokussierten Prüfungen für das Schema und den generierten Vertrag aus; abgeschlossen ist die Aufgabe, wenn Schema- und Laufzeitvalidierung übereinstimmen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- api, backend, testing
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100