Technical alignment: cross-source package metadata verification as a downstream QA layer
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 18/100
Línea de trabajo
This is a design discussion, not a code task: the three questions are for maintainers to answer about purl-validator's roadmap, its scope, and whether it wants a report format or ScanCode.io hook. Start by checking the repo's roadmap and existing validation code for scope, and read the linked pkgmeta-verify schemas/pmv-output.schema.json only for context. Done means the maintainers answer the scope and interface questions, which needs their input before anyone builds.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Technical alignment: cross-source package metadata verification as a downstream QA layer
Hi AboutCode team — I'm building a small, independent verification component that consumes existing metadata sources (registry APIs, deps.dev, ClearlyDefined, PurlDB) and produces verdicts about cross-source consistency with provenance, timestamps, and reproducible evidence. It is explicitly not another aggregator or scanner: it does not rebuild PURL databases, license scanning, or vulnerability deduplication. Think of it as a downstream QA layer that could plug into aggregation pipelines (e.g. CodeSupply's).
Before going further I wanted to check technical fit with purl-validator, since it is the closest existing piece.
What it does (PMV v0.1, Apache-2.0): https://github.com/yijigao/pkgmeta-verify
- Normalizes the same PURL across ≥2 sources per ecosystem (npm, PyPI), then adjudicates each field/version into one of:
REAL_ERROR/SYNC_DELAY/SEMANTIC_DIVERGENCE/INDETERMINATE(undecidable), each with source, timestamp, and an audit trail. - Hard rules: digest comparison only for same artifact + same algorithm; missing publication time →
undecidable, never assumed delay; empty evidence →undecidable, neverCONSISTENT. - Output schema (JSON Schema 2020-12, all instances validated):
schemas/pmv-output.schema.jsonin the repo.
Two real cases it caught (snapshots + SHA-256 manifest in evidence/):
pkg:npm/[email protected]→SEMANTIC_DIVERGENCE(license expression conjunction mismatch across sources; neither side auto-accepted).pkg:pypi/[email protected]→SYNC_DELAY(downstream lag, reported as a provable delay range only — fetch time is not treated as upstream update time).
Concrete questions:
- Does
purl-validator's roadmap include version-level existence / cross-source field-consistency checks, or is that intentionally out of scope? (I saw it currently validates base PURL existence.) - Is there an interface you'd prefer for consuming third-party verdicts like these (e.g. a specific report format, or a hook in ScanCode.io pipelines)?
- Any objection to me citing purl-validator as the "base existence layer" and this component as the "field/version consistency layer" in a funding proposal? No endorsement implied — just accurate layering.
This is a technical alignment ping only; I'm not asking for endorsement or merge commitment. Any feedback on fit or interface is welcome.
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de aboutcode-org/purl-validator
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
aboutcode-org/purl-validator#31 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Check type of PURLAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
aboutcode-org/purl-validator#29 · 2 comentarios · 2 reacciones ·
Todos los issues de aboutcode-org/purl-validator
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Graphify-Labs/graphify#4860 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
:bug: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
scikit-image/scikit-image#8377 ·
Los mantenedores suelen responder en 1 día
-
Ingredient import validation accepts negative nutrient values and NaNPosiblemente ocupada @LukeSekai la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
wger-project/wger#2564 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/ponymail-foal#351 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
Los mantenedores suelen responder en 4 días