deps check: a pinned copy is reported up to date even when a newer release exists
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 28/100
Línea de trabajo
Comienza en el punto de entrada modelith deps check y lee ADR-0016; después, sigue cómo se comparan el pinned ref y el contenido de origin. Resuelve la búsqueda de tags frente a branches y elige entre las formas propuestas de reporting, semver u opt-in; se considera terminado cuando las copias fijadas pueden mostrar tags nuevos relevantes sin hacer suposiciones incorrectas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
modelith deps check compares the content its origin serves against the digest the copy's header records, at the ref that header names. On a branch that works: the branch moves, the content changes, the check reports it.
On a tag it never fires. A copy pinned to v2.1.0 is reported as up to date for as long as v2.1.0 points where it did, which for a well-behaved tag is forever. v2.3.0 can ship and nothing says so.
That is the correct answer to the question the command asks, and it is not the question a user with a pinned copy has. Today the output at least names the ref on every line, so the verdict reads as a statement about the pin rather than about the world, but naming the limit is not the same as fixing it.
Why it was left out
Deciding which tags count as newer means guessing at a versioning scheme. Semver ordering, prerelease handling, projects that tag 2026-07-27 or release-14 or nothing at all. Every one of those is a judgment modelith has no basis to make, and getting it wrong is worse than staying quiet: a tool that tells you v2.10.0 is older than v2.9.0 teaches you to stop reading it.
Recorded as a consequence in ADR-0016.
Shapes worth considering
- Report tags, order nothing.
deps checklists the tags the origin has that are not the pinned one, newest by creation date, and leaves the choice to the user. No version parsing, and the date ordering comes from the API rather than from a guess about the naming scheme. - Semver when it applies. Attempt a semver parse; if the pinned ref and the candidates all parse, order them and name the newest. If any does not parse, fall back to the shape above. The cost is two behaviors to explain.
- A flag rather than a default.
deps check --releasesmakes it opt-in, which keeps the common path at one API call per copy. Chasing tags is a second call at minimum, and for a large repository the tag list is not small.
Prerequisites
Whatever the shape, it needs a way to tell a tag from a branch. The header stores a bare ref string and modelith deliberately does not guess from its spelling, so this means asking the origin. That is a real API call and a real design decision about when to spend it.
What would settle it
A user with a pinned copy who missed a release they wanted. The current behavior is a limitation rather than a bug, so the shape should be chosen against a real case rather than in the abstract.
- Lenguaje dominante
- Go
- Estrellas
- 35
- Forks
- 5
- Merge medio
- 5 h 7 min
- PR fusionados (30 d)
- 6
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 stacklok/modelith
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
lint accepts modelith-ref-type on a GitHub-origin provenance headerPosiblemente ocupada @gosharplite la tomó hace 9 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
ADR-0019 cites a nonexistent test and omits the ones that pin its decisionsPosiblemente ocupada @gosharplite la tomó hace 9 días. Abiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 92/100
-
enhancement
Dificultad 2/5 Medio día Aptitud para principiantes 68/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
Todos los issues de stacklok/modelith
Issues similares
-
automation models
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug llm-stack needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Alert email subjects don't identify the host — same container on multiple hosts, identical subjectsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
P3 Type: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
grpc/grpc-go#9483 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
needs-area needs-kind needs-priority needs-status needs-triage
Dificultad 2/5 Menos de una hora Aptitud para principiantes 85/100
cncf/automation#736 ·
Los mantenedores suelen responder en 1 día