dec-0097

Vista generada de dec-0097: Mesh placement is policy over execution/storage location (what node runs what, where stored), DOES NOT mutate Work/Edition/MediaAsset/SourceBinding per r08 catalog federated semantics. Placement is derived from capabilities + load + topology, not identity mutation.

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0097-mesh-placement-policy-over-execution.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0097-mesh-placement-policy-over-execution.md. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere. El estado aquí es el del model: si discrepa con otra página, manda el model.

CampoValor
EstadoLOCKED (migrado de un rNN por gate-3: el fichero no declara estado)
Referencia legadaD6
Ficherodocs/decisions/dec-0097-mesh-placement-policy-over-execution.md

Por qué importa (del frontmatter del ADR):

Cross-references r08 (catalog federated - load-bearing per CLAUDE.md invariantes globales 'Work → Edition → MediaAsset → SourceBinding') and r60 (Boundary & Authorities Pack - load-bearing per styx.model.yml). r60 is referenced in CLAUDE.md and styx.model.yml. Cited in styx.model.yml extends list via r61.

Nodos del roadmap que lo citan en refs: ninguno.

Páginas de la documentación que lo citan: ninguna todavía.

Texto del ADR

Leído de docs/decisions/dec-0097-mesh-placement-policy-over-execution.md, el fichero canónico.

Mesh placement is policy over execution/storage location (what node runs what, where stored), DOES NOT mutate Work/Edition/MediaAsset/SourceBinding per r08 catalog federated semantics. Placement is derived from capabilities + load + topology, not identity mutation.

Mesh placement is policy over execution/storage location (what node runs what, where stored), DOES NOT mutate Work/Edition/MediaAsset/SourceBinding per r08 catalog federated semantics. Placement is derived from capabilities + load + topology, not identity mutation.

Por qué pasa gate-3

  • Hard-to-reverse: Immutable catalog semantics per r08 (Work → Edition → MediaAsset → SourceBinding). Reversal to allow placement-driven mutation would break federated catalog invariants, requiring redesign of identity/binding system.
  • Surprising sin contexto: Without ADR context, 'mesh placement' could be interpreted as either (a) policy overlay OR (b) physical mutation. ADR clarifies it's (a), but this interpretation is not inferable from 'placement' alone. r08 catalog federated structure is load-bearing but its immutability invariant is not obvious to engineers working on distributed systems where placement often implies data movement.
  • Trade-off real: Alternatives explicitly considered and rejected: 'Placement Planner as microservicio' - REJECTED per r60 §D1 because 'viola r17 + r28 §3 + duplica role machinery; library consumption per r60'. Cost of policy-only approach = requires separate scheduler/planner library; benefit = preserves microservice boundary per r17 (one container per Authority, no monolithic scheduler). Trade-off is: granularity vs complexity. Also referenced in r60 §D1 mesh aliases mapping: Placement Planner = LIBRARY consumed by F-NODE-FOUNDATION + F-SWARM-CORE.

Procedencia

Split de docs/decisions/r61-isolation-lifecycle-2026-07-15.md (lock D6) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.