Auditoría del repositorio — Fase 0
Auditoría del repositorio — Fase 0
Enlace a esta secciónFecha: 2026-10-25
Resultado: Fase 0 completada; el proyecto está en etapa documental.
Siguiente fase: Fase 1 — Especificación.
Este informe es una fotografía del repositorio en la fecha indicada. Sus afirmaciones sobre rama, archivos, CI y capacidades describen ese estado inicial, no el estado actual del proyecto.
1. Estado del repositorio
Enlace a esta sección- Ruta de trabajo:
oxido-lengue. - Rama activa:
main, alineada conorigin/mainen el commit2c3ba27al momento de la auditoría. - El historial tiene dos commits: uno de documentación de Óxido y un commit previo cuyo mensaje es “Change greeting from ‘Hello’ to ‘Goodbye’”.
- Cambios locales pendientes al auditar:
planmodificado;a futuro,AGENTS.md, los dos prompts de calidad/observabilidad ydocs/roadmap.mdpresentes como cambios locales o no versionados. - El inventario versionado en HEAD contiene únicamente
planya futuro.
Se preservaron todos los cambios locales; esta auditoría no los restablece ni los descarta.
2. Inventario técnico
Enlace a esta sección| Área | Estado observado | Clasificación |
|---|---|---|
| Workspace y manifiestos Cargo | No hay Cargo.toml ni workspace |
No existe |
| Toolchain | No hay rust-toolchain.toml |
No existe |
| Dependencias y lockfile | No hay Cargo.lock ni dependencias declaradas |
No existe |
| Código Rust del compilador | No hay archivos .rs |
No existe |
| Código fuente Óxido | No hay archivos .ox |
No existe |
| Lexer, parser y AST | Solo están descritos en plan |
Propuesto, no implementado |
| Backend de generación Rust | Solo está descrito en plan |
Propuesto, no implementado |
| CLI | Solo está descrita en plan |
Propuesta, no implementada |
| Pruebas automatizadas | No hay directorios ni archivos de pruebas | No existe una suite ejecutable |
| Fixtures y laboratorio | Descritos en plan y docs/roadmap.md |
Propuestos, no implementados |
| CI | No hay workflows ni configuración de CI | No existe |
| Extensión VS Code y LSP | Descritos en documentos | Propuestos, no implementados |
| Seguridad y cadena de suministro | Requisitos escritos en plan y AGENTS.md |
Política documental, controles aún no implementados |
| Rendimiento y métricas | Objetivos documentados; no hay benchmarks | Pendiente de implementación |
| Documentación | plan, a futuro, AGENTS.md, prompts de calidad/observabilidad y roadmap |
Parcial; falta documentación técnica formal de docs/ |
3. Decisiones documentadas que guían Fase 1
Enlace a esta sección- Óxido traduce archivos
.oxa Rust estándar y delega la semántica de tipos, ownership y compilación a Rust. - Se contemplan modos de indentación y de llaves, con un solo modo por proyecto.
- La configuración del proyecto es normativa; una declaración de modo por archivo no puede contradecirla.
- El alias propuesto para
crateespaquete; se proponen identificadores crudosr#nombrepara colisiones. - Los argumentos de macros se conservan como árboles de tokens opacos por defecto.
- La expresión final sin
;conserva el valor del bloque; con;el bloque vale(). - La decisión inicial de alcance es analizar estructura propia y preservar expresiones/tipos Rust como tokens, validándolos con
syncuando corresponda. - El backend debe generar Rust con tokens/AST, no concatenando texto de entrada.
- Desde el primer compilador se requiere mapa de posiciones
.ox↔.rs, diagnósticos JSON de Cargo y una prueba de ida y vuelta para el subconjunto reversible. - No se envía telemetría remota por defecto. Las mediciones de rendimiento son locales y reproducibles; Prometheus no se requiere para la CLI local.
Estas son decisiones escritas en documentos, no capacidades probadas ni una gramática formal terminada.
4. Huecos y riesgos
Enlace a esta sección- Especificación todavía incompleta: las decisiones guía están registradas, pero faltan gramática formal, lista cerrada de alias por edición, tokens, precedencias, reglas de continuaciones y criterios detallados de compatibilidad.
- Sin prueba end-to-end: todavía no existe código que lea
.ox, emita.rs, invoque Cargo y ejecute el resultado. - Sin evidencia de compilación: no hay toolchain/dependencias configuradas; no se intentó compilar.
- Sin pruebas disponibles: no existe suite de pruebas en el repositorio; no se ejecutaron pruebas. No debe interpretarse como suite aprobada.
- Documentación faltante: aún no existen
README.md,CONTRIBUTING.md,SECURITY.md,CHANGELOG.md,LICENSEni las especificaciones técnicas bajodocs/requeridas porplan. - Alcance por priorizar: la API REST de referencia aparece en
plan, pero no es necesaria para probar el primer compilador. Se debe postergar hasta que el pipeline .ox → Rust esté implementado y se haya demostrado interoperabilidad suficiente. - Riesgos de seguridad identificados y aún sin controles ejecutables: entrada hostil, límites de parser, Unicode bidireccional, rutas y symlinks, procesos de compilación,
build.rs/macros procedurales, LSP y futuro playground. - Estado local no integrado: existen cambios documentales locales y archivos no versionados. No se creó una rama nueva ni se modificó el historial.
5. Verificaciones realizadas
Enlace a esta sección- Inventario de archivos del workspace y archivos versionados con
git ls-tree/git ls-files. - Estado, rama, referencias remotas e historial con
git status,git branch,git remoteygit log. - Búsqueda de manifiestos Cargo, lockfile, toolchain, fuentes Rust/Óxido y archivos de pruebas.
- Lectura de instrucciones y documentos de especificación/roadmap.
Pruebas, formato y compilación: no ejecutados; no existe proyecto Cargo ni suite en este repositorio.
6. Resultado de Fase 0
Enlace a esta secciónLa auditoría está completa como unidad documental: el estado real, las decisiones previas, los componentes inexistentes, los riesgos y la siguiente fase están identificados. No se declara implementada ninguna capacidad del lenguaje.
Fase 1 puede empezar sin bloqueo externo. Debe cerrar la gramática inicial, el alcance exacto del parser, alias/reservadas, semántica de bloques, compatibilidad, diagnósticos y criterios de aceptación antes de crear el workspace funcional.
El cierre de Fase 0 no se reabre por la evolución posterior del repositorio: este informe es deliberadamente histórico. Los estados actuales se registran en roadmap.md y cada fase enlaza su evidencia correspondiente.