.project/ files written by darnit do not conform to the upstream CNCF dot-project schema
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 38/100
Línea de trabajo
Start with packages/darnit/src/darnit/context/dot_project.py, packages/darnit/src/darnit/config/context_storage.py, and the OSPS-DO-02.01 entry in packages/darnit-baseline/src/darnit_baseline/openssf-baseline.toml; compare their behavior with the referenced upstream SCHEMA.md and validator. The issue lists five compatibility gaps and proposed directions; check related issues #468, #469, and #463 before defining a bounded change. Done means the agreed changes are covered by tests and written fixtures validate against the upstream schema.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
.project/ is darnit's primary mechanism for project metadata, but the files darnit writes do not conform to the upstream CNCF dot-project schema (cncf/automation utilities/dot-project, SCHEMA.md version 1.0.0 at commit fb391624922b, 2026-09-24):
- Schema version. New
project.yamlfiles are seeded withschema_version: "1.4.0"(https://github.com/darnitdevorg/darnit/blob/032493b8bc9d6ef810ecd639e515042371465c37/packages/darnit/src/darnit/context/dot_project.py#L65, used at #L998). The upstream validator'sSupportedSchemaVersionsis["1.0.0"]. security.contactshape. Upstream definessecurity.contactas an object (email/advisory_url). darnit writes a bare string there (https://github.com/darnitdevorg/darnit/blob/032493b8bc9d6ef810ecd639e515042371465c37/packages/darnit/src/darnit/config/context_storage.py#L381-L386).- Unknown and relocated fields. The upstream decoder rejects unknown fields and the
Projectstruct has no extension field; some upstream fields (e.g.slug,project_lead,package_managers,landscape) are read into or written from.project/darnit.yamlinstead ofproject.yaml. - Wrong locator. OSPS-DO-02.01 ("Document bug reporting process") uses
project_path = "security.policy"(https://github.com/darnitdevorg/darnit/blob/032493b8bc9d6ef810ecd639e515042371465c37/packages/darnit-baseline/src/darnit_baseline/openssf-baseline.toml#L1421), so remediation and lookup treat the security policy as the bug-reporting process. - Non-CNCF projects.
maturity_logis required upstream and CNCF-specific, so a project outside the CNCF cannot produce a validproject.yaml.
Impact
Files darnit creates or edits may fail upstream validation and CNCF tooling, and values can be read back with the wrong meaning. Since .project/ is the primary store, darnit should round-trip it faithfully.
Suggested direction
- Pin darnit to the upstream schema version it actually implements, and add a CI check that validates darnit-written fixtures with the upstream validator.
- Write
security.contactin the upstream object form and read both forms. - Keep upstream fields in
project.yaml; limitdarnit.yamlto darnit-specific keys. - Fix the DO-02.01 locator.
- Propose upstream changes where
.project/cannot express what non-CNCF projects need (making CNCF-only required fields optional, a sanctioned extension mechanism), rather than diverging locally.
Related: #468, #469, #463.
- Lenguaje dominante
- Python
- Estrellas
- 22
- Forks
- 27
- Merge medio
- 2 d 28 min
- PR fusionados (30 d)
- 40
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 darnitdevorg/darnit
-
needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
darnitdevorg/darnit#589 ·
Los mantenedores suelen responder en 1 día
-
needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
darnitdevorg/darnit#587 ·
Los mantenedores suelen responder en 1 día
-
needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
darnitdevorg/darnit#585 ·
Los mantenedores suelen responder en 1 día
-
quality
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
darnitdevorg/darnit#523 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
darnitdevorg/darnit#516 ·
Los mantenedores suelen responder en 1 día
Todos los issues de darnitdevorg/darnit
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
aws-samples/sample-per-model-bedrock#191 ·
Los mantenedores suelen responder en 1 día
-
area: docs enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
PyTomography/PyTomography#331 ·
Los mantenedores suelen responder en 1 día
-
effort: low prio: low ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
digitalfabrik/integreat-cms#4616 ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
FuRongJun-1999/dsh-memory#226 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug difficulty:2 good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
MakazhanAlpamys/Soup#1865 ·
Los mantenedores suelen responder en 1 día