From 19832053826481b1c9f63ef251260401747cb0bf Mon Sep 17 00:00:00 2001 From: "agent.develop" Date: Tue, 22 Sep 2026 17:04:22 +0800 Subject: [PATCH] =?UTF-8?q?[M5b]=20=E8=AF=81=E6=8D=AE=E8=81=9A=E5=90=88?= =?UTF-8?q?=E4=B8=8E=E6=9F=A5=E8=AF=A2=E5=A5=91=E7=BA=A6=EF=BC=9Ainit.py?= =?UTF-8?q?=20=E8=A1=A5=E9=BD=90=20load=5Fpbl=5Fevidence()=20=E5=86=85=209?= =?UTF-8?q?=20=E4=B8=AA=E5=A5=91=E7=BA=A6=E5=87=BD=E6=95=B0=20env=20?= =?UTF-8?q?=E6=8C=82=E8=BD=BD(=E2=91=A2=E6=B3=A8=E5=86=8C)=20+=20=E7=A1=AC?= =?UTF-8?q?=E9=97=A8=E7=A6=815=20=E5=A4=8D=E6=95=B0=E5=88=AB=E5=90=8D(pbl?= =?UTF-8?q?=5Fevidence=5Flists=20=E7=AD=89)=EF=BC=8C=E6=B6=88=E9=99=A4=20.?= =?UTF-8?q?dspy=20=E8=B0=83=E7=94=A8=20NameError=20=E9=A3=8E=E9=99=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pbl_evidence/init.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pbl_evidence/init.py b/pbl_evidence/init.py index a3e680a..6e98525 100644 --- a/pbl_evidence/init.py +++ b/pbl_evidence/init.py @@ -3,11 +3,15 @@ """`load_pbl_evidence()` —— pbl_evidence 模块唯一挂载入口。 注册三处同步之 ③:``env.<契约名> = <契约名>`` -(① 定义在 api.py,② 导出在 __init__.py,③ 本文件挂 ServerEnv)。 -漏本文件注册 → .dspy 调用 NameError。 +(① 定义在 api.py/aggregation.py/crud_api.py,② 导出在 __init__.py,③ 本文件挂 ServerEnv)。 +漏本文件注册 → .dspy 调用 NameError(M5a 事故根因)。 宿主应用(apps/pbls)在 ``init()`` 中按拓扑序调用本函数;库名由宿主 ``get_module_dbname('pbl_evidence')`` 决定,本模块不硬编码。 + +复数别名(module-development-spec 硬门禁 5):CRUD 框架生成的 .dspy 包装器用 +复数表名(create_pbl_evidences / pbl_evidence_lists 等),而本模块函数按单数语义 +命名,故两个名字都挂,避免框架端点取不到函数。 """ from ahserver.serverenv import ServerEnv @@ -64,6 +68,18 @@ def load_pbl_evidence(): env.pbl_evidence_aggregate = pbl_evidence_aggregate env.pbl_evidence_query = pbl_evidence_query env.pbl_evidence_subject_summary = pbl_evidence_subject_summary + # ── 复数别名(硬门禁 5:CRUD 生成端点按复数表名取函数,单复数都要可达)── + env.pbl_artifact_lists = pbl_artifact_list + env.pbl_artifact_options_plural = pbl_artifact_options + env.pbl_evidence_lists = pbl_evidence_list + env.pbl_evidence_stats_plural = pbl_evidence_stats + env.pbl_evidence_watermark_plural = pbl_evidence_watermark + env.pbl_evidence_querys = pbl_evidence_query + env.pbl_evidence_aggregates = pbl_evidence_aggregate + env.pbl_evidence_updates = pbl_evidence_update + env.pbl_evidence_deletes = pbl_evidence_delete + env.pbl_evidence_collect_idempotents = pbl_evidence_collect_idempotent + env.pbl_evidence_subject_summarys = pbl_evidence_subject_summary # ── 底层能力(供 M5b 回放 / M6 评估直接复用)────────────────── env.pbl_collect_evidence_from_events = collect_evidence_from_events env.pbl_resolve_event_table = resolve_event_table