Keep diagnostic codes in one registry and check spec Appendix A against it
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- backend, cli, documentation, testing
Línea de trabajo
Start with packages/engine/src/diagnostics.ts and packages/engine/src/types.ts to trace diagnostic definitions, then follow the CLI emitters in packages/cli/src/commands/check.ts and packages/cli/src/generate/verify.ts. Read docs/spec/content-pack.md Appendix A and compare its codes and severities with the registry. Done means unregistered codes are rejected, CI detects any Appendix A mismatch, and both packs retain their current lexvm check --json output.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Context
Diagnostic codes are a public contract: LLM repair loops, --json consumers and the documentation rely on them. Today they are string literals spread over the compiler, analyzer, verifier, play-time estimate, lexvm check (check.*) and lexvm generate (verify.*), and Appendix A of the specification is maintained by hand. Engine and CLI codes had to be aligned by hand during v0.1, and before the v0.1 pull request Appendix A was completed by diffing it against every code literal in packages/engine/src and packages/cli/src; that check cannot be repeated automatically. verify.<gate>-crashed and yaml.<code> are built from templates.
Scope
- One registry in the engine: code, severity, stage and a one-line meaning. Emitters use typed constants; the
yaml.<code>andschema.<code>families are registered as prefixes. - CLI codes come from the same registry.
- A test or generator that keeps Appendix A and the registry identical (codes and severities).
Acceptance criteria
- Emitting an unregistered code fails the typecheck or a test.
- CI fails when Appendix A and the registry disagree.
- No code or severity changes for existing packs:
lexvm check --jsonoutput for both packs is unchanged.
References
- packages/engine/src/diagnostics.ts
- packages/engine/src/types.ts (Diagnostic)
- packages/cli/src/commands/check.ts
- packages/cli/src/generate/verify.ts
- docs/spec/content-pack.md (Appendix A)
- Lenguaje dominante
- TypeScript
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 1 h 24 min
- PR fusionados (30 d)
- 5
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 nullthrone/lexvm
-
area: web good first issue priority: low type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
nullthrone/lexvm#49 ·
-
area: infra good first issue priority: low type: chore
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
nullthrone/lexvm#41 ·
-
area: engine good first issue priority: low type: feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
nullthrone/lexvm#27 ·
-
area: web priority: low type: research
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
nullthrone/lexvm#63 ·
-
area: infra area: web priority: medium type: chore
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
nullthrone/lexvm#62 ·
Todos los issues de nullthrone/lexvm
Issues similares
-
ci-cd desktop size:low telemetry-improvement telemetry-round-1
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
vfarcic/dot-agent-deck#2079 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Broken links in the docsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
status:in-linear
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
n8n-io/n8n#43006 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
🔊 a11y
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
betagouv/mon-entreprise#4726 ·
Los mantenedores suelen responder en 9 días