docs(flows): DoD obligatorio con user-facing surface + abrir issues 0100-0103 (taxonomia, frontmatter migration, dev_console, work dashboard)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-17 00:07:04 +02:00
parent 8357774b86
commit 4164f5adfc
6 changed files with 104 additions and 18 deletions
+21 -7
View File
@@ -6,8 +6,18 @@
//
// Decisiones:
// - Heredoc inline: el script Python se pasa via -c "<inline>" para evitar archivos temporales.
// - PATH: usa "python3" o "python". Fallback: ${FN_REGISTRY_ROOT}/python/.venv/Scripts/python.exe
// (Windows venv layout) o /python/.venv/bin/python3 (POSIX).
// - PATH: prioridad del interprete:
// Windows: (1) ${FN_REGISTRY_ROOT}\python\.venv\Scripts\python.exe si existe,
// (2) wsl.exe sentinel si FN_REGISTRY_ROOT_WSL esta seteado (invoca
// el python del venv WSL con: wsl.exe --cd <linux_root> -- env
// FN_REGISTRY_ROOT=<linux_root> python/.venv/bin/python3 ...),
// (3) "python" en PATH (sistema).
// POSIX: ${FN_REGISTRY_ROOT}/python/.venv/bin/python3, luego "python3".
// - Cuando se usa el sentinel wsl.exe, py_run reescribe el argv completo para que
// el script Python reciba FN_REGISTRY_ROOT como path Linux, pueda importar
// funciones del registry y use el venv WSL con todas las deps.
// - FN_REGISTRY_ROOT y FN_REGISTRY_ROOT_WSL se propagan via launch_cpp_app_windows
// (bash/functions/infra/launch_cpp_app_windows.sh v1.1.0).
// - Stdout: capturado completo. El llamante parsea JSON.
// - Stderr: redirigido a stdout para facilitar diagnostico (logs visibles).
// - Sin consola visible en Windows (CREATE_NO_WINDOW).
@@ -25,11 +35,15 @@ struct PyResult {
std::string error; // mensaje propio si CreateProcess/popen fallo
};
// Devuelve la ruta al interprete python a usar. Prioridad:
// 1. ${FN_REGISTRY_ROOT}/python/.venv/Scripts/python.exe (Windows)
// 2. ${FN_REGISTRY_ROOT}/python/.venv/bin/python3 (POSIX/MinGW)
// 3. "python3" en PATH
// 4. "python" en PATH (Windows default)
// Devuelve la ruta al interprete python a usar. Prioridad (Windows):
// 1. ${FN_REGISTRY_ROOT}\python\.venv\Scripts\python.exe — venv Windows nativo
// 2. "wsl.exe" (sentinel) — cuando FN_REGISTRY_ROOT_WSL esta seteado.
// py_run() lo expande a: wsl.exe --cd <linux_root> -- env FN_REGISTRY_ROOT=<linux_root>
// <linux_root>/python/.venv/bin/python3 ...
// 3. "python" — fallback PATH (python.exe del sistema, sin deps del registry)
// Prioridad (POSIX):
// 1. ${FN_REGISTRY_ROOT}/python/.venv/bin/python3
// 2. "python3" en PATH
std::string py_resolve_interpreter();
// Devuelve FN_REGISTRY_ROOT. Si no esta seteada, intenta deducirla: