SV Documentación de laboratorios
Abrir Playground · Panel de pruebas

DOCUMENTACIÓN / DEPENDENCIAS Y CONTINUIDAD

Dependencias y continuidad

Continuación material · 018

La comparación local .NET/FFI y WebAssembly ya está ejecutada: paridad de 79 casos, 36000 muestras y contención de fallos. La integración completa con el bus y R1 sigue pendiente. Los estados anteriores se conservan como antecedentes. Ver resultado, costes y límites actuales.

Alcance documental

Contraste del corte identificado y criterios pendientes. No es una nueva ejecución del prototipo ni un cierre de garantías.

Fecha de consulta: 6 de septiembre de 2026. Estado: inventario acotado y opciones identificadas; sin migración ni instalación de servicios. Corte del laboratorio: 893ccc19b74c1a1380e4ed8ec29d9c02dbb6928b.

Hecho y alcance

El prototipo 0.2 construido utiliza TCP local, socket Unix y SQLite incorporado. No requiere API remotas durante su funcionamiento. Su construcción, pruebas alojadas, custodia remota y documentación sí dependen de servicios externos. La ausencia de conectores remotos en el prototipo no demuestra autonomía del proceso de desarrollo.

Las ejecuciones #6 y #7, 34020051299 y 34020269127, fueron consultadas y constan terminadas correctamente. El fallo histórico #5 pertenece a A05; no demuestra agotamiento de cuota. El aviso sobre formato de tokens de instalación tampoco acredita un fallo de esas ejecuciones. No se ha consultado el saldo de facturación de la cuenta y no se estima a partir de una captura o del número de flujos visibles.

Inventario mínimo

CapaDependencia observadaSustitución o continuidad posibleLo que sigue sin probarse
Código e historialRepositorios GitHub; ramas y referencias diferenciadasCopia Git íntegra con referencias; copia adicional de incidencias, revisiones y configuración necesariasRestauración completa sin GitHub; Git por sí solo no conserva todos sus metadatos
ConstrucciónRust 1.98.0, herramientas del sistema y paquetes Cargo fijadosCompilador conservado, dependencias locales verificadas y entorno descritoConstrucción completa sin acceso a registros remotos; Cargo.lock no contiene los paquetes
Ejecución de sondasUbuntu 24.04 alojado; Python; sudo, UID distinto y utilidades LinuxMismos ejecutores locales en equipo o máquina virtual aisladaRepetición independiente equivalente y permisos materiales del equipo alternativo
Programación de trabajosArchivo de Actions, acciones checkout y upload-artifact fijadas por commitComandos directos; posteriormente un planificador propio si se justificaSustitución de todos los comportamientos del proveedor
EvidenciaZIP con manifiesto; copia en artefacto, logs y repositorio privadoCopia fuera del proveedor, íntegra, con restauración comprobadaIndependencia de fallo: tres copias dentro de GitHub comparten proveedor
DocumentaciónHTML, CSS, JSON y JavaScript estáticos en PagesServidor estático alternativo o copia consultable localmenteDespliegue y restauración del sitio en otro alojamiento
Funcionamiento 0.2Bibliotecas locales, sistema operativo y almacenamientoConservar binario, fuentes y requisitos materialesSeguridad integral de dependencias, plataforma y residuos

La reproducción local del README omite la fase 0.2. Para reproducir el alcance actual deben ejecutarse, en un directorio nuevo y entorno preparado, entorno.py, campana.py, fase02.py y empaquetar.py, en ese orden, conservando códigos de salida y resultados. Los scripts de campaña utilizan Rust 1.98.0 y construcción con --locked. La compatibilidad de recetas no sustituye una ejecución verificada en otra máquina.

Hay además un acoplamiento de custodia al transporte de logs: empaquetar.py crea el ZIP, pero termina con error si su representación base64 supera 8.000.000 de caracteres. El cierre del paquete y la copia por logs deberán distinguirse cuando se prepare la reproducción autónoma. Esta observación procede de la fuente; no se ha provocado un nuevo fallo del empaquetador.

Límites del plan gratuito

La documentación oficial de facturación de Actions indica 2.000 minutos mensuales y 500 MB de artefactos para GitHub Free. La cuota de minutos pertenece al propietario; no es una cuota independiente por repositorio. El almacenamiento de artefactos comparte asignación con GitHub Packages; la caché tiene una asignación separada.

Los ejecutores estándar en repositorios públicos y los usos de Pages indicados por GitHub son gratuitos. Los ejecutores propios figuran actualmente sin cargo por uso de Actions. Si no existe un medio de pago válido, agotar la cuota bloquea el uso sujeto a ella; con pago, se aplican las condiciones y presupuestos de la cuenta. Estas condiciones deben volver a comprobarse antes de una decisión de gasto. No se modifica facturación, presupuesto ni retención.

Opciones examinadas

OpciónVentaja para este laboratorioDependencia o coste que permaneceValoración
Equipo Linux o máquina virtual para ejecutar los comandos existentesSepara la ejecución material de la programación de Actions con poca infraestructura adicionalPreparación, aislamiento, energía, copias y mantenimiento; compilador y paquetes deben estar disponiblesPrimer candidato para un futuro ensayo de autonomía
Ejecutor propio conectado a GitHub ActionsMantiene el flujo y controla el equipoGitHub sigue programando y coordinando; exige aislamiento del ejecutorReduce dependencia de cómputo, no del proveedor
Forgejo y Forgejo Runner propiosAlojamiento Git e integración continua administrables; posibilidad de conservar paquetes y artefactosActualizaciones, identidad, copias, red, aislamiento y recuperación a cargo del proyectoCandidato a base propia si se acredita la necesidad
Forgejo con WoodpeckerSepara alojamiento del código y motor de integración continuaOtro servicio y configuración adicionalAlternativa si aporta una función necesaria
GitLab administrado por el proyectoPlataforma integrada con integración continua y más serviciosMayor conjunto de componentes a dimensionar y mantenerNo se propone desplegarlo para esta fase acotada

Fuentes oficiales: administración de Forgejo Actions, Woodpecker y ejecución local, requisitos de instalación de GitLab. Forgejo y su ejecutor se instalan por separado; cambiar de motor exige comprobar compatibilidad de los flujos, no sólo copiar YAML. Su documentación identifica expresamente el ejecutor como una superficie de ejecución remota de código.

Una base propia puede reunir código, compiladores y paquetes, ejecución de pruebas, evidencias y documentación. No requiere que todo resida en un único equipo ni con los mismos privilegios. El ejecutor sometido a pruebas debe quedar separado de las copias de recuperación y de las credenciales de administración. Autohospedar desplaza la responsabilidad operativa; no elimina hardware, actualizaciones, electricidad, conectividad ni posibles servicios de alojamiento. No se han solicitado presupuestos ni dimensionado equipos.

Decisión acotada y criterio de salida futura

Se mantiene el circuito actual y se registra la dependencia. No se incorpora una plataforma, otro conector, un servicio de identidad, un registro remoto ni una migración. La primera reducción verificable sería una reproducción de la campaña desde una copia conservada, sin programación de Actions, acompañada de restauración de su evidencia.

Para afirmar autonomía frente a GitHub y los registros de descarga deberán conservarse y verificarse código, compilador, dependencias, herramientas del sistema y evidencia fuera de ese proveedor; ejecutar los mismos criterios sin acceso a esos servicios; y restaurar los resultados y la documentación. Una caché disponible o una copia que nunca se ha restaurado no cierra ese criterio. Las firmas y huellas acreditan integridad respecto de la referencia conservada; no demuestran que el productor de la evidencia fuera honesto.

La custodia externa y el ensayo autónomo quedan pendientes. No condicionan por sí solos las correcciones intrínsecas del Lenguaje, pero deben constar entre las obligaciones de continuidad de la infraestructura. No se presentan como una nueva garantía semántica del SV.

Incidencia posterior y repetición identificada

La ejecución 34021807895, número 8 produjo 16 PASS y un ERROR A04 por una carrera al detener un proceso que había desaparecido. No fue un fallo de cuota ni de transporte del paquete. La fase 0.2 quedó sin ejecutar en esa tanda.

La corrección acotada del controlador fue verificada en 34022055251, número 9: 17 testigos iniciales, 24 casos de fase 0.2 y 7 comprobaciones de limpieza correctos. El paquete completo está conservado en el registro 012, privado. El binario 0.2 es idéntico al anterior; el ejecutor expone ahora Intel Xeon, por lo que sus tiempos no se atribuyen causalmente a la corrección. Esta repetición sigue utilizando Actions y no acredita autonomía.

Comprobación local de recuperación · registro 014

Se recuperó la copia conservada de la ejecución #9 en un directorio nuevo fuera de Actions. El ZIP coincide con su objeto Git y con el SHA-256 fijado en el registro 012. Se verificaron CRC, conjunto de archivos y las 4.066 entradas del manifiesto antes y después de escribirlas en disco: 4.067 archivos restaurados, incluido el propio manifiesto. Tres controles sintéticos detectaron alteración, ausencia y adición de archivos.

El verificador no utiliza la red ni ejecuta el contenido del paquete. Se cotejaron los resultados históricos restaurados: 17 casos iniciales, 24 de fase 0.2 y 7 de limpieza. Son resultados de #9, no nuevas ejecuciones del prototipo. El guion y el resultado reproducible constan en el registro 014 · privado.

Esta comprobación reduce una incertidumbre concreta: el paquete puede inspeccionarse y restaurarse sin Actions. No acredita recompilación autónoma, recuperación de la instalación, una copia externa duradera ni repetición de las sondas en otra plataforma. Rust y Cargo no están disponibles en el PATH del entorno de recuperación; no se les atribuye una ejecución. El saldo real de la cuenta sigue sin consultar.

La revisión oficial mantiene GitHub Free en 2.000 minutos mensuales y 500 MB de artefactos; los ejecutores propios mantienen la coordinación de GitHub. La opción de menor alcance sigue siendo un entorno Linux aislado que ejecute los comandos del proyecto con compilador y dependencias conservados. Forgejo con su ejecutor es candidato para una base administrada por el proyecto si aparece una necesidad material. GitLab y Woodpecker siguen como alternativas estudiadas, sin instalación ni elección definitiva.

El criterio de autonomía permanece abierto: conservar y restaurar también fuentes completas, herramientas y dependencias; compilar y repetir los criterios sin descargar; conservar evidencia y documentación fuera del proveedor con recuperación comprobada. No se añade un servicio ni se cambia el flujo actual.