Documentation
¶
Overview ¶
Package facts contiene la lógica pura de la capa semántica siempre-cargada: clasificación de volatilidad, peso (híbrido pin+uso), derivación de valores variables (edad desde una fecha invariante) y selección por presupuesto. Es el presentador único que comparten `nem outline` y el servidor MCP, para que la lógica viva en un solo lugar y sea testeable sin tocar la DB ni la salida.
Index ¶
Constants ¶
const ( Core = "core" Stable = "stable" Volatile = "volatile" )
Clases de estabilidad (volatilidad inferida). Determinan las capas: core y los pinned nunca se colapsan; volatile es lo primero en colapsar bajo presupuesto.
const DefaultBudget = 7
DefaultBudget es el tope por defecto de facts estables siempre-cargados.
Variables ¶
This section is empty.
Functions ¶
func ClassifyStability ¶
ClassifyStability infiere la capa de un fact a partir de su contenido y fechas. Orden de precedencia: identidad invariante (anchor o marcadores core) → core; estado actual (marcadores volátiles o fecha) → volatile; resto → stable. La presencia del anchor se pasa explícita (hasAnchor) porque AnchorAt=0 es una fecha válida (1970-01-01) y no un "sin valor".
func MatchQuery ¶
MatchQuery devuelve los facts cuyo contenido matchea algún término relevante de la query (case-insensitive, términos de ≥3 chars). Es la base de la señal "aprendida" del peso: como los facts son un conjunto chico, basta una pasada en memoria en cada search, sin tocar FTS5. No muta nada.
Types ¶
type Line ¶
type Line struct {
Content string
ID string
Due string // "" para estables; "in 3d"/"overdue 2d" para reminders
}
Line es una entrada lista para imprimir: contenido ya derivado + id completo (la surface hace el short-hash). Due viene humanizado solo para recordatorios.
type Result ¶
type Result struct {
Stable []Line // facts estables seleccionados, en orden de peso
Reminders []Line // recordatorios, ordenados por fecha
Collapsed int // estables ocultos por presupuesto (para el "+N más")
}
Result es lo que el presentador entrega a cada surface (CLI / MCP).
func Present ¶
Present selecciona y ordena la capa siempre-cargada. Separa estables de recordatorios; ordena estables por peso y aplica el presupuesto (core+pinned exentos; el resto se capa a budget y el sobrante se cuenta en Collapsed); ordena recordatorios por fecha. Resuelve los tokens derivados al vuelo.