ontoref
Acerca de ontoref
Lo que ontoref es — comprobable, no solo declarado.
Filosofía
Un protocolo de proyecto autodescriptivo. Un proyecto declara sus axiomas, tensiones, prácticas, estado y gates como NCL tipado — consultable para validar decisiones arquitectónicas y auditar coherencia, del mismo modo en software, infraestructura y dominios personales. El protocolo es especificación y herramientas; nunca una dependencia en tiempo de ejecución.
| Construido con | Nickel · Nushell · Rust |
Características
Key ideas (5)
-
Patrón NCL de tres capas: schemas → defaults → config.
-
Modos de reflexión: flujos estructurados de agente/desarrollador.
-
Topología DAG para decisiones arquitectónicas.
-
Membranas de gate para entrada controlada de señales externas.
-
Protocolo — nunca una dependencia en tiempo de ejecución.
Por qué importa
Sustancia y acto, unidos por la costura-testigo: cada decisión arquitectónica es NCL consultable, cada mutación de tier-2 deposita un testigo Ed25519 en un DAG de oplog reproducible, y la deriva entre intención e implementación se detecta automáticamente.
-
Sin deriva
El sistema se delata cuando deriva: código, documentación e incluso el marketing fallan en CI en el siguiente commit, no en la siguiente auditoría — la propia capa de posicionamiento se verifica contra el estado de las ADR.
-
Conocimiento acreditado
Actúas sobre conocimiento acreditado, no asumido ni generado: verifica cualquier porción sin cargar el todo, y trata la salida generada — incluida la de un agente de IA — como inutilizable hasta que esté firmada.
-
Transversal a dominios
El mismo sustrato gobierna software, infraestructura, ontología personal, contenido y diseño — un grafo tipado a través de dominios, no un vertical atado a un solo tipo de dato.
-
Adopción graduada
Entra con un solo archivo NCL y sube de tier solo cuando duela; nunca rehén de un motor en tiempo de ejecución o un SaaS — la elección de tier es por proyecto, voluntaria e indefinida.
Historia
Desde 2026
- 2026-07-27 Layout de constelación, framework de posicionamiento y cimientos del sustrato (ADR-035/043/048).
- 2026-07-27 Arco de memoria de constelación, viabilidad y límites honestos (ADR-049…057).
- 2026-07-09 Proyección de docsite — mdBook generado desde la ontología (ADR-060).
- 2026-06-03 Distribución OCI e instalador — imagen ejecutable y curl|sh (ADR-038).
- 2026-05-26 Substrato verificable — testigo, validadores, capa de operaciones; dualidad ontología/reflexión (ADR-023/024/026/031).
- 2026-03-12 Génesis — proyecto-protocolo independiente: NCL de tres capas, ciclo de ADR, modos de reflexión, auth unificada (ADR-001/005).
Grafo
Qué es
Axioms (4)
-
Protocol, Not Runtime
Onref is a protocol specification and tooling layer. It is never a runtime dependency. Projects implement the protocol; onref provides the schemas and modules to do so.
-
Self-Describing
Onref describes itself using its own protocol. The .ontology/, adrs/, and reflection/ directories in this repository are onref consuming ontoref.
-
DAG-Formalized Knowledge
All project knowledge — concepts, tensions, decisions, state — is formalized as directed acyclic graphs. This enables transversal queries, impact analysis, and ecosystem-level visibility.
-
Sufficient Verification over Complete Knowledge
Verification is always local and partial. Any actor — human or agent — can verify that a slice (an op, a node, a change) is coherent with what is declared WITHOUT possessing or loading global knowledge of the whole. The protocol will nev…
Tensions (3)
-
Formalization vs Adoption Friction
Richer formalization produces better ecosystem visibility but increases the cost of adoption. The balance: schemas are optional layers, not mandatory gates.
-
Ontology vs Reflection
Ontology captures what IS (invariants, structure, being). Reflection captures what BECOMES (operations, drift, memory). Both must coexist without one dominating. This tension is onref's core identity. It is held open architecturally — neve…
-
Openness vs Sustainability
The protocol gives value away to maximize ecosystem reach — open schemas, voluntary-adoption, the personal-ontology audience, difusión as visibility — while the project that maintains it must capture enough value to sustain itself: dire…
Practices (7)
-
ADR Lifecycle
Architectural decisions follow: Proposed → Accepted → Superseded. Superseded ADRs retain constraints for historical reconstruction. Active Hard constraints drive the constraint set. Nodes declare which ADRs validate them via the adrs fie…
-
Reflection Modes
Operational procedures are first-class artifacts encoded as NCL DAG contracts. Modes declare actors, steps, dependencies, and error strategies — not prose. Forms (reflection/forms/) provide structured input schemas that feed into modes and…
-
Describe Query Layer
describe.nu aggregates all project sources and answers self-knowledge queries: what IS this, what can I DO, what can I NOT do, what tools exist, what is the impact of changing X. Renders Validated by section when a node declares adrs. descri…
-
Protocol Migration System
Progressive, ordered protocol migrations for consumer projects. Each migration is an NCL file in reflection/migrations/NNN-slug.ncl declaring id, slug, description, a typed check (FileExists | Grep | NuCmd), and instructions interpolated at…
-
Ontology Three-File Split
The .ontology/ directory separates three orthogonal concerns into three files. core.ncl captures what the project IS — invariant axioms and structural tensions; touching invariant=true nodes requires a new ADR. state.ncl captures where it…
-
Project Onboarding
Idempotent onboarding via `ontoref setup`. Creates .ontoref/project.ncl, .ontoref/config.ncl (with logo auto-detection in assets/), .ontology/ scaffold, adrs/, reflection/modes/, backlog.ncl, qa.ncl, git hooks, and registers in projects.ncl.…
-
Q&A Knowledge Store
Accumulated Q&A entries persisted as NCL — questions and answers captured during development sessions, AI interactions, and architectural reviews. Git-versioned, typed by QaEntry schema, queryable via MCP (ontoref_qa_list/add) and HTTP (/q…
Glosario
Disciplines (1)
-
Ondaod
Disciplina Dao de Ontoref. Antes de cualquier análisis arquitectónico o redacción de ADR, lee las tensiones nombradas en core.ncl, identifica cuáles activa la pregunta y describe el estado de síntesis y la dirección del movimiento —…
Concepts (19)
-
Espiral
Forma de resolución de una tensión Yin/Yang en la que ningún polo gana y el sistema oscila entre ellos, con la síntesis emergiendo del propio movimiento. En core.ncl los nodos llevan `pole = 'Spiral` cuando SON la tensión en lugar de un…
-
Síntesis
Resolución de una tensión en Espiral asignando a cada polo su propio plano de operación en lugar de elegir uno. Ambos polos permanecen activos, aplicados a aspectos distintos. La síntesis es la respuesta productiva a una Espiral; el cola…
-
PAP
Project's Architecture Principles (Principios de Arquitectura del Proyecto). Conjunto activo de invariantes, patrones y reglas que definen cómo se construye un proyecto concreto — derivado de sus axiomas, ADRs aceptados y prácticas nombr…
-
Conocimiento formalizado como DAG
Axioma del proyecto: todo el conocimiento — conceptos, tensiones, decisiones, estado — se formaliza como grafos dirigidos acíclicos. Habilita consultas transversales, análisis de impacto y visibilidad a nivel de ecosistema. La grafía…
-
Projection (miembro de constelación)
En la taxonomía de miembros de la constelación (ADR-062), una categoría de miembro: una sola fuente cuya frontera vive DENTRO del build, nunca su propio repo git. Un Projection se materializa en cada superficie que lo necesita (assets, ex…
-
Projection (revelado de posicionamiento)
En la arquitectura de revelado (ADR-057), el acto de PROYECTAR el grafo de posicionamiento (spine.ncl + generador) sobre el site externo: puertas generadas desde un contrato estructurado, una deriva se arregla re-ejecutando la proyección, n…
-
Dominio (extensión CLI por repo_kind)
Una extensión CLI activada por repo_kind bajo code/domains/{id}/: el repo_kind de un proyecto enciende su dominio, dando comandos conscientes del tipo de proyecto (p. ej. DD7pasos→knowledge-works, DevWorkspace→provisioning). TODOS los c…
-
Puerta (entrada de embudo)
Una de las entradas del embudo externo proyectadas desde spine.ncl (ADR-057/064): developer / infrastructure / authoring / personal. Una puerta es un gancho de enrutado orientado a AUDIENCIA que lleva un `tag` de contenido (p. ej. developer,…
-
Vínculo
Relación tipada entre proyectos (y sus dominios) dentro del marco ontoref — distinta de un `link`, que es una referencia genérica entre nodos (el esquema `ln`/Link). Un vínculo lleva un EJE: gobernanza (el proyecto es un nodo-ontoref en…
-
Nodo ontoref
Un proyecto visto por el eje de GOBERNANZA de un vínculo: miembro gobernado del grafo de un dominio. El eje de gobernanza es un DAG (acíclico, jerárquico): un dominio (nivel N) gobierna sus instancias/implementaciones (nivel N+1) con sem�…
-
Plano ontoref
La superficie de coexistencia que un proyecto habita por el eje de DEPENDENCIA de un vínculo. A diferencia del DAG de gobernanza, el grafo de dependencia admite ciclos: un vínculo `mutual` (Partnership de DDD — "no hay deploy sin servici…
-
Eje del vínculo
El eje por el que corre un vínculo — uno de dos. GOBERNANZA: quién gobierna a quién, un DAG acíclico resuelto con Delegate / Override / Compose. DEPENDENCIA: quién necesita a quién, un plano que admite ciclos, tipado con una arista d…
-
Arista de dependencia
La arista tipada de un vínculo por el eje de DEPENDENCIA, clasificada con una clase del Context-Map de DDD: CustomerSupplier, Partnership, OpenHostService, Conformist, SharedKernel, AnticorruptionLayer. DDD se toma prestado SOLO aquí — c…
-
Estado de vinculación
El estado que ocupa un proyecto vinculado en la máquina de estados: None (sin vínculo), Linked (vínculo de dependencia — habita un plano), Node (vínculo de gobernanza — nodo gobernado en el DAG de un dominio) o Managed (ontoref gobie…
-
Sensor
Control por realimentación en un arnés de agentes: la comprobación que se dispara DESPUÉS de que el modelo genere, y corrige lo que una guía no pudo prevenir. Böckeler divide los sensores en COMPUTACIONALES (deterministas, baratos, mil…
-
Guía
Control anticipativo (feedforward) en un arnés de agentes: lo que orienta al modelo ANTES de que escriba — documentación de arquitectura, ficheros de convenciones, skills. En ontoref una guía no es un fichero que el agente deba acordars…
-
Arnesabilidad
Propiedad de un PROYECTO, no de su arnés: cuánto puede un arnés cualquiera averiguar del proyecto PREGUNTANDO, sin que nadie se lo haya explicado antes. Se mide por lo que el proyecto declara y sirve, nunca por lo bien configurado que est…
-
Ambient affordances
Propiedades estructurales que hacen un entorno legible y accionable sin que nadie dé instrucciones: se ve qué se puede hacer con solo mirar. Se deja en inglés en prosa española — no hay forma asentada, e inventar una haría crecer un s…
-
Severidad Hard / Soft
La severidad tipada de una restricción de ADR. `'Hard` VINCULA — una violación rompe. `'Soft` SE AUDITA — se reporta y no bloquea. La severidad dice cuánto obliga la regla; no dice si alguien la comprueba, y ese hueco es la cifra de 9…
Practices (3)
-
on+re
Abreviatura de la doble capa de Ontoref: ontología (`.ontology/`: core.ncl, state.ncl, gate.ncl, manifest.ncl — lo que ES) + reflexión (`reflection/`: modos, cartera de pendientes, restricciones, qa — lo que DEVIENE). Toda instancia in…
-
Patrón de Extensión del Glosario
Herencia en tres niveles para vocabulario: una semilla de protocolo en `reflection/defaults/glossary.ncl` que ontoref distribuye; términos de proyecto añadidos en `.ontology/glossary.ncl::project_terms` vía `d.seed_terms @ project_terms`;…
-
Encargo
Paraguas de la unidad de gobierno que constriñe a un agente comprobando el entregable contra términos explícitos en vez de fiarse del operario. Un Encargo = un Pliego (los términos) + sus Órdenes de Trabajo (las ejecuciones). Dos reglas…
Artifacts (7)
-
Gate
Prerrequisitos tipados y políticas que controlan las transiciones de estado de la máquina de estados de un proyecto. Vive en `.ontology/gate.ncl`. Cada dimensión declara las condiciones que una transición debe satisfacer (catalizadores p…
-
onre
Alias de shell para el CLI `ontoref`. No es un binario aparte — se invoca como `onre <subcomando>`, equivalente a `ontoref <subcomando>`. `onre` (on+re) sustituyó al antiguo alias `ore`. Se usa en documentación y conversación como nombr…
-
Testigo verificado
Acta de un acto, direccionada por contenido y firmada con Ed25519, depositada en la costura witness-as-axis. Demuestra *que* una comprobación se ejecutó y qué devolvió — estructura, nunca veracidad (ADR-050). Necesaria pero no suficien…
-
Pliego
La capa de términos de un Encargo: alcance (contexto mínimo + objetivo en una frase), un contrato refutable (una comprobación de máquina, esquema o restricción) y el modo de validación ('Maquina | 'Adversario, firmado o no). Lo posee l…
-
Orden de Trabajo (OT)
La capa de ejecución de un Encargo, ejecutada bajo un Pliego: prescindible, acotada, propiedad del agente. Lleva el entregable, una envoltura de observabilidad (directorio de trabajo, nivel de registro al estilo Rust, salida en JSONL, marca…
-
.domains-ontoref/
El contenedor del lado consumidor que lleva un proyecto vinculado: una subcarpeta por dominio vinculado (`.domains-ontoref/<dominio>/`). Cada subcarpeta contiene un `bonds.ncl` OBLIGATORIO (un BondSet) y una columna de implementación OPCION…
-
Arnés
El envoltorio que ejecuta al modelo: contexto, herramientas, bucle. Un agente es modelo + arnés. El arnés dirige con guías y corrige con sensores. Ontoref NO es un arnés y nunca debe describirse como tal: es lo que un arnés CONSULTA —…
Procedures (1)
-
adr?
Procedimiento de evaluación que se invoca al final de una sesión o feature. Los cinco criterios deben cumplirse para justificar un ADR: (1) se rechazó conscientemente una alternativa significativa; (2) deja restricciones duraderas para fu…
Antipatterns (2)
-
Colapso Yin/Yang
Antipatrón consistente en resolver forzosamente una tensión en Espiral adoptando un polo como 'la respuesta' y descartando el otro. Suele manifestarse como un flip: Yang → Yin (p. ej. todo-centralizado a todo-scripted) o viceversa, cuand…
-
anti-PAP
Enfoque que viola frontalmente el PAP del proyecto. No es 'ligeramente desviado' ni 'en tensión con' — una propuesta calificada como anti-PAP se rechaza en diseño, antes de implementar.
Decisiones de Arquitectura
- ADR-001 Ontoref is a Standalone Protocol Project, Not Part of Stratumiops
- ADR-002 Ontoref Daemon for NCL Caching, File Watching, and Actor Notification Barrier
- ADR-003 Q&A and Accumulated Knowledge Persist to NCL, Not Browser Storage
- ADR-004 NCL Pipe Bootstrap — Config Validation and Secret Injection via Unix Pipeline
- ADR-005 Unified Key-to-Session Auth Model Across CLI, UI, and MCP
- ADR-006 Nushell 0.111 String Interpolation Compatibility Fix
- ADR-007 API Surface Discoverability via #[onto_api] Proc-Macro
- ADR-008 NCL-First Config Validation and Override-Layer Mutation
- ADR-009 Manifest Self-Interrogation Layer — Three Semantic Axes
- ADR-010 Protocol Migration System — Progressive NCL Checks for Consumer Project Upgrades
- ADR-011 Mode Guards and Convergence — Active Partner and Refinement Loop in the Mode Schema
- ADR-012 Domain Extension System — Bash-Layer Dispatch for repo_kind-Conditional CLI Domains
- ADR-013 VCS Abstraction Layer — Uniform jj/git API via vcs.nu
- ADR-014 Runtime Service Toggles — AtomicBool Flags for MCP and GraphQL
- ADR-015 MCP Tool Catalog via #[onto_mcp_tool] Proc-Macro + Inventory
- ADR-016 Component Lift-Out Pattern: Four-Criterion Gate for Standalone Extraction
- ADR-017 Registry Credential Vault Model: src-vault, Multi-Recipient sops, and Actor-Scoped Access
- ADR-018 Level Hierarchy and Mode Resolution Strategy — Observable Boundary Traversal
- ADR-019 Per-File Recipient Routing for Tenant Isolation in lieu of Multi-Vault
- ADR-020 Three-Layer Model for Project Ontoref Instances — the Export Axis Declared on manifest.layers
- ADR-021 Auth and UI Lift-Out: ontoref-daemon consumes ontoref-auth + ontoref-ui; JWKS and Introspect Exposed for SSO
- ADR-022 Secret Management Operations on the MCP Surface — Observation, Orchestration, and Permanent Exclusions
- ADR-023 Adoption of the Verifiable Substrate: Op Log + Content-Addressed Blobs + Bitemporal Triples + Merkle Commitments + JetStream Fabric, Replacing the NCL/Filesystem/Git Substrate
- ADR-024 Operations Layer — Domain Operations as the Agent's Only Project-Touching Path
- ADR-025 Ontology Core as Authoritative State, NCL as Manifestation — Two-Phase Adoption
- ADR-026 Validation Architecture — Three Planes, First-Class Validators, SLA per Operation, Pluggable Commitment Backend
- ADR-027 Decentralization Architecture — P2P Pure, Pluggable SyncBackend, CRDT per Domain
- ADR-028 Ontology Layer Separation from Project Layer — Content-Addressed Decentralized Ontology with Classification
- ADR-029 Tier Coexistence as Permanent Design — Strictly Additive Stack, Offline-First, No Forced Migration
- ADR-030 Catalog Discovery Cross-Project — Tier-2 Ops Beyond the Piloto Self-Host
- ADR-031 Ontology and Reflection as Constitutive Duality — Co-Equal Axes Sealed by Witness
- ADR-032 Layout Consolidation Under .ontoref/ Root — Single Hidden Hierarchy for the Protocol's Consumer Footprint
- ADR-033 Tier Transition Mechanism — Dual-Surface `transition_tier` with Transactional Effects and Witnessed Substrate Dormancy
- ADR-034 Catalog Extensibility Beyond Rust — `kind` Discriminator on `OperationDecl` with ondaod-Pre Required for Non-Rust Kinds
- ADR-035 Positioning Layer — Marketing as Queryable Protocol Surface
- ADR-036 Tier Transition Substrate Effects — Deferred Scope from ADR-033
- ADR-037 Interaction Trace — Parse-First Session Records with Structural-Only Validation and Optional Witness Binding
- ADR-038 OCI Distribution and Installer — Multi-Arch Runnable Image plus curl|sh Bundles, Modeled in the Workflow Layer
- ADR-039 Typed Recipe Annotations and the Transversal +/- Mutation Verb — Self-Describing Justfiles, Queryable Like the API Catalog
- ADR-040 Convention Bindings and Shared-Source Propagation — Declared Guidelines/CI/Config, Synced From a Shared Origin Through the Update Mechanism
- ADR-041 Richer Op Model — Retract Operations and Per-Cell Typed CRDT Merge
- ADR-042 SyncBackend Sync/Async Reconciliation — Synchronous Trait, Backend-Owned Runtime for Network Transports
- ADR-043 Positioning as a Four-Element Framework — Orthogonal Axes (Qué / Para-Quién / Cómo) Bound by a Proof Seam with Self-Applied Coherence Rules
- ADR-044 Actor Key Succession — Unforgeable Old→New Rotation Records
- ADR-045 Recursive Level Chains and Domain Co-Tenancy — Relative Levels and Multi-Chain Hosting
- ADR-046 Substrate Views — Dynamic Context Provisioning by Composing Levels, Verified Under Partial Knowledge, Tuned From the Interaction Trace
- ADR-047 Cryptographic Agility — Scheme-Tagged Witnesses with Ed25519 Default and ML-DSA-65 FIPS Plug-In
- ADR-048 Constellation Layout — Spine at Parent, Code as Sub-Repo
- ADR-049 Criteria as a Substrate-View Describe Level — Normative and Discovered as Typed Provenance, Promotion Gated Not Automatic
- ADR-050 Witnessed Validators for Hard Criteria — Structural Decidability and Bounded Slices, Never Truthfulness
- ADR-051 Chronicle-to-Proof-Candidate Seam — History Proposes Positioning Proofs, the Audit Verifies, Acceptance Stays Human
- ADR-052 Memory Feedback Loop — On Mode Completion the Loop Proposes State, Backlog and Proof Deltas, Never Applies Them
- ADR-053 Presentation-Spec as the Config-Driven Rendering Surface — One Declared Panel Model, Many Surfaces, No Engine Fork to Extend
- ADR-054 Desktop/Mobile Native Shell as a Consumer Surface — Tauri Host over the Daemon, Never a Protocol Component
- ADR-055 Positioning Viability Seam — Compensation as a Second Costura Parallel to Proof, Not a Fourth Axis
- ADR-056 Sufficient Verification over Complete Knowledge — Accredited, Not Generated, as the Basis of Trust
- ADR-057 Difusión Reveal Architecture — Route Each Door to a Live Graph, Never Argue the Core
- ADR-058 Difusión Demos Are Demonstration-Scenarios Projected From the Modes, Not a New Kind or Hand-Authored Prose
- ADR-059 Level-Aware About — The /about Surface Branches on Level Kind and Projects the Level's Own Graph
- ADR-060 mdBook Docsite — Projected Documentation as the Standard Surface for ontoref-Managed Projects
- ADR-061 Retire 'Structure' as the Mother-Concept and Decouple Brand Logos from the Tagline
- ADR-062 Constellation Member Taxonomy — Primary, Addon, Projection; Recursion in the Level Graph, Not Git; Uniform Forge Rule
- ADR-063 The Work-Order Governance Unit — Constrain an Agent by an Externally-Owned Contract and a Witnessed Deliverable, Not by Trust
- ADR-064 The Authoring/Knowledge Door (Funnel Re-Architected to Four) and the Content–Vehicle Convergence Membrane
- ADR-065 The Door/Domain Surface Is Served by a Dedicated `dominios` Content-Kind, Not the Reused `projects` Kind
- ADR-066 Governed Delivery — the Work-Order Unit Promoted to an Enforcing Executor: the Check Decides, Never the Reporter
- ADR-067 Positioning Authorship Follows Evidence-ADR Sovereignty — A Subject Is Authored Where Its Anchoring ADRs Are Accepted; Peers Reference It by Role, Never Duplicate
- ADR-068 Declarative Constellation Surface and the Reconciling Sync Mode — Reversible Auto, Human-Gated Remotes
- ADR-069 Typed Warrant and Reconciled Edge Contract — Provenance and Graph Integrity the Validator Can Prove
- ADR-070 Delivery Trees Declare Owner, Reproduction and Witness — the Site's Publication Pipeline Is Governed, Not Remembered
- ADR-071 A concept's rendering is declared per language, and the gate declares what it cannot check
- ADR-072 A check declares its coverage, a mechanism declares its extent, and the witness carries the extent
- ADR-073 The bond — a typed project↔domain relation on a governance/dependency axis, declared by a carrier, never derived from repo_kind
- ADR-074 Context-provision is governed — ontoref is the single source of truth about the protocol; carriers invoke it live and hold no protocol content, pointers, or verifiers of their own
- ADR-075 Query surfaces derive their visible set from the declared level chain and bonds — no flat union, no hand-list
- ADR-076 Protocol / Domain / Project as adaptive scopes — role-scoped placement is migratory and direction-reported, never a fixed partition
- ADR-077 The spine repo — the constellation parent witnesses exactly what belongs to no member
- ADR-078 Amendment — the horizontal move of an accepted decision, declared and counted
Catálogo de verificables
Operations (15)
- op chronicle_query
- op close_dev_session
- op criteria_query
- op evaluate_ondaod
- op manage_backlog_item
- op move_fsm_state
- op panels_query
- op propose_adr
- op roadmap_query
- op start_dev_session
- op sync_apply
- op transition_adr
- op transition_tier
- op update_ontology_edge
- op update_ontology_node