{
  "version": "0.4-pre",
  "updatedAt": "2026-06-19",
  "statusVocabulary": [
    "source-confirmed",
    "source-evidenced",
    "owner-confirmed",
    "product-required",
    "future-concept",
    "tech-debt-noncanonical",
    "pending",
    "source-adjacent"
  ],
  "entities": [
    { "id": "hub.open_contour", "name": "HUB Open Contour", "surface": "hub", "status": ["source-evidenced", "owner-confirmed"], "authority": "HUB", "summary": "Public/open branch for simple users." },
    { "id": "hub.public_pool_context", "name": "HUB Public Pool Context", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Source-backed public context." },
    { "id": "hub.public_pool_client", "name": "HUB Public Pool Client", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Special source-backed Client, not ordinary company/client." },
    { "id": "hub.client_context", "name": "HUB Client Context", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Managed closed contour for companies/clients." },
    { "id": "hub.company_contour", "name": "HUB Company Contour", "surface": "hub", "status": ["source-evidenced"], "authority": "HUB", "summary": "Product wording over managed client context." },
    { "id": "hub.user", "name": "HUB User", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB/NDCAuth", "summary": "Canonical launcher user." },
    { "id": "hub.public_user", "name": "HUB Public User Classification", "surface": "hub", "status": ["source-evidenced"], "authority": "HUB", "summary": "Classification of hub.user by public-pool context." },
    { "id": "hub.client_user", "name": "HUB Client User Classification", "surface": "hub", "status": ["source-evidenced"], "authority": "HUB", "summary": "Classification of hub.user by client/company membership." },
    { "id": "hub.membership", "name": "HUB Membership", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "User-to-context relation." },
    { "id": "hub.public_membership", "name": "HUB Public Membership", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Membership in public pool context." },
    { "id": "hub.access_request", "name": "HUB Access Request", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Base access request entity." },
    { "id": "hub.public_access_request", "name": "HUB Public Access Request", "surface": "hub", "status": ["source-evidenced"], "authority": "HUB", "summary": "Public/open-contour access request subtype." },
    { "id": "hub.client_access_request", "name": "HUB Client Access Request", "surface": "hub", "status": ["source-evidenced"], "authority": "HUB", "summary": "Company/client-context access request subtype." },
    { "id": "hub.invite", "name": "HUB Invite", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Invitation into a context." },
    { "id": "hub.group", "name": "HUB Group", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Client-local group." },
    { "id": "hub.role", "name": "HUB Role", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Role vocabulary for user and membership decisions." },
    { "id": "hub.permission", "name": "HUB Permission", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Derived permission capability." },
    { "id": "hub.application", "name": "HUB Application", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Product application/service registered in launcher." },
    { "id": "hub.application_access", "name": "HUB Application Access", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Effective app access result." },
    { "id": "hub.app_grant", "name": "HUB App Grant", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "Access authority input." },
    { "id": "hub.app_exception", "name": "HUB App Exception", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB", "summary": "User-specific allow/deny override." },
    { "id": "hub.application_card", "name": "HUB Application Card", "surface": "hub", "status": ["source-confirmed"], "authority": "HUB UI", "summary": "Presentation over application/access state, not authority." },

    { "id": "ndcauth.identity", "name": "NDCAuth Identity", "surface": "ndcauth", "status": ["source-confirmed"], "authority": "NDCAuth/HUB", "summary": "Canonical auth identity." },
    { "id": "ndcauth.session", "name": "NDCAuth Session", "surface": "ndcauth", "status": ["source-confirmed"], "authority": "NDCAuth/HUB", "summary": "Runtime authenticated/unauthenticated session." },

    { "id": "ops.workspace", "name": "OPS Workspace", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "Workspace/root collaboration context." },
    { "id": "ops.workspace_member", "name": "OPS Workspace Member", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "User membership in workspace." },
    { "id": "ops.project", "name": "OPS Project", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "Project inside workspace." },
    { "id": "ops.project_member", "name": "OPS Project Member", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "User membership in project." },
    { "id": "ops.card", "name": "OPS Card", "surface": "ops", "status": ["source-confirmed", "owner-confirmed"], "authority": "OPS Product", "summary": "Canonical work object." },
    { "id": "ops.card_status", "name": "OPS Card Status", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "State/status of a card." },
    { "id": "ops.card_priority", "name": "OPS Card Priority", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "Card priority attribute." },
    { "id": "ops.card_assignment", "name": "OPS Card Assignment", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "Relation between card and assignee." },
    { "id": "ops.assignee", "name": "OPS Assignee", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "Assigned user/member." },
    { "id": "ops.responsible", "name": "OPS Responsible", "surface": "ops", "status": ["product-required", "source-adjacent"], "authority": "OPS Product", "summary": "Accountability role, not automatically assignee." },
    { "id": "ops.card_type", "name": "OPS Card Type", "surface": "ops", "status": ["source-evidenced", "pending"], "authority": "OPS Product", "summary": "Type/subtype of card." },
    { "id": "ops.card_relation", "name": "OPS Card Relation", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "Dependency/link between cards." },
    { "id": "ops.external_ref", "name": "OPS External Reference", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "Link to external/source object." },
    { "id": "ops.card_label", "name": "OPS Card Label", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "Label/tag classification." },
    { "id": "ops.card_comment", "name": "OPS Card Comment", "surface": "ops", "status": ["source-confirmed"], "authority": "OPS Product", "summary": "Discussion/comment on a card." },
    { "id": "ops.card_activity", "name": "OPS Card Activity", "surface": "ops", "status": ["source-evidenced"], "authority": "OPS Product", "summary": "Change/activity history." },
    { "id": "ops.card_artifact_link", "name": "OPS Card Artifact Link", "surface": "ops", "status": ["source-evidenced"], "authority": "OPS Product", "summary": "Relation/link to output artifact." },
    { "id": "ops.file_asset", "name": "OPS File Asset", "surface": "ops", "status": ["source-evidenced"], "authority": "OPS Product", "summary": "File attached/linked through OPS." },
    { "id": "ops.stored_blob", "name": "OPS Stored Blob", "surface": "ops", "status": ["source-evidenced"], "authority": "OPS Product", "summary": "Storage-level blob behind file assets." },

    { "id": "agent.identity", "name": "Agent Identity", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Gateway execution identity, not user/persona." },
    { "id": "agent.token", "name": "Agent Token", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Opaque credential." },
    { "id": "agent.session", "name": "Agent Session", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Runtime/session envelope for agent operations." },
    { "id": "agent.grant", "name": "Agent Grant", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Permission grant for agent identity/session." },
    { "id": "agent.token_grant", "name": "Token Grant", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Token-to-grant binding." },
    { "id": "agent.scope", "name": "Agent Scope", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Tool/capability permission." },
    { "id": "agent.denied_capability", "name": "Denied Capability", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Explicitly unavailable operation." },
    { "id": "agent.mcp_tool", "name": "MCP Tool", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Exposed callable tool surface." },
    { "id": "agent.idempotency_key", "name": "Idempotency Key", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Required write-safety key." },
    { "id": "agent.audit_event", "name": "Agent Audit Event", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Audit trail for agent actions." },
    { "id": "agent.tasker_adapter", "name": "Tasker Adapter", "surface": "agent", "status": ["source-confirmed"], "authority": "OPS Gateway", "summary": "Adapter to Tasker/OPS product API." },
    { "id": "agent.setup_packet", "name": "Agent Setup Packet", "surface": "agent", "status": ["source-evidenced"], "authority": "OPS Gateway", "summary": "Setup payload for client app/tool access." },
    { "id": "agent.ai_workspace_entitlement", "name": "AI Workspace Entitlement", "surface": "agent", "status": ["source-evidenced", "pending"], "authority": "HUB/OPS Gateway", "summary": "Entitlement/access context for AI workspace." },
    { "id": "agent.pairing_code", "name": "Pairing Code", "surface": "agent", "status": ["source-evidenced", "pending"], "authority": "OPS Gateway", "summary": "Pairing/setup flow candidate." },

    { "id": "engine.workflow_l1", "name": "ENGINE L1 Workflow", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE", "summary": "NodeDC canvas/workflow graph." },
    { "id": "engine.node_l1", "name": "ENGINE L1 Node", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE", "summary": "React Flow node in L1 graph." },
    { "id": "engine.edge_l1", "name": "ENGINE L1 Edge", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE", "summary": "React Flow edge in L1 graph." },
    { "id": "engine.node_type_l1", "name": "ENGINE L1 Node Type", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE", "summary": "Auto-registered node type/module." },
    { "id": "engine.workflow_acl", "name": "ENGINE Workflow ACL", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE", "summary": "Workflow-level ACL." },
    { "id": "engine.workflow_owner", "name": "ENGINE Workflow Owner", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE", "summary": "Owner field in ACL." },
    { "id": "engine.workflow_share", "name": "ENGINE Workflow Share", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE", "summary": "Share/invite/user access routes." },
    { "id": "engine.workflow_access_request", "name": "ENGINE Workflow Access Request", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE", "summary": "Access request route/model for workflow access." },
    { "id": "engine.workflow_l2", "name": "ENGINE L2 Workflow", "surface": "engine", "status": ["source-evidenced"], "authority": "ENGINE execution bridge", "summary": "L2 execution workflow attached to an L1 node." },
    { "id": "engine.node_l2", "name": "ENGINE L2 Node", "surface": "engine", "status": ["source-evidenced"], "authority": "ENGINE execution bridge", "summary": "Node inside a compiled/deployed L2 workflow." },
    { "id": "engine.l2_runtime_core", "name": "ENGINE L2 Runtime Core", "surface": "engine", "status": ["source-evidenced"], "authority": "ENGINE execution bridge", "summary": "Target Engine execution core." },
    { "id": "engine.workflow_l2_runtime_id", "name": "ENGINE L2 Runtime Workflow ID", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE execution bridge", "summary": "L2 runtime workflow id, separate from the L1 workflow id." },
    { "id": "engine.l2_execution", "name": "ENGINE L2 Execution", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE execution bridge", "summary": "L2 execution id mapped to run/execution records." },
    { "id": "engine.l2_run", "name": "ENGINE L2 Run", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE-side OpsLayer", "summary": "Runtime run id; tech-debt-adjacent." },
    { "id": "engine.l2_session", "name": "ENGINE L2 Session", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE-side OpsLayer", "summary": "Runtime session anchor." },
    { "id": "engine.l2_runtime_event", "name": "ENGINE L2 Runtime Event", "surface": "engine", "status": ["source-confirmed"], "authority": "ENGINE execution bridge", "summary": "Runtime event: workflow/node start/finish/success/error." },
    { "id": "engine.source_stamp", "name": "ENGINE Source Stamp", "surface": "engine", "status": ["pending"], "authority": "ENGINE", "summary": "Future source/version traceability candidate." },

    { "id": "assistant.assistant", "name": "Assistant", "surface": "assistant", "status": ["product-required", "pending"], "authority": "AI Workspace", "summary": "User-facing assistant capability/persona." },
    { "id": "assistant.provider", "name": "Assistant Provider", "surface": "assistant", "status": ["product-required", "pending"], "authority": "AI Workspace", "summary": "Model/provider integration boundary." },
    { "id": "assistant.executor", "name": "Assistant Executor", "surface": "assistant", "status": ["product-required", "pending"], "authority": "AI Workspace/Codex/MCP", "summary": "Execution adapter." },
    { "id": "assistant.thread", "name": "Assistant Thread", "surface": "assistant", "status": ["product-required", "pending"], "authority": "AI Workspace", "summary": "Conversation context." },
    { "id": "assistant.message", "name": "Assistant Message", "surface": "assistant", "status": ["product-required", "pending"], "authority": "AI Workspace", "summary": "Message unit in thread." },
    { "id": "assistant.bridge", "name": "Assistant Bridge", "surface": "assistant", "status": ["product-required", "pending"], "authority": "AI Workspace/OPS Gateway", "summary": "Bridge between assistant, ontology, gateway, Codex, and Engine." },
    { "id": "assistant.core_access", "name": "NDC Core Assistant Access", "surface": "assistant", "status": ["product-required", "owner-confirmed"], "authority": "HUB/Launcher", "summary": "Per-user assistant availability and permission overlay." },
    { "id": "assistant.access_role", "name": "Assistant Access Role", "surface": "assistant", "status": ["product-required", "owner-confirmed"], "authority": "HUB/Launcher", "summary": "Assistant role vocabulary: blocked, member, admin." },
    { "id": "assistant.role_assignment", "name": "Assistant Role Assignment", "surface": "assistant", "status": ["product-required", "pending"], "authority": "HUB/Launcher", "summary": "Scoped assignment of an assistant access role to a HUB user." },
    { "id": "assistant.capability", "name": "Assistant Capability", "surface": "assistant", "status": ["product-required", "owner-confirmed"], "authority": "Ontology Core/HUB/OPS Gateway", "summary": "Action-level capability exposed to an assistant." },
    { "id": "assistant.permission_policy", "name": "Assistant Permission Policy", "surface": "assistant", "status": ["product-required", "owner-confirmed"], "authority": "Ontology Core", "summary": "Policy that maps assistant role plus HUB admin scope to allowed capabilities." },
    { "id": "assistant.admin_scope", "name": "Assistant Admin Scope", "surface": "assistant", "status": ["product-required", "source-evidenced"], "authority": "HUB/Launcher", "summary": "Launcher-derived root/client admin boundary available to assistant-admin commands." },
    { "id": "assistant.action_request", "name": "Assistant Action Request", "surface": "assistant", "status": ["product-required", "pending"], "authority": "AI Workspace/OPS Gateway", "summary": "A requested assistant operation before policy and gateway enforcement." },
    { "id": "assistant.action", "name": "Assistant Action", "surface": "assistant", "status": ["product-required", "owner-confirmed"], "authority": "Ontology Core", "summary": "Declarative action card used by assistant command routing." },
    { "id": "assistant.action_registry", "name": "Assistant Action Registry", "surface": "assistant", "status": ["product-required", "owner-confirmed"], "authority": "Ontology Core", "summary": "Catalog of assistant actions across HUB, OPS Product, ENGINE, and Gateway." },
    { "id": "assistant.risk_policy", "name": "Assistant Risk Policy", "surface": "assistant", "status": ["product-required", "owner-confirmed"], "authority": "Ontology Core", "summary": "Risk classification and hard-deny policy for assistant actions." },
    { "id": "assistant.app_adapter", "name": "Assistant App Adapter", "surface": "assistant", "status": ["product-required", "pending"], "authority": "Platform Apps", "summary": "Application-owned execution adapter for an approved assistant action." },
    { "id": "assistant.confirmation_policy", "name": "Assistant Confirmation Policy", "surface": "assistant", "status": ["product-required", "owner-confirmed"], "authority": "Ontology Core", "summary": "Rules for when assistant actions require explicit confirmation." },

    { "id": "future.interface_layer", "name": "Future Interface Layer", "surface": "future", "status": ["owner-confirmed", "future-concept"], "authority": "Platform", "summary": "Dedicated automation UI/workview layer." },
    { "id": "future.interface_view", "name": "Interface View", "surface": "future", "status": ["future-concept"], "authority": "Interface Layer", "summary": "Generated/configured view over ontology-backed domain data." },
    { "id": "future.interface_widget", "name": "Interface Widget", "surface": "future", "status": ["future-concept"], "authority": "Interface Layer", "summary": "Map, table, analytics block, form, graph, control, etc." },
    { "id": "future.interface_binding", "name": "Interface Binding", "surface": "future", "status": ["future-concept"], "authority": "Interface Layer/ENGINE", "summary": "Binding from workflow/node output to interface layer." },
    { "id": "future.domain_package", "name": "Domain Ontology Package", "surface": "future", "status": ["future-concept"], "authority": "Ontology Core", "summary": "Domain extension package." },

    { "id": "engine.tech_debt.ops_layer", "name": "ENGINE OpsLayer Tech Debt", "surface": "engine", "status": ["tech-debt-noncanonical"], "authority": "ENGINE", "summary": "Current ENGINE-side operational/runtime layer; not OPS Product." },
    { "id": "engine.tech_debt.ops_agent_instance", "name": "ENGINE Ops Agent Instance", "surface": "engine", "status": ["tech-debt-noncanonical"], "authority": "ENGINE", "summary": "Local runtime agent instance; not OPS Gateway agent.identity." },
    { "id": "engine.tech_debt.agent_monitor_node", "name": "Agent Monitor Node", "surface": "engine", "status": ["tech-debt-noncanonical"], "authority": "ENGINE", "summary": "Current monitor/control UI experiment." },
    { "id": "engine.tech_debt.monitor_profile", "name": "Monitor Profile", "surface": "engine", "status": ["tech-debt-noncanonical"], "authority": "ENGINE", "summary": "Current profile/config around Agent Monitor." },
    { "id": "engine.tech_debt.tender_domain_ui", "name": "Tender Domain UI", "surface": "engine", "status": ["tech-debt-noncanonical"], "authority": "ENGINE", "summary": "Hardcoded tender/procurement UI in ENGINE." },
    { "id": "engine.tech_debt.tender_storage", "name": "Tender Storage", "surface": "engine", "status": ["tech-debt-noncanonical"], "authority": "ENGINE", "summary": "Current domain storage in ENGINE-side implementation." },
    { "id": "engine.tech_debt.tender_ai_review", "name": "Tender AI Review", "surface": "engine", "status": ["tech-debt-noncanonical"], "authority": "ENGINE", "summary": "Current AI review implementation for tender domain." },
    { "id": "engine.tech_debt.ops_tabs_control", "name": "ENGINE OPS Tabs Control", "surface": "engine", "status": ["tech-debt-noncanonical"], "authority": "ENGINE", "summary": "UI/control surface tied to current OpsLayer experiment." }
  ]
}
