---
id: "0127"
title: "docker_tui: go.work con path absoluto rompe portabilidad"
status: pendiente
type: bugfix
domain:
  - apps-infra
  - dev-ux
scope: app
priority: media
depends: []
blocks: []
related:
  - "0121a"
created: 2026-05-19
updated: 2026-05-19
tags: [docker_tui, go.work, portability, devfactory]
---

# 0127 — docker_tui go.work path absoluto

Origen: detectado lateral por `fn-recopilador design-e2e apps/docker_tui` en 0121a.

## Problema

`apps/docker_tui/go.work` declara:

```
replace github.com/lucasdataproyects/devfactory => /home/lucas/.local_agentes/backend
```

Path absoluto especifico de la maquina del autor. En otra maquina (PC secundario, CI, otro user) → `go build` falla con "directory does not exist". Hace la app no portable y bloquea cualquier `e2e_check` automatizado fuera del PC original.

## Decision

Opciones (decidir al implementar):

1. **Publicar `devfactory` en Gitea** (`dataforge/devfactory` o repo privado) y eliminar el replace. Mas trabajo pero solucion definitiva.
2. **GOFLAGS condicional**: documentar que el replace solo activa si la env var `DEVFACTORY_LOCAL_PATH` esta seteada (custom shell wrapper que genera `go.work` on-demand). Pragmatic pero fragil.
3. **Vendoring**: `go mod vendor` y commitear `vendor/`. Aumenta tamano del repo.
4. **Replace por path relativo** si devfactory vive como sub-repo del registry (no es el caso hoy).

Recomendado: opcion 1 (publicar) si devfactory es estable; opcion 2 si esta en desarrollo activo y queda local.

## Tareas

1. Decidir opcion (consultar a humano).
2. Si opcion 1: crear repo `dataforge/devfactory`, publicar codigo, actualizar `go.work` con import path Gitea + cleanup del replace.
3. Si opcion 2: implementar wrapper + documentar en `app.md`.
4. Verificar build en PC distinto al original.
5. Actualizar propuesta 0121a `docker_tui.yaml` promoviendo check `build` de warning a critical.

## Acceptance

- [ ] `cd apps/docker_tui && go build` exit 0 en cualquier maquina sin paths absolutos custom.
- [ ] `e2e_checks` del 0121a actualizado.
- [ ] Documentado en `app.md` (build prerequisites).

## DoD

- **Donde**: build limpio en PC secundario (aurgi-pc, home-wsl, otro).
- **Latencia**: pnpm/go install al primer build.
- **Onboarding**: "Para clonar y compilar docker_tui en PC nuevo, basta `go build`. Si necesitas devfactory local, ver `app.md`."
