Skip to content

feat(iso): perfil vivo y petición de imagen sin shell - #179

Merged
Alexendros merged 1 commit into
mainfrom
feat/imagen-viva-uefi
Oct 18, 2026
Merged

Alexendros merged 1 commit into
mainfrom
feat/imagen-viva-uefi

Conversation

@Alexendros

@Alexendros Alexendros commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Objetivo

Cerrar el incremento de imagen viva: Forge pide una ISO derivada de Arch Linux sin escribir discos y sin abrir un shell.

IDs trazados

  • ISO-01, ADR-0019, DEC-013
  • iso-scope.md (DOC-DEL-ISO-001), registro DOC-DEL-CLO-ISO04-001
  • NFR-MARK-001 (nombre público Forge, «derivada de Arch Linux»)

Cambios

  • La cara queda en cinco pasos: Sistema base → Entorno → Apps → Identidad y seguridad → Revisión. Sale el paso Disco.
  • El dominio exporta el target archmaker-live-profile (paquetes y profiledef.sh) sin pacstrap ni cmd.
  • «Pedir imagen» llama a constitute_image. Si no hay mkarchiso en el PATH responde constitution-mkarchiso-absent; si el binario está, constitution-mkarchiso-refused. No lo ejecuta.
  • El mock rechaza ese target con AM-TGT-001 y no inventa paquetes.
  • LiveISO queda cubierto por el arranque UEFI en VM de Forge-aaa81a961b0a-x86_64.iso (SHA-256 82f5afb1d80b682952ac616e4d52803a8730b6b85ab26a2dfd8c0ea2223d0745). La ISO no entra en el repo.

Fuera de alcance

Contratos/migraciones

  • DEC-013 añade el id técnico archmaker-live-profile. DEC-001 sigue con los tres targets anteriores.
  • Schemas JSON del artefacto y del manifiesto admiten el target nuevo.

Seguridad/privilegios

  • Sin shell, sin FS global, sin escritura de disco. restricted no tiene allow-constitute-image.
  • Un payload que no sea un objeto vacío se rechaza con constitution-script-rejected.

Accesibilidad/visual

  • Mismos controles de la cara. Baselines de inicio actualizadas al recorrido de cinco pasos.
  • Playwright mock-flow: 20 pruebas, toast constitution-mkarchiso-absent.

Pruebas y evidencias

  • cargo test --workspace --locked, cargo clippy --workspace --all-targets -- -D warnings, pnpm check.
  • Validadores de front matter, trazabilidad, schemas Tauri y capacidades negativas.
  • Hallazgo de revisión descartado: un digest SHA-256 en hex no puede contener cmd (la letra m no es hexadecimal). El rechazo sigue en los nombres de paquete.

Documentación

  • go-no-go.md, iso-scope.md, ADR-0019, roadmap y closure/iso04-mkarchiso-not-run.md.

Checklist DoD

  • Recorrido de cinco pasos y botón tipado sin shell
  • Perfil vivo reproducible y manifiesto bloqueante sin perfil
  • LiveISO por arranque UEFI en VM
  • SSD: not_run con motivo
  • Sin tag y sin mover v0.1.0

Note

Medium Risk
Amplía exportación y superficie Tauri (constitute_image) y cambia el contrato cara→motor; la mitigación es no ejecutar shell/mkarchiso desde el WebView y rechazar payloads no vacíos.

Overview
Forge pasa a un recorrido de cinco pasos (Sistema base → Revisión): desaparece disco/particiones, filesystem, cifrado y el CTA Exportar; en Revisión Pedir imagen llama a requestLiveImage / constitute_image y devuelve errores tipados (constitution-mkarchiso-absent / refused) sin ejecutar mkarchiso ni descargar JSON desde ese botón. Los borradores ya no envían storagePlan, cifrado ni selecciones de disco al motor (draftForCore / withFaceV2Fields).

Backend ISO-02/03: nuevo target archmaker-live-profile en core (render de packages.x86_64 + profiledef.sh, nombre Forge-<digest>-x86_64.iso, paquetes no redistribuibles en deferredFetch), crate archmaker-constitute (fetch tipado desde fixture, subcomando image que solo comprueba PATH), schemas/contratos y DEC-013 / ADR-0019. Tauri añade allow-constitute-image; gobierno y README alinean ISO-01 en el veredicto.

Playwright, golden iso02_live_profile y tests de capacidades negativas cubren el nuevo flujo y el target.

Reviewed by Cursor Bugbot for commit 3829b85. Configure here.

ISO-01 acepta la imagen viva x86_64 UEFI. El dominio exporta
archmaker-live-profile sin pacstrap ni cmd. La cara queda en cinco
pasos y «Pedir imagen» llama a constitute_image, que no ejecuta
mkarchiso. LiveISO queda cubierto por el arranque UEFI en VM. El SSD
sigue not_run. P6, F7 y v0.1.0 no se mueven.

Refs: ADR-0019, DEC-013
@Alexendros
Alexendros marked this pull request as ready for review October 18, 2026 20:58
@Alexendros
Alexendros merged commit d5dbbcc into main Oct 18, 2026
21 of 23 checks passed
@Alexendros
Alexendros deleted the feat/imagen-viva-uefi branch October 18, 2026 20:58
@cursor

cursor Bot commented Oct 18, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: b402a3f1-d3a7-43ba-8977-7547889123d2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant