Entities (Joint record)
The record (entity-first) form resolves a JointEntity for one or more
primary keys — structured columns, Lance evidence and derived attributes in a
single governed call. It’s the shape behind the entity_get MCP tool.
The form
Section titled “The form”SELECT name, segment, country, recent_meeting_topics, meeting_summaryFROM osl.entities.CustomerWHERE customer_id IN ('9c1e…f04a', 'e4f8…2a91')SELECT * returns all declared exposed_attributes. Keys are required — an
empty key set is refused (no full-scan). Results are ordered by the key list; a
missing key comes back marked missing rather than fabricated.
{ "customer_id": "9c1e…f04a", "name": "Anna Vidal", "segment": "retail-premium", "country": "ES", "recent_meeting_topics": [ { "text": "…", "score": 0.91, "cite": { "source": "gong://…", "doc_id": "meet-…", "chunk_id": "chk-…" } } ], "meeting_summary": "Anna has asked in recent meetings about […]"}Governed by the same model
Section titled “Governed by the same model”Every attribute is subject to the caller’s grants:
un-granted columns come back redacted (⟦redacted⟧), obligated columns masked,
Lance legs served at the required redaction version. A full denial returns a
non-revealing E2101 — the engine never discloses which policy denied.
Related
Section titled “Related”- The query surface (OSL-SQL) — all five forms.
- Access & capabilities — the grants and MEET behind this.