Domain map i travessa
GET /osl/domain-map
Section titled “GET /osl/domain-map”El graf de domini unificat: el graf semàntic del tenant tal com el veu un
consumidor d’OSL. La premissa és tot és una Entity — un únic node kind entity
etiquetat per composition (structured | structured+content | content), més
nodes metric i candidate. Les taules pont N-N no són nodes: col·lapsen a
una aresta N-N directa entre les entitats que enllacen.
Construït deterministament a partir del manifest. Sense body de petició.
{ "nodes": [ { "id": "entity:Customer", "kind": "entity", "name": "Customer", "plane": "mixed", "state": "existing", "composition": "structured+content", "description": null, "attributes": [ { "name": "customer_id", "role": "pk", "type": "string", "description": "Primary key of the entity." }, { "name": "sentiment", "role": "derived", "type": null, "description": "Derived attribute, extracted from content (AI)." } ], "meta": { "pk": "customer_id", "model": "customer", "legs": ["call_transcripts"] } }, { "id": "metric:arr", "kind": "metric", "name": "arr", "plane": "structured", "state": "existing", "composition": null, "attributes": [{ "name": "arr", "role": "metric", "type": null, "description": null }], "meta": {} } ], "edges": [ { "id": "asignacion~advisor:customer", "source": "entity:Customer", "target": "entity:advisor", "kind": "nn", "label": "asignacion · N-N", "declared": true, "source_attr": "customer_id", "target_attr": "advisor_id" } ], "bridges": ["asignacion"]}Travessa — la forma TRAVERSE(...)
Section titled “Travessa — la forma TRAVERSE(...)”La travessa ara és una forma d’OSL-SQL, no un
endpoint separat (/osl/traverse s’ha eliminat). Fas SELECT des de la funció de
taula TRAVERSE(...) en un body de POST /osl/query:
SELECT concepto, amount_eurFROM TRAVERSE(anchor => 'customer', target => 'orders', keys => ('c-anna', 'c-bruno'))És una travessa L2 del graf de relacions estructurat, hop-by-hop (incloent N-N via bridges) — una seqüència de lookups d’igualtat acotats (un filtre, no un join engine), amb un límit de cardinalitat obligatori per hop més dedup, determinista. Respon “les factures d’en Pablo”: donades les claus d’una entitat àncora, retorna les entitats target relacionades, cadascuna governada pels grants del cridador.
Preview de contingut governat — POST /osl/sample
Section titled “Preview de contingut governat — POST /osl/sample”Unes quantes files reals d’una taula curada o uns quants chunks d’una faceta,
filtrats per ACL i redactats per sensibilitat/PII server-side. kind és
"table" o "facet"; limit és 8 (table) / 5 (facet) per defecte. Els rols
de l’actor via X-Actor-Roles — absent → deny-by-default a les facetes amb ACL.
La resposta llista redacted_columns[] / redacted_fields[]; les cel·les
emmascarades contenen el literal "[redacted]".