mirror of
https://github.com/ThearchyHelios/AgentLab.git
synced 2026-11-15 07:02:00 +00:00
8d9a712eae
- 新增标准业务实体(CanonicalEntity)模型、确定性跨源编码翻译、后台候选实体扫描与文档驱动实体智能助手 - 新增指标本体图谱(factor / reconciles_with / upstream_driver)、DAG 防环校验以及 ontology_neighbors / source_health 内置工具 - 新增跨源对账(analysis_reconcile)与滞后共变(analysis_cochange)分析算子,打通 [[h:H1]] 数据源健康证据链、报告导出与本体消融评测 - 数据目录新增「标准业务实体」视图与候选审阅工作台,口径页集成指标本体拓扑面板与端到端浏览器检查
29 lines
1.3 KiB
Python
29 lines
1.3 KiB
Python
"""发布预检的应用服务;编辑页、发布接口和发布单使用同一组检查。"""
|
|
from typing import Any
|
|
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
from app.engine.schema import GraphSpec
|
|
|
|
|
|
async def gate_issues(
|
|
session: AsyncSession, graph: Any, level: str, *, workflow_id: str | None = None,
|
|
) -> list[dict[str, Any]] | None:
|
|
from app.data.catalog_impact import open_structure_issues
|
|
from app.data.sqlcheck import graph_sources, load_checkers_by_name
|
|
from app.engine.governance import publish_issues
|
|
from app.engine.lint_process import load_subgraphs, with_subgraphs
|
|
from app.engine.provider_refs import load_providers
|
|
from app.ledger.ontology import ontology_publish_issues
|
|
|
|
try:
|
|
spec = GraphSpec.model_validate(graph)
|
|
except Exception:
|
|
return None
|
|
checkers = await load_checkers_by_name(session, graph_sources(spec.nodes))
|
|
providers = await load_providers(session, spec)
|
|
with with_subgraphs(await load_subgraphs(session, spec)):
|
|
issues = [i.model_dump() for i in publish_issues(spec, level=level, checkers=checkers, providers=providers)]
|
|
ontology_issues = await ontology_publish_issues(session, spec, workflow_id=str(workflow_id or ""))
|
|
return issues + ontology_issues + await open_structure_issues(session, spec)
|