Vista generada de dec-0042: Accept-loop IPC del daemon Zig
docs/decisions/dec-0042-accept-loop-ipc-daemon-zig.mdVista generada desde
docs/decisions/dec-0042-accept-loop-ipc-daemon-zig.md. No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere. El estado aquí es el del model: si discrepa con otra página, manda el model.
| Campo | Valor |
|---|---|
| Estado | LOCKED (migrado de un rNN por gate-3: el fichero no declara estado) |
| Referencia legada | D3 |
| Fichero | docs/decisions/dec-0042-accept-loop-ipc-daemon-zig.md |
Enmendado o sustituido por: r32, r47
Por qué importa (del frontmatter del ADR):
native/zig/media-daemon/ipc/control.zig:1046-1141 — implementación REAL verificada línea por línea (CLIENT_RCVTIMEO_SEC=30, ACCEPT_POLL_TIMEOUT_MS, poll()-based accept loop que reemplaza el accept bloqueante viejo, comentarios citando explícitamente el mecanismo P0); TKT-009 (status: superseded by TKT-013 M1 (G7, 71a847e) + TKT-035 (G8, 153f6c6/c529e2f), ref explícita 'r31 D2/D3')
Nodos del roadmap que lo citan en refs: ninguno.
Páginas de la documentación que lo citan: ninguna todavía.
Leído de docs/decisions/dec-0042-accept-loop-ipc-daemon-zig.md, el fichero canónico.
Accept-loop IPC del daemon Zig = P0 fix-now: de síncrono single-client con read bloqueante sin timeout, a poll + SO_RCVTIMEO + deadline por operación + CloseReply explícito (no log.warn silencioso) para 2º Close/sesión desconocida.
Split de docs/decisions/r31-foundation-closure-v2-reference-harvest-2026-06-23.md (lock D3) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.
dec-0041
Vista generada de dec-0041: Wave de cierre obligatoria y secuencial (TKT-009 liveness/security → TKT-011 soak redux → TKT-010 governance → G0 checkout limpio → G1 run3 como ÚLTIMO acto) antes de declarar F0 done; F1 NO se abre hasta F0.F PASS.
dec-0043
Vista generada de dec-0043: F-REFERENCE-HARVEST