CMDCTest.RAG.Assertions (cmdc_test v0.3.0)

Copy Markdown View Source

RAG / GraphRAG contract assertions。

支持输入 Tool JSON、map 或 RAG plugin event payload。断言重点是 citation provenance、ACL source 泄漏、pipeline summary、grounding 与 graph evidence。

Summary

Functions

断言结果至少包含指定数量的 citations,并返回 citations。

断言结果包含 GraphRAG evidence。

断言结果有 grounding score,并达到最小阈值。

断言结果包含 pipeline run summary。

断言 Phase 18 RAG plugin event 名称与 payload 子集。

断言 RAG 审计/进度 payload 没有泄漏正文、chunk 或 prompt。

Functions

assert_citations(result, opts \\ [])

@spec assert_citations(
  String.t() | map(),
  keyword()
) :: [map()]

断言结果至少包含指定数量的 citations,并返回 citations。

assert_graph_evidence(result, opts \\ [])

@spec assert_graph_evidence(
  String.t() | map(),
  keyword()
) :: map()

断言结果包含 GraphRAG evidence。

assert_grounding(result, min_score \\ 0.0)

@spec assert_grounding(String.t() | map(), number()) :: map()

断言结果有 grounding score,并达到最小阈值。

assert_no_unauthorized_sources(result, allowed_collections, opts \\ [])

@spec assert_no_unauthorized_sources(String.t() | map(), [String.t()], keyword()) ::
  :ok

断言 citations 没有越权 collection。

assert_pipeline_summary(result, opts \\ [])

@spec assert_pipeline_summary(
  String.t() | map(),
  keyword()
) :: map()

断言结果包含 pipeline run summary。

assert_rag_event(arg, expected_name, opts \\ [])

@spec assert_rag_event(tuple(), atom(), keyword()) :: map()

断言 Phase 18 RAG plugin event 名称与 payload 子集。

refute_raw_text_leaked(payload)

@spec refute_raw_text_leaked(map() | tuple() | String.t()) :: :ok

断言 RAG 审计/进度 payload 没有泄漏正文、chunk 或 prompt。