Skip to content

feat(dotfiles): add isolated Chezmoi evaluation pilot - #14

Merged
jdfesa merged 7 commits into
mainfrom
feature/openspec-chezmoi-pilot
Aug 17, 2026
Merged

jdfesa merged 7 commits into
mainfrom
feature/openspec-chezmoi-pilot

Conversation

@jdfesa

@jdfesa jdfesa commented Aug 17, 2026 •

Copy link
Copy Markdown
Owner

Why

Este cambio evalúa si Chezmoi puede reducir la complejidad de la futura fase de
configuración de usuario del repositorio al crecer en herramientas, hosts,
sesiones y plataformas. No presupone adopción: compara el candidato con
scripts/link y scripts/profile-resolve usando evidencia equivalente.

How

  • Inicializa OpenSpec 1.9.0 con la integración Codex/core y conserva los
    artifacts de especificación junto al código que gobiernan.
  • Agrega un harness Chezmoi fail-closed que solo crea HOME, source, destination,
    cache, state, logs y rollback dentro de una raíz temporal marcada.
  • Evalúa Starship literal, Git con fixtures públicos falsos, Kitty con base
    shared y entrypoints Linux/macOS separados, y Windows Terminal como
    implementación Windows independiente.
  • Compara commands, archivos, LOC raw, estado, seguridad, drift, idempotencia,
    rollback, permisos, documentación y factibilidad multiplataforma.
  • Genera evidencia y documentación desde una proyección determinista que omite
    provenance Git de publicación y normaliza Python al contrato >=3.11, pero
    exige Chezmoi 2.72.0 y OpenSpec 1.9.0 exactos.
  • Ejecuta CI directamente sobre ubuntu-22.04, sin job container, con
    Chezmoi checksum-pinned y un smoke Bubblewrap estricto antes del checkout.

Scope

Chezmoi nunca obtiene ownership productivo. No se aplicó al HOME real, no se
migró ni reemplazó ningún symlink, no se modificaron manifests de paquetes,
servicios, configuración root-owned ni configuración activa de macOS. El
deployment vigente continúa siendo scripts/link más
scripts/profile-resolve.

Evidence

  • Behavioral digest:
    5223206afb4b4381ec5a6e152c3d6339cf79968a52853a85b30a44ff4cb967d8.
  • 32 focused/unit tests.
  • 94/94 escenarios OpenSpec con traceability tipada.
  • OpenSpec strict/all/doctor sin findings.
  • Generated documentation clean.
  • ShellCheck sobre 80 scripts, profile resolver tests, 16 perfiles, 2 hosts y 2
    dossiers validados.
  • Linker/doctor aislado y doctor Arch activo: 19/19.
  • Cero writes fuera del root, overlaps, secret findings, prohibited findings o
    cambios de metadata protegida.

Limitations

  • Windows Terminal solo tiene evidencia estructural cross-rendered en Arch; la
    evidencia Windows nativa continúa bloqueada.
  • macOS permanece audit-only y no fue modificado ni ejecutado como runner.
  • El host no permite network namespace; Bubblewrap conserva / read-only, un
    único bind host-backed escribible y /dev//proc privados, pero no se afirma
    aislamiento de red.
  • CI aporta evidencia portable-linux en Ubuntu 22.04; no se presenta como
    evidencia native Arch ni native Windows. Arch se verifica separadamente en la
    máquina real.
  • El piloto agrega una superficie considerable: 10 archivos y 2.760 LOC de
    automation/tests frente a 3 archivos y 381 LOC del modelo comparado.

Outcome

keep-and-continue-evaluation

Los controles críticos pasan, pero falta Windows nativo y no existe una ventaja
clara de complejidad: Chezmoi usa 10 commands internos por fixture frente a 6
del baseline y agrega estado persistente temporal. Este PR publica evidencia;
no autoriza migration ni cutover.

jdfesa added 7 commits August 16, 2026 23:50
Initialize the pinned OpenSpec Codex workflow and document the evaluation toolchain.

Add a temporary-only Chezmoi harness, deterministic evidence, honest cross-platform semantics, CI gates, and Spanish WHY/HOW documentation without changing production ownership.
Replace the nested Arch job container with a pinned ubuntu-22.04 VM and install checksum-verified Chezmoi 2.72.0 plus pinned OpenSpec and runtime dependencies before the strict smoke test.

Enforce the container-free security policy, classify CI as portable Linux evidence, and retain native Arch and Windows boundaries honestly.
Fetch complete PR history so deterministic evidence can compute reviewedBase against origin/main after the strict host Bubblewrap smoke test passes.
Bind preview tokens and deterministic evidence to exact Chezmoi 2.72.0 semantics while retaining Arch and upstream build banners in raw audit evidence.
Emit bounded normalized leaf differences when fresh deterministic evidence diverges, preserving the fail-closed gate while making cross-run diagnostics reviewable.
Retain raw dump-config provenance while comparing a canonical validated contract so identical behavior remains deterministic across Arch and Ubuntu.
Use the checksum-verified official 0.11.0 binary on Ubuntu 22.04 so the complete repository lint gate matches the reviewed parser without skipping validation.
@jdfesa
jdfesa merged commit eed4573 into main Aug 17, 2026
5 checks passed
@jdfesa
jdfesa deleted the feature/openspec-chezmoi-pilot branch August 17, 2026 03:46
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