Add version-agnostic trait detection
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia tracciando come sono rappresentati i trait IDs generati e l’appartenenza ai trait-sets, quindi esamina i percorsi di query di TraitsData e dei trait-sets di specification menzionati nell’issue. Definisci prima la query minima per un singolo ID e indipendente dalla versione; considera le query di praticità per i container solo se il design esistente le supporta, e verifica che i trait IDs opachi restino utilizzabili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What
Support queries to detect whether a trait ID matches a trait, ignoring version.
Why
The work in https://github.com/OpenAssetIO/OpenAssetIO-MediaCreation/issues/64 developed a strategy for versioning of traits. This works by changing the unique ID of a trait to include a version number. This means that detecting if a trait set contains a trait, where the version is not important, means testing every version of the trait until one matches.
Hosts/managers are likely to want to branch at a high level based on traits, and not initially care what version they are.
There is a danger hosts/managers will work around this by abusing the format of the trait ID, i.e. to strip off the version tag. However, the trait ID should be viewed as opaque by consumers.
So at minimum we need a way to test if a single string ID is a given trait, ignoring version.
Notes
As an extension, version-agnostic trait set/data container queries could be added for convenience. Changes to TraitsData might be needed to do this efficiently.
A useful knock-on effect of this could allow specification trait sets to be version agnostic (though constructing a trait via a Specification view class would of course still need to choose a version).
- Lingua principale
- Python
- Stelle
- 7
- Fork
- 7
- Merge medio
- 1h 7m
- PR unite (30g)
- 1
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 OpenAssetIO/OpenAssetIO-TraitGen
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
OpenAssetIO/OpenAssetIO-TraitGen#123 · 2 commenti ·
-
good first issue
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
OpenAssetIO/OpenAssetIO-TraitGen#93 · 1 commento ·
-
Trait mutual exclusivityApertabreaking change risk
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Specification "inheritance"Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
OpenAssetIO/OpenAssetIO-TraitGen#65 · 1 commento ·
Tutte le issue di OpenAssetIO/OpenAssetIO-TraitGen
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
With emit_ontology_keys, one ontology key change is reported as two errors (keys and keys_digest)Forse già presa @rvandewater l’ha presa oggi. Apertabug priority:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
iausathub/satchecker#286 ·
I maintainer di solito rispondono entro 1 giorno
-
bug test
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
OpenAssetIO/OpenAssetIO#1527 ·
-
automated endpoint-dead needs-curation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
almanac-data/climate-almanac#128 ·
I maintainer di solito rispondono entro 1 giorno