{
  "format": "agent-article-v0",
  "article_id": "EA-068",
  "canonical_url": "/tools/ea-068-semantic-layer-ai",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-068-URL-D34C8A1E96F5",
    "EVD-EA-068-URL-0D9A9D0851F4",
    "EVD-EA-068-URL-AB71C485E37C",
    "EVD-EA-068-URL-3667935FF461",
    "EVD-EA-068-URL-4827824FD91B",
    "EVD-EA-068-URL-ADADB672F620",
    "EVD-EA-068-URL-1913780EA4D1",
    "EVD-EA-068-URL-94A1C139819B",
    "EVD-EA-068-URL-405387DEAAB7",
    "EA-068-R11-RESEARCH",
    "EA-068-R11-WEB-READBACK"
  ],
  "unknown_ids": [
    "EA-068-UNKNOWN-01",
    "EA-068-UNKNOWN-CURRENTNESS"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "UNKNOWN",
  "observation_status": "SPEC_ONLY",
  "freshness": "UNKNOWN",
  "last_verified": null,
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "COMM-064-EA0068",
    "SRC-EA-068-URL-D34C8A1E96F5",
    "SRC-EA-068-URL-0D9A9D0851F4",
    "SRC-EA-068-URL-AB71C485E37C",
    "SRC-EA-068-URL-3667935FF461",
    "SRC-EA-068-URL-4827824FD91B",
    "SRC-EA-068-URL-ADADB672F620",
    "SRC-EA-068-URL-1913780EA4D1",
    "SRC-EA-068-URL-94A1C139819B",
    "SRC-EA-068-URL-405387DEAAB7",
    "WEBBODY-EA0068-R8-BEB924EE"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-068-URL-D34C8A1E96F5",
      "evidence_class": "RESEARCH",
      "title": "org: Snowflake",
      "href": "https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-068-URL-D34C8A1E96F5"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-068-URL-0D9A9D0851F4",
      "evidence_class": "RESEARCH",
      "title": "org: Snowflake",
      "href": "https://docs.snowflake.com/en/user-guide/views-semantic/overview",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-068-URL-0D9A9D0851F4"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://docs.snowflake.com/en/user-guide/views-semantic/overview"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-068-URL-AB71C485E37C",
      "evidence_class": "RESEARCH",
      "title": "org: Snowflake",
      "href": "https://docs.snowflake.com/en/en/user-guide/snowflake-cortex/cortex-analyst/cortex-analyst-routing-mode",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-068-URL-AB71C485E37C"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://docs.snowflake.com/en/en/user-guide/snowflake-cortex/cortex-analyst/cortex-analyst-routing-mode"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-068-URL-3667935FF461",
      "evidence_class": "RESEARCH",
      "title": "org: Cube",
      "href": "https://docs.cube.dev/docs/introduction",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-068-URL-3667935FF461"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://docs.cube.dev/docs/introduction"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-068-URL-4827824FD91B",
      "evidence_class": "RESEARCH",
      "title": "org: Cube",
      "href": "https://docs.cube.dev/docs/explore-analyze/workbooks/index",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-068-URL-4827824FD91B"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://docs.cube.dev/docs/explore-analyze/workbooks/index"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-068-URL-ADADB672F620",
      "evidence_class": "RESEARCH",
      "title": "canonical URL: https://docs.cube.dev/docs/explore-analyze/workbooks/index ;",
      "href": "https://docs.cube.dev/docs/explore-analyze/workbooks/source-sql-tabs",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-068-URL-ADADB672F620"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://docs.cube.dev/docs/explore-analyze/workbooks/index ; https://docs.cube.dev/docs/explore-analyze/workbooks/source-sql-tabs"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-068-URL-1913780EA4D1",
      "evidence_class": "RESEARCH",
      "title": "org: Open Semantic Interchange community",
      "href": "https://open-semantic-interchange.org/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-068-URL-1913780EA4D1"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://open-semantic-interchange.org/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-068-URL-94A1C139819B",
      "evidence_class": "RESEARCH",
      "title": "org/authors: Fangyu Lei et al.",
      "href": "https://arxiv.org/abs/2411.07763",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-068-URL-94A1C139819B"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://arxiv.org/abs/2411.07763"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-068-URL-405387DEAAB7",
      "evidence_class": "RESEARCH",
      "title": "org: dbt Labs",
      "href": "https://dbt-labs.github.io/dbt-llm-sl-bench/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-068-URL-405387DEAAB7"
      ],
      "supporting_locators": [
        "EVIDENCE TABLE",
        "canonical URL: https://dbt-labs.github.io/dbt-llm-sl-bench/"
      ],
      "scope": "EVIDENCE TABLE",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-068-R11-RESEARCH",
      "evidence_class": "RESEARCH",
      "title": "EA-068 監査済みresearch / canonical revision binding",
      "supports": [
        "F1 VERIFIED_SPEC/OSS_PRACTICE: semantic layer can encode business concepts above physical schema: metrics, dimensions, entities/relationships/join paths and, depending on implementation, access policy. Current Snowflake and Cube implementations expose these semantics directly to AI/NL analytics.\nF2 INFERENCE: the architectural value is not “LLM becomes correct” but “business meaning becomes an explicit, versionable, reviewable dependency rather than an implicit LLM inference.” This is the safe Core abstraction.\nF3 VERIFIED_SPEC: Snowflake semantic views are native schema-level governed objects; generated SQL still executes under database privileges. Semantic guidance and authorization are separate controls.\nF4 SOURCE_REPORT/OSS_PRACTICE: Cube demonstrates a semantic runtime where AI queries are validated and access policy is applied before warehouse execution; however Cube also documents raw Source SQL paths that bypass the layer. Therefore enforcement must be architectural, not assumed from product presence.\nF5 RESEARCH: Spider 2.0 establishes that enterprise text-to-SQL over complex raw data remains difficult. dbt Labs' semantic-layer benchmark provides direct comparative evidence but is small/domain-specific and also documents expressiveness failures (“too many hops”).\nF6 SOURCE_REPORT: OSI shows active movement toward vendor-neutral semantic interchange, but interoperability is not yet evidence that metric semantics, security, dialect behavior or execution results are identical across implementations."
      ],
      "limit": "canonical監査・revision bindingの存在を示す。外部ソースcurrentnessが本文またはcontrol-planeで確定していない場合は、currentnessをUNKNOWNのまま保持する。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "COMM-064-EA0068"
      ],
      "supporting_locators": [
        "COMM-064-EA0068",
        "EA-068-R5-LEGACY-MIGRATION-20261008-R1",
        "content/staging/EA-068.md"
      ],
      "scope": "監査済みEA本文・canonical revision・既存Source Graph relationの範囲。欠損currentnessは推測で閉じない。",
      "provenance_status": "AUDIT_PASS_CANONICAL_BINDING"
    },
    {
      "id": "EA-068-R11-WEB-READBACK",
      "evidence_class": "IMPL",
      "title": "EA-068 Web body identity / canonical readback",
      "supports": [
        "canonical staging bodyのSHA-256一致とR9 canonical ledger readbackをProduction projectionの入力として検証する。"
      ],
      "limit": "body identity/readbackは本文claim自体の真偽や外部ソースの最新性を追加保証しない。",
      "checked_at": null,
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "WEBBODY-EA0068-R8-BEB924EE"
      ],
      "supporting_locators": [
        "WEBBODY-EA0068-R8-BEB924EE",
        "content/staging/EA-068.md",
        "EA-068-R5-LEGACY-MIGRATION-20261008-R1"
      ],
      "scope": "R9/R10 canonical readback後のProduction生成時body identity。",
      "provenance_status": "CANONICAL_READBACK_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "WHY_THIS_MATTERS_TO_UPDATE",
      "text": "Enterprise AIで自然言語→SQLを許す場合、物理schemaだけでは「売上」「アクティブ顧客」「粗利」等の業務定義、正しいjoin path、粒度、集計式、アクセス制御を十分に表せない。semantic layerはLLMの能力を上げる機構ではなく、AIが推測すべき業務意味を減らし、metrics/dimensions/relationships/access policyをgoverned interfaceとして提供する実装層になり得る。EA-068では「semantic layerを通せば正しい」という製品保証ではなく、raw schema直結より統制可能な分析面を作る設計原則として扱う。"
    },
    {
      "heading": "SCOPE_ROUTING",
      "text": "Enterprise AI Core / Data / governance / implementation / interoperability / benchmark / provider mapping。EA-066 Identity-aware ACL-aware RAGとはaccess enforcement、EA-067 Knowledge Freshness Engineeringとはsemantic definition freshness、EA-015監査証跡とはgenerated query・semantic version・actorのprovenanceで接続する。"
    },
    {
      "heading": "CLAIM_OR_RESEARCH_QUESTION",
      "text": "Q1. AI分析をraw DB/schemaへ直接接続する代わりにsemantic layerを介在させると、business metric・join・dimension・access ruleを明示的に統制できるか。\nQ2. current productsはsemantic model/viewをAI agent / natural-language analyticsの実行面として実装しているか。\nQ3. semantic layerはtext-to-SQLの正確性を保証するか。それともerror surfaceを縮小するだけか。\nQ4. semantic modelのversion、権限、freshness、bypass経路をどう監査すべきか。"
    },
    {
      "heading": "EVIDENCE TABLE",
      "text": "1) source class: official product documentation\nexact title: Cortex Analyst | Snowflake Documentation\norg: Snowflake\ncanonical URL: https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst\npublication/update: current documentation; access 2026-09-15\nversion/release: current as-of access; Semantic Views recommended, legacy staged YAML supported for backward compatibility\nsupporting locator: Understanding Semantic Views / Why use Semantic Views / Access control requirements / Security and governance\nlabel: VERIFIED_SPEC + PRODUCT_VOLATILE\nrelation: support + limit\nfinding: Semantic Views define logical tables, dimensions, facts, metrics and relationships; Cortex Analyst uses them for NL→SQL. Generated SQL executes in Snowflake and underlying table SELECT privileges/RBAC apply. Semantic view/model metadata aids SQL generation; semantic views are recommended for new implementations.\n\n\n2) source class: official product documentation\nexact title: Overview of semantic views\norg: Snowflake\ncanonical URL: https://docs.snowflake.com/en/user-guide/views-semantic/overview\npublication/update: current documentation; access 2026-09-15\nversion/release: current as-of access\nsupporting locator: Interfaces for working with Semantic Views / getting started\nlabel: VERIFIED_SPEC + PRODUCT_VOLATILE\nrelation: support + implementation\nfinding: Semantic Views are schema-level objects containing business metrics, entities and relationships; usable by Cortex Agents, Cortex Analyst REST API and direct SQL SELECT, and shareable through Snowflake mechanisms.\n\n\n3) source class: official product documentation\nexact title: Routing Mode for Cortex Analyst\norg: Snowflake\ncanonical URL: https://docs.snowflake.com/en/en/user-guide/snowflake-cortex/cortex-analyst/cortex-analyst-routing-mode\npublication/update: current documentation; access 2026-09-15\nversion/release: Preview Feature — Open; PRODUCT_VOLATILE\nsupporting locator: Routing Mode overview / permissions note\nlabel: VERIFIED_SPEC + PRODUCT_VOLATILE\nrelation: support + limit\nfinding: routing mode uses semantic views so metrics, joins and filters follow governed definitions; documentation explicitly states routing mode does not change permissions, which remain standard Snowflake privileges.\n\n\n4) source class: author-maintained product/OSS documentation\nexact title: Introduction - Cube Documentation\norg: Cube\ncanonical URL: https://docs.cube.dev/docs/introduction\npublication/update: current documentation; access 2026-09-15\nversion/release: current docs; Cube Core open-source semantic layer\nsupporting locator: Semantic SQL / semantic layer architecture / access control / APIs\nlabel: OSS_PRACTICE + SOURCE_REPORT + PRODUCT_VOLATILE\nrelation: support + implementation\nfinding: AI agents query Cube semantic layer through Semantic SQL rather than warehouse directly; runtime validates against data model and applies access policies before warehouse execution. Metrics, joins, access rules and caching are centralized; APIs include SQL/REST/GraphQL/MCP-related paths.\n\n\n5) source class: author-maintained product documentation\nexact title: Workbooks - Cube Documentation / Source SQL Tabs\norg: Cube\ncanonical URL: https://docs.cube.dev/docs/explore-analyze/workbooks/index ; https://docs.cube.dev/docs/explore-analyze/workbooks/source-sql-tabs\npublication/update: current documentation; access 2026-09-15\nversion/release: current as-of access\nsupporting locator: Semantic Query vs Source SQL Query\nlabel: SOURCE_REPORT + PRODUCT_VOLATILE\nrelation: counter + limit\nfinding: Cube itself exposes both semantic-query paths and Source SQL Query paths that bypass the semantic layer. Therefore product adoption alone does not prove semantic enforcement; bypass surface must be separately governed.\n\n\n6) source class: open specification / industry working group\nexact title: Open Semantic Interchange (OSI)\norg: Open Semantic Interchange community\ncanonical URL: https://open-semantic-interchange.org/\npublication/update: specification effort current; site update includes 2026-06-04 activity; access 2026-09-15\nversion/release: current specification site; Apache 2.0; YAML; exact spec version must be rechecked at update time\nsupporting locator: Core Classes / AI Ready Semantic Context / Working Groups\nlabel: SOURCE_REPORT + PRODUCT_VOLATILE\nrelation: interoperability + context\nfinding: OSI is an active vendor-neutral effort to exchange semantic metadata across analytics/AI/BI, with semantic model, datasets, fields, metrics, dimensions and relationships. It supports the direction of portable semantics but does not yet establish universal cross-vendor semantic equivalence.\n\n\n7) source class: primary research / benchmark\nexact title: Spider 2.0: Evaluating Language Models on Real-World Enterprise Text-to-SQL Workflows\norg/authors: Fangyu Lei et al.\ncanonical URL: https://arxiv.org/abs/2411.07763\npublication: 2024-11-12; access 2026-09-15\nversion: arXiv 2411.07763; benchmark 632 enterprise workflow problems\nsupporting locator: abstract / benchmark description / reported baseline\nlabel: RESEARCH\nrelation: counter + context\nfinding: real enterprise text-to-SQL involves large schemas, dialect docs, metadata and project code; reported agent success is far below simpler Spider/BIRD settings. This is evidence against treating raw-schema text-to-SQL as solved, but it does not directly prove semantic-layer superiority.\n\n\n8) source class: author-maintained reproducible benchmark\nexact title: LLM Semantic Layer Benchmark\norg: dbt Labs\ncanonical URL: https://dbt-labs.github.io/dbt-llm-sl-bench/\npublication/update: current benchmark site; access 2026-09-15\nversion: current site; 11 insurance-domain questions; repeated/model comparison runs available\nsupporting locator: benchmark description / note on modeling\nlabel: RESEARCH + SOURCE_REPORT\nrelation: support + counter + limit\nfinding: benchmark explicitly compares Semantic Layer (MetricFlow) with raw SQL. Importantly, 3/11 questions are documented as “too many hops” when the semantic model cannot express required joins; adding models can make them answerable. This supports semantic modeling as a controllable interface while demonstrating that model coverage is itself a failure boundary."
    },
    {
      "heading": "FINDINGS",
      "text": "F1 VERIFIED_SPEC/OSS_PRACTICE: semantic layer can encode business concepts above physical schema: metrics, dimensions, entities/relationships/join paths and, depending on implementation, access policy. Current Snowflake and Cube implementations expose these semantics directly to AI/NL analytics.\nF2 INFERENCE: the architectural value is not “LLM becomes correct” but “business meaning becomes an explicit, versionable, reviewable dependency rather than an implicit LLM inference.” This is the safe Core abstraction.\nF3 VERIFIED_SPEC: Snowflake semantic views are native schema-level governed objects; generated SQL still executes under database privileges. Semantic guidance and authorization are separate controls.\nF4 SOURCE_REPORT/OSS_PRACTICE: Cube demonstrates a semantic runtime where AI queries are validated and access policy is applied before warehouse execution; however Cube also documents raw Source SQL paths that bypass the layer. Therefore enforcement must be architectural, not assumed from product presence.\nF5 RESEARCH: Spider 2.0 establishes that enterprise text-to-SQL over complex raw data remains difficult. dbt Labs' semantic-layer benchmark provides direct comparative evidence but is small/domain-specific and also documents expressiveness failures (“too many hops”).\nF6 SOURCE_REPORT: OSI shows active movement toward vendor-neutral semantic interchange, but interoperability is not yet evidence that metric semantics, security, dialect behavior or execution results are identical across implementations."
    },
    {
      "heading": "LIMITS / COUNTEREVIDENCE / FAILURE ENVELOPE",
      "text": "- Semantic layer can encode a wrong metric, stale business rule, incorrect relationship, unsafe access rule, or incomplete domain. It can make an error consistently repeatable rather than correct it.\n- Coverage gap: if a required measure/join/domain is absent, the agent may fail, refuse, or seek a bypass. dbt benchmark explicitly documents unexpressible “too many hops” cases before extra modeling.\n- Bypass gap: raw SQL, direct warehouse credentials, alternate tools/MCP servers, notebooks, exports, cached extracts or shadow semantic models can evade the governed layer.\n- Authorization gap: semantic definitions and database privileges are distinct. A semantically valid query can still be unauthorized; conversely a technically authorized raw-table query may violate intended business abstraction.\n- Freshness gap: warehouse data freshness and semantic-definition freshness are separate. Metric definition changes require version/provenance and regression testing.\n- LLM gap: correct semantic metadata does not guarantee correct question interpretation, filter choice, time window, query generation, execution or narrative explanation.\n- Interoperability gap: OSI portability is an active specification effort; do not claim universal vendor-neutral equivalence without versioned converter/conformance evidence."
    },
    {
      "heading": "AVAILABILITY_GATES",
      "text": "Snowflake: account/region/model availability, required CORTEX roles, semantic-view privileges and underlying table SELECT; preview features must be rechecked as-of publication update. Cube: Cube/Core/Cloud feature split, deployment configuration, API/MCP availability, JWT/security context and access-policy setup. dbt benchmark/MetricFlow: product/version and model coverage must be pinned before product claims. OSI: specification version and participating implementations/converters must be revalidated."
    },
    {
      "heading": "IMPLEMENTATION_STATE",
      "text": "MATURE PATTERN / PRODUCT-SPECIFIC IMPLEMENTATIONS EXIST. Snowflake has native Semantic Views integrated with Cortex Analyst/Agents and SQL; Cube has an open-source semantic-layer foundation and AI-facing query surfaces. Cross-vendor portable semantic interchange is EMERGING rather than closed. A universal Enterprise AI semantic contract remains PROPOSAL."
    },
    {
      "heading": "BENCHMARK_OR_EVAL",
      "text": "Use three distinct evaluation layers:\nA) semantic correctness: metric formula, grain, join path, dimension/filter/time semantics;\nB) execution correctness: generated query result equals golden result under authorized principal;\nC) answer correctness: final narrative/number/citation faithfully represents result.\nRequired paired fixture: same 30-100 business questions against (1) raw schema path and (2) semantic path, same model/version/temperature where possible. Include ambiguous synonyms, metric-definition conflicts, multi-hop joins, row-level security, unsupported questions, stale metric version, and attempted bypass. Track execution accuracy, metric-selection accuracy, unauthorized-result rate, abstention quality, latency/cost, semantic-model coverage and regression after semantic changes. Spider 2.0 is external context, not a product guarantee. dbt LLM Semantic Layer Benchmark is useful comparative evidence but too small to generalize alone."
    },
    {
      "heading": "SECURITY",
      "text": "enforce warehouse least privilege plus semantic-layer policy; prohibit or separately authorize raw-SQL bypass. Semantic metadata itself can reveal sensitive table/metric names and business logic.\nAUDIT: record principal, question, model/version, semantic-model/view ID+version/hash, generated query, executed query, referenced metrics/dimensions, policy decision, result/error and final answer provenance."
    },
    {
      "heading": "COST",
      "text": "semantic modeling adds authoring/review/CI maintenance but may reduce repeated prompt/schema context and wrong-query rework; product-specific caching/preaggregation can change warehouse cost. No generic ROI claim established."
    },
    {
      "heading": "OPERABILITY",
      "text": "treat semantic definitions as code/config with owner, version control, review, tests, deployment environment, deprecation and rollback. Couple EA-067 freshness SLO to semantic definition rollout, not only source data refresh."
    },
    {
      "heading": "SAFE_WORDING_FOR_FUTURE_BOOK",
      "text": "「Enterprise AIの分析では、LLMを生のデータベースschemaへ直接接続するより、組織が定義したmetrics・dimensions・relationships・access rulesを持つsemantic layerを介在させると、AIが推測しなければならない業務意味を減らし、定義をversion管理・監査・評価しやすくできる。これは回答正確性の保証ではない。semantic model自体の誤り・不足・陳腐化、権限設定、raw SQL等のbypass経路、LLMの質問解釈・query生成誤りは別途評価する必要がある。」"
    },
    {
      "heading": "UPDATE_WORK_HANDOFF",
      "text": "1. Coreへ「Semantic Contract」を追加候補: metric/dimension/entity/relationship/grain/filter/time semantics/access policy/owner/version/effective_at/deprecated_at/source lineage。\n2. provider mappingはSnowflake Semantic Views+Cortex、Cube Semantic Layer/AI、dbt Semantic Layer/MetricFlowをversioned comparisonし、Microsoft Fabric/Power BI semantic model、Looker/LookML等は追加採集候補として別bounded unitで照合する。\n3. OSIはinteroperability節へ置き、publication時のspec version、converter実装、conformance/test statusを再採集する。\n4. paired benchmarkをTEST_PROFILEとして実施し、raw schema vs semantic pathを同一fixtureで比較する。\n5. raw SQL / alternate tool / notebook / exportのbypass inventoryを必須化し、「semantic layer adopted」と「semantic layer enforced」を分離する。"
    },
    {
      "heading": "UNKNOWN",
      "text": "provider横断で同一metric definitionが同一結果を保証するconformance水準。OSIのpublication時点spec/version/converter coverage。semantic-layer変更からAI回答へのpropagation latency。semantic metadataへのprompt injection/poisoning耐性。複雑なnon-additive/semi-additive metric、temporal semantics、multi-hop relationshipの各製品限界。"
    },
    {
      "heading": "STOP_CONDITION",
      "text": "EA-068の更新準備として、(a) current implementationが複数系統で存在、(b) raw-schema text-to-SQLの限界、(c) semantic-layer自身のcoverage/bypass/freshness/authorization failure envelope、(d) interoperabilityの現状、(e)後続paired TEST_PROFILEが揃ったため本RUNをbounded completeとする。UNKNOWNは推測で閉じず後続Workへ渡す。\n\n---"
    }
  ],
  "human_url": "/tools/ea-068-semantic-layer-ai",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-068-semantic-layer-ai",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-068-semantic-layer-ai"
}