ontoref/assets/presentation/work_group_info.md
Jesús Pérez 82a358f18d
Some checks failed
Nickel Type Check / Nickel Type Checking (push) Has been cancelled
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (push) Has been cancelled
feat: #[onto_mcp_tool] catalog, OCI credential vault layer, validate ADR-018 mode hierarchy
ontoref-derive: #[onto_mcp_tool] attribute macro registers MCP tool unit-structs in
  the catalog at link time via inventory::submit!; annotated item is emitted unchanged,
  ToolBase/AsyncTool impls stay on the struct. All 34 tools migrated from manual wiring
  (net +5: ontoref_list_projects, ontoref_search, ontoref_describe,
  ontoref_list_ontology_extensions, ontoref_get_ontology_extension).

  validate modes (ADR-018): reads level_hierarchy from workflow.ncl and checks every
  .ncl mode for level declared, strategy declared, delegate chain coherent, compose
  extends valid. mode resolve <id> shows which hierarchy level handles a mode and why.
  --self-test generates synthetic fixtures in a temp dir for CI smoke-testing.

  validate run-cargo: two-step Cargo.toml resolution — workspace layout first
  (crates/<check.crate>/Cargo.toml), single-crate fallback by package name or repo
  basename. Lets the same ADR constraint shape apply to workspace and single-crate repos.

  ontology/schemas/manifest.ncl: registry_topology_type contract — multi-registry
  coordination, push targets, participant scopes, per-namespace capability.

  reflection/requirements/base.ncl: oras ≥1.2.0, cosign ≥2.0.0, sops ≥3.9.0, age
  ≥1.1.0, restic declared as Hard/Soft requirements with version_min, check_cmd, and
  install_hint (ADR-017 toolchain surface).

  ADR-019: per-file recipient routing for tenant isolation without multi-vault. Schema
  additions: sops.recipient_groups + sops.recipient_rules in ontoref-project.ncl.
  secrets-bootstrap generates .sops.yaml from project.ncl in declarative mode. Three
  new secrets-audit checks: recipient-routing-coherent, recipient-routing-coverage,
  no-multi-vault. Adoption templates: single-team/, multi-tenant/, agent-first/.
  Integration templates: domain-producer/, mode-producer/, mode-consumer/.

  UI: project_picker surfaces registry badge (⟳ participant) and vault badge
  (⛁ vault_id · N, green=declarative / amber=legacy) per project card. Expanded panel
  adds collapsible Registry section with namespace, endpoint, and push/pull capability.
  manage.html gains Runtime Services card — MCP and GraphQL toggleable without restart
  via HTMX POST /ui/manage/services/{service}/toggle.

  describe.nu: capabilities JSON includes registry_topology and vault_state per project.
  sync.nu: drift check extended to detect //! absence on newly registered crates.
  qa.ncl: six entries — credential-vault-best-practice (layered data-flow diagram),
  credential-vault-templates (paths A/B/C), credential-vault-troubleshooting (15 named
  errors), integration-what-and-why (ADR-042 OCI federation), integration-how-to-implement,
  integration-troubleshooting.

  on+re: core.ncl + manifest.ncl updated to reflect OCI, MCP, and mode-hierarchy nodes.
  Deleted stale presentation assets (2026-02 slides + voice notes).
2026-05-12 04:46:15 +01:00

15 KiB
Raw Blame History

theme title titleTemplate layout keywords download exportFilename monaco remoteAssets selectable record colorSchema lineNumbers themeConfig fonts drawings scripts class
default Working Group — Ontología y Reflection %s - OntoRef cover Ontología,Reflection,Rust,Nickel,WorkingGroup,RustLasPalmas true ontoref-working-group true true true true dark false
primary logoHeader
#f74c00 /ferris.svg
mono
Victor Mono
enabled persist presenterOnly syncAll
true false false true
setup/image-overlay.ts
justify-center flex flex-cols

Working Group
Ontología y Reflection en tus proyectos

Sesión de presentación · Rust-LasPalmas

layout: section

Tres preguntas, antes de nada


layout: default

Levantad la mano si esto os ha pasado

1.
Postmortem donde la decisión que se violó estaba escrita en una ADR — pero nadie la recordaba.
2.
Onboarding de alguien nuevo (o tú mismo, después de tres meses) re-descubriendo por qué el código está así.
3.
Diagrama de arquitectura que mintió tres meses después de pintarlo.

layout: default

El patrón

Para el código exigimos

Tipos estrictos
Tests que validan invariantes
Compilador que rechaza incoherencias
Errores antes de llegar a producción

Para las decisiones aceptamos

Markdown libre
Diagramas que envejecen
Convención y disciplina humana
Errores que aparecen en el postmortem

layout: section

¿Y si las tratáramos igual?

Tipos. Contratos. Validación al guardar, no en el postmortem.

layout: default

Lo que vamos a ver ahora

Un proyecto vacío
Un axioma · una tensión · una decisión
Un cambio que viola la decisión
El typecheck rechazándolo
8 líneas de código. Sin frameworks. Sin instalar nada raro.

layout: cover class: 'justify-center flex flex-cols'

Demo en vivo

El terminal y un editor. Nada más.

layout: default

Lo que acabáis de ver

Lo construido en 8 minutos

·
Un core.ncl con un axioma y una tensión
·
Una ADR como contrato vivo
·
Un cambio rechazado al guardar

Lo que esto se vuelve con tiempo

Un proyecto real, después de meses:
.ontology/
├── core.ncl (20 nodos, 22 aristas)
├── state.ncl (5 dimensiones FSM)
├── gate.ncl (membranas)
└── manifest.ncl
adrs/ (20 decisiones vivas)
reflection/modes/ (rutinas tipadas)
La estructura es la misma. Solo crece el contenido.

layout: section

La propuesta

Working group cerrado. Cuatro o cinco personas.

layout: default

Cómo funciona

Formato
Presencial · coworking en Las Palmas
Tamaño
45 personas · cohorte cerrada
Sesiones
4 sesiones de ~2 horas · una cada 2 semanas
Entre sesiones
~1 hora de iteración sobre vuestro proyecto
Coste
Vuestro tiempo. Coworking compartido.
Después
Si funciona, abrimos un siguiente ciclo. No hay programa eterno.

layout: default

Qué os lleváis

Un .ontology/ mínimo funcionando para un proyecto vuestro
Una ADR formalizada como constraint que protege ese proyecto
Una reflection mode propia para una rutina vuestra
Capacidad de seguir solos, sin depender del grupo
No salís con un curso. Salís con código vuestro vivo.

layout: default

Qué esto NO es

Un curso de Nickel desde cero
Una venta de OntoRef como producto
Soporte 24/7 entre sesiones
Asistencia opcional · si fallas dos sesiones, sales del ciclo
Una comunidad amplia · esto es trabajo concentrado, no networking

layout: default

Lo que necesito de cada uno antes de la primera sesión

1.
Un proyecto vuestro · Rust o no, lo que tengáis vivo
2.
Nickel y la CLI de OntoRef instaladas (os paso la guía)
3.
Una decisión arquitectónica de ese proyecto que recordéis · cualquiera
4.
Disposición a romper esa decisión en vivo y ver qué pasa
Si traéis esto, en sesión 1 ya estáis modelando.

layout: cover class: 'justify-center flex flex-cols'

¿Quién entra?

Levantad la mano. No por correo después.
Mejor tres comprometidos que cinco difusos.

layout: default

Si no entras hoy

·
El siguiente ciclo se abre cuando éste termine — sin fecha fijada todavía.
·
Si quieres aviso del próximo, déjalo dicho hoy.
·
El material del approach está abierto en Github · podéis explorar solos.
Gracias por venir.