Skip to main content
La familia de comandos collection opera el sustrato operacional: una collection es una tabla configurada, un record es una fila tipada, y una entity es una identidad cross-collection. Agrega --json a cualquier comando para salida de máquina. Las lecturas son active-only, acotadas y brief por defecto. collection list devuelve collections activas en una página acotada y paginada por cursor; --status all opta a archived. La búsqueda por intención es collection search <intent>, active-only salvo --include-archived. collection get es brief salvo que pases --view full. El ciclo de vida es explícito: archive, restore y purge son comandos separados — collection update rechaza un --status que toque el ciclo de vida.

Collections

Flags de configuración en add y update: --schema (el record_schema), --views, --distill (la config distill_policy) y --criterion a,b (los criterion_rel_slugs). Cada uno de --schema, --views, --distill acepta JSON inline o @file.

Records

El --status de un record se valida contra los stages propios de la collection: un record solo puede estar en un stage que su collection declara. --entity <id> enlaza el record a una entity — es una propiedad top-level del record, nunca un campo dentro de --fields. Mover un record a un stage terminal dispara el distill_policy, devolviendo un context_outcome (created · already_exists · skipped · failed) — best-effort, nunca bloquea la escritura.

Entities

Las entities se gestionan bajo collection entity. No hay un comando entity de nivel superior en la CLI; el tool MCP driftless_entity y las rutas REST /entities cubren el mismo objeto. --kind y --name son obligatorios en add. Las entities hacen upsert idempotente sobre (kind, dedup_key), así que re-agregar el mismo par actualiza en vez de duplicar.

Ciclo de vida: archive y purge

collection archive, collection restore y collection purge son las únicas formas de retirar una collection:
purge preserva las distilled Notes que engendró la collection (sobreviven al borrado); se cuentan en impact.distilled_notes_preserved. Un reintento de purge tras borrar la collection devuelve already_absent, nunca erroriza. El safe delete de records sigue la misma forma — collection record rm --dry-run previsualiza el Entity link removido y las distilled Notes preservadas (el delete está gateado por membresía del workspace, no por owner/admin).

Retrieve y criterion

collection retrieve <id> devuelve records relevantes y el criterion Knowledge de la collection juntos, así un agente lee el “cómo lo hacemos” del equipo antes de actuar. Filtros: --query, --status, --view, --entity, --updated-after, --drift/--no-drift, --fields, --limit, --cursor. Para solo el criterion (sin records), usa collection context <id>.

Flags, archivos y JSON

  • @file lo aceptan --schema, --views, --distill, --fields y --attrs.
  • --json funciona en cada comando.
  • --cursor pagina una lista/retrieve acotada; el valor es opaco, viene del nextCursor de la página previa.
  • El distill_policy seteado con --distill es un campo de configuración; declara cómo un record terminal debería destilarse de vuelta en una Nota, devolviendo un context_outcome observable.

Permisos

Las escrituras de collection, record y entity son acciones de miembro del workspace; purge es solo owner/admin. Por MCP requieren el scope work:write. collection doctor, las lecturas y record rm son de nivel miembro.

Relacionado