Protobuf: schema-declared judges example modules whose own buf.yaml disables PACKAGE_DEFINED; link-check and markdownlint do not apply to a Protobuf-only repo's Markdown docs

Abierto
#271 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

Start with _read_proto in project_validator/ecosystems/protobuf.py, which ignores the lint.except entries in examples/buf.yaml and e2e/bzlmod/buf.yaml, and compare it with how the tests/migrate fixtures are marked "not judged". Separately, find where the link-check SKIP reason "no recognised language" is produced, since plain Markdown docs with a .lychee.toml are not detected. Done means the examples and e2e fixture no longer FAIL on PACKAGE_DEFINED when their buf.yaml disables it, and a Markdown-only docs directory with a link-checker config is judged rather than skipped.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bufbuild/protovalidate: FAIL "79 Protobuf files do not declare their package" for examples/*.proto and e2e/bzlmod/example.proto, separate buf modules whose buf.yaml turns off PACKAGE_DEFINED, the very rule the check implements (the tests/migrate fixtures are correctly "not judged"). opentelemetry-proto runs lychee over docs/*.md with a committed .lychee.toml on every push, but link-check SKIPs "not applicable to a project of no recognised language": plain Markdown documentation with a link checker is a documentation unit.

Evidence from the corpus audit

bufbuild/protovalidate / schema-declared
  • kind: FALSE_POSITIVE
  • actual: FAIL: 79 Protobuf files do not declare their syntax (or edition) and package (77 examples/*.proto: no package, e2e/bzlmod/example.proto: no package)
  • expected: PASS (or the examples noted the way proto/protovalidate-testing/tests/migrate/*.proto were, "not judged"): the examples and the e2e fixture are separate buf modules whose own buf.yaml turns off PACKAGE_DEFINED, the very rule the docs say this check implements; examples/ has role example in roles.py and e2e/ is an end-to-end fixture.
  • evidence: examples/buf.yaml:21-27: lint: / use: [STANDARD] / except: / - DIRECTORY_SAME_PACKAGE / - FIELD_NOT_REQUIRED / - PACKAGE_DEFINED; e2e/bzlmod/buf.yaml: except: [DIRECTORY_SAME_PACKAGE, PACKAGE_DEFINED, ...]; docs/ecosystems/protobuf.md: "its package, without which its messages are in the global namespace (buf's PACKAGE_DEFINED rule)"; validator project_validator/ecosystems/protobuf.py:_read_proto reads no buf.yaml lint exceptions.
  • repro: examples/buf.yaml with lint.except: [PACKAGE_DEFINED] beside examples/a.proto with syntax = "proto3"; and no package.
  • confidence: medium
open-telemetry/opentelemetry-proto / link-check
  • kind: UNSUPPORTED
  • actual: SKIP: not applicable to a project of no recognised language
  • expected: PASS (or at least applicable): CI runs lychee over the repository's Markdown documentation (docs/*.md, README.md) with a committed .lychee.toml, every push; the check only knows documentation sites (Sphinx, mdBook...), so plain Markdown docs plus lychee are invisible, and the SKIP reason ("no recognised language") is unrelated to what the check judges.
  • evidence: .github/workflows/build-check.yaml:161-162: - name: run markdown-link-check / run: make markdown-link-check; Makefile:172-181: LYCHEEIMAGE := $(shell awk '$$4=="lychee" {print $$2}' $(DEPENDENCIES_DOCKERFILE)) / docker run --rm ... $(LYCHEEIMAGE) --config home/repo/.lychee.toml --root-dir /home/repo -v home/repo; .lychee.toml:1: include_fragments = true.
  • repro: docs/index.md, .lychee.toml, workflow run: lychee --config .lychee.toml ..
  • confidence: low

Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ByTXNqDWdM7HzezrFtEvQt

Lenguaje dominante
Python
Estrellas
4
Forks
1
Merge medio
10 h 41 min
PR fusionados (30 d)
79

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de cpp-best-practices/project_validator

Todos los issues de cpp-best-practices/project_validator

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.