Align presentation definition filter evaluation with JSON Schema semantics
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia da matchFilter in vcr/pe e dalla sezione filter-semantics della Validate godoc, quindi confrontali con il vendored JSON Schema validator in vcr/pe/schema/v2. Esamina la documentazione sui capture-group in docs/pages/deployment/policy.rst e la relazione con selection-engine in #4253. Il lavoro è completato quando è stato deciso un approccio di compatibilità, sono stati aggiornati i comportamenti di validazione e valutazione, i capture groups sono stati preservati o migrati e l'impatto sulla release è stato documentato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
PEX defines a field's filter as a full JSON Schema (our own wire schema declares it as a draft-07 $ref), but matchFilter in vcr/pe implements a subset with semantics that deviate from JSON Schema. The load-time validator added in #4281 documents and flags the consequences (see the filter-semantics section in the Validate godoc), but the underlying evaluation is unchanged. This issue tracks the deliberate decision whether and how to align.
Current deviations
enumshadows every other keyword:type,constandpatternare not evaluated whenenumis set. JSON Schema ANDs all keywords.Filter.ConstandFilter.Enumare string-typed in Go: spec-valid numeric or boolean consts fail at parse with an unmarshal error, and values compare as strings only.patternis only evaluated whentypeis "string"; JSON Schema applies keywords per value type (a number trivially passespattern).- Numeric keywords (
minimum,maximum,multipleOf),minLength,formatand composition (allOf,anyOf,not) are not implemented. Since #4281 they are rejected bype.Validatefor own policy files instead of being silently dropped; remote PDs still parse leniently and match weaker than declared. - Consequence of 1-4: numeric claim values cannot be value-constrained at all. Documented guidance is to issue filterable claims as strings.
Considerations
- The evaluation machinery is already vendored:
santhosh-tekuri/jsonschemavalidates the PD documents themselves (vcr/pe/schema/v2). Filter-level evaluation would be wiring, not a new dependency, and schemas can be compiled once at PD load. - The capture-group value extraction in
matchFilteris a documented feature (docs/pages/deployment/policy.rst, "Extracting substrings with regular expressions") with no JSON Schema counterpart. Any alignment must preserve it or provide a migration. - Changing filter semantics changes live matching behavior for counterparty-supplied PDs as well as own policies; this needs release notes and possibly a compatibility window.
- Ecosystem context: OpenID4VP 1.0 replaces PEX with DCQL. Decision 2026-07-16: PEX field matching stays (DCQL is less expressive for our field-binding use); eventual dual support is an option. That bounds how much to invest here.
Relates to #4253 (the selection engine consumes filter evaluation results; pe.Validate encodes the current semantics and must be updated together with any change here).
- Lingua principale
- Go
- Stelle
- 29
- Fork
- 24
- Merge medio
- 2g 18h
- PR unite (30g)
- 45
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nuts-foundation/nuts-node
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
nuts-foundation/nuts-node#4450 ·
I maintainer di solito rispondono entro 1 giorno
-
bug discuss
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
nuts-foundation/nuts-node#4436 ·
I maintainer di solito rispondono entro 1 giorno
-
auth bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
nuts-foundation/nuts-node#4435 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
nuts-foundation/nuts-node#4321 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
nuts-foundation/nuts-node#4230 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di nuts-foundation/nuts-node
Issue simili
-
[Bug]: ap gateway image build cannot find local policies on WindowsForse già presa @Jayzilva l’ha presa oggi. ApertaAspect/Configuration Severity/Major
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
wso2/api-platform#3912 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
keyxmakerx/Chronicle#1721 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Gentleman-Programming/gentle-ai#5720 ·
I maintainer di solito rispondono entro 1 giorno
-
compress: block buffers get re-zeroed on every call, and the zeroing is immediately overwrittenAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ClickHouse/ch-go#1218 ·
I maintainer di solito rispondono entro 13 giorni