Skip to content

EVGAP-01:target surface localization 证据抽取契约(contract-only,未执行) - #59

Open
leezx wants to merge 1 commit into
mainfrom
task_20260804_evgap-01-surface-localization-contract
Open

EVGAP-01:target surface localization 证据抽取契约(contract-only,未执行)#59
leezx wants to merge 1 commit into
mainfrom
task_20260804_evgap-01-surface-localization-contract

Conversation

@leezx

@leezx leezx commented Aug 5, 2026

Copy link
Copy Markdown
Owner

这个 PR 是什么

冻结一次证据抽取运行的范围、来源、字段白名单、判据映射与输出验证,用于解除 PR #58 登记的 EVGAP-01——它阻断 LOCK-01,导致 41 个靶点全部 DEFER、eligible = 0、Level 01 无法录入任何 pair。

不执行抽取,不执行 Level 01。 EVGAP-02 仍未解除,Level 01 依然不可执行。

main 基线 cd0e041,5 个文件 +878/-0Ran 298 tests 全部通过(基线 283 + 新增 15)。


一、需要裁决的治理事实:本次请求纳入一个从未被批准的数据库

所需数据已经在本地DATA/1.Databases/ADC_surfaceome_reference/processed/v0.3.0。但它的治理状态必须先讲清楚:

该数据库从未被审核批准。 logs/chatgpt-review-*.md 无任何一条提及 surfaceome;worklog 唯一提及是 2026-08-01 的 mock 运行。已获批的证据抽取(PR #31)在其 source_manifest.json 中声明的来源是 ADC_internalization_reference没有接入本库

这解释了一件之前没解释的事:为什么已批准层只有跨膜段注释。 不是数据不存在,是当时没接。

本 PR 请求纳入这一个版本0.3.0 / snapshot 2026-07-29-quant-topology-mm / raw_manifest_sha256 884f4191…,四个文件逐一记录 SHA-256,执行前逐个校验、不一致即中止(VAL-E06)。

主张纳入它的核心理由:守卫是它构建时写死的

该库 consensus_semantics 的声明 对应仓库规则
membrane_topology_is_independent_surface_localization: false PR #58 第二轮阻断本身
absence_is_negative_evidence: false 缺失一律 DEFER,永不 EXCLUDE
generic_membrane_is_surface_confirmation: false 泛膜注释不等于质膜定位
cci_receptor_role_is_surface_confirmation: false 受体角色不等于定位证据
tumor_ihc_is_surface_density: false 表达强度不等于表面密度(Level 02 T7)
因 RNA FPKM 排除 GSE160572_MM_surfaceome.csv.gz RNA 不得当作蛋白层面验证

它还自设 full_t7_gate_confidence_cap: 0.55,并声明自己不建立 malignant-cell positive fraction、isoform usage、calibrated treatment stability 或 ADC accessibility——它自己就划开了 Level 02 边界。守卫是构建时写死的,不是本契约事后附加的。

二、范围与禁读

只处理已批准枚举的 41 靶点(SHA-256 27bb81eb…),不新增靶点。实测覆盖 37 / 未覆盖 4AG7CA19-9EDBNUndisclosed)。

禁止读取tumor_surface_measurement.tsvtumor_protein_context.tsvtreatment_surface_response.tsv(属 Level 02 T7/T5)、receptor_evidence.tsv(该库自身即声明受体角色不构成定位证据)。禁止字段cci_receptor_roleuniprot_generic_membranefull_t7_gate_confidence_cap。读入即重演 PR #58 被阻断的越界。

三、判据映射

RQ-01independent_evidence_family_count ≥ 2,家族为 curated_knowledgeimagingcell_surface_capture_ms拓扑与泛膜已被该库排除在家族计数之外,所以家族计数在结构上不可能把跨膜段当成定位证据。

RQ-02 有两条路径:

路径 条件 实测
ECD-a uniprot_ecd_meets_min_length = true 18
ECD-b uniprot_gpi_anchoruniprot_signal_peptidetransmembrane_segment_count = 0 4

ECD-b 是修正数据表示假象,不是放宽标准。 UniProt 的 extracellular domain 字段由跨膜蛋白的 TOPO_DOM 推导;GPI 锚定蛋白零跨膜段、无 TOPO_DOM,该字段一律读成 false。只用 ECD-a 会让 CEACAM5MSLNFOLR1MELTF 因假象落 hold——而四者在库中都是 confirmed_surface、都带信号肽与 GPI 锚,成熟蛋白整体位于胞外。

对照 LAMP1:有跨膜段与信号肽,但结构域朝向溶酶体腔内、无胞外 TOPO_DOM,两条路径都不满足、落 hold。审核方要求的「细胞器膜定位必须 DEFER」由规则自然落在正确一侧,无需特判。

RQ-03 要求 source_evidence.tsv 有对应行且 source_idsource_releaseevidence_familysource_urllicense 非空;RNA 来源行不可采纳。

四、确定性映射:五条规则覆盖 41 个靶点,零排除

ID 条件 outcome 数量
E1-01 三项 RQ 全满足且无冲突 eligible_surface_target RETAIN 22
E1-02 独立家族数 < 2 possible_surface_target DEFER 6
E1-03 两条 ECD 路径都不满足 possible_surface_target DEFER 3
E1-04 discordance_flags 非空 possible_surface_target DEFER 6
E1-05 不在参考库中 possible_surface_target DEFER 4

22+6+3+6+4 = 41。零自由裁量、零排除not_surface_targetidentity_unresolved 仍不可用——该库 absence_is_negative_evidence: falseno_surface_support 只表示无支持证据、不等于已证伪。

  • E1-02:CLDN18、GUCY2C、LGR5、PRLR、RNF43、SLC44A4
  • E1-03:LAMP1、TDGF1、TM4SF1
  • E1-04:CD276、F3、IL2RA、MET、MST1R、TACSTD2

五、必须写进结果报告的三条发现

  • MF-01GUCY2C 落 hold。 只有 curated_knowledge 一个独立家族,consensus_classsupported_surface 而非 confirmed_surface这与此前多模型共识把 GUCY2C 列为首选、以及被隔离运行的 Tier A 选择相反。 必须原样写出,不得因与既有偏好冲突而弱化。测试会检查 MF-01 声称 hold 的靶点确实出现在某条 DEFER 规则的 measured_targets,防止这条发现被改成空话。
  • MF-02eligible 只是身份与拓扑层面的结论,不表示该靶点在 CRC 肿瘤细胞表面可得——那是 Level 02 的 T7。
  • MF-03:零排除。 hold 不是淘汰,是待证据。

六、验证

  • Ran 298 tests 全部通过;scripts/verify_repository_boundary.sh 通过;git diff --check 通过;零 __pycache__
  • 10 个变异全部被捕获后精确回滚,与备份 diff -q 一致、恢复 OK:家族门槛降到 1、拓扑可算作独立家族、未覆盖靶点改判 EXCLUDE、开放 T7 肿瘤定量文件、声明该库此前已获批准、计数不对账、删掉 GUCY2C 使 MF-01 落空、顺带授权执行 Level 01、把 full_t7_gate_confidence_cap 放进白名单、去掉 ECD-b 路径。
  • 所有计数由脚本读取外部数据库实测:37/4 覆盖;consensus_class 29 confirmed/7 supported/1 no_support;独立家族数 3 家族 10 个、2 家族 19 个、1 家族 7 个、0 家族 1 个;discordance_flags 非空 6 个;最终 22/19/0。四个数据库文件 SHA-256 实算。

七、授权与不授权

授权: 纳入 ADC_surfaceome_reference@0.3.0(指定 snapshot 与校验和)为已批准来源;按本契约执行一次抽取。

不授权: 执行 Level 01;评估 T7 或任何肿瘤细胞表面可得性;新增靶点或 clinical context;任何筛选排序、Tier、资产推荐、实验建议;任何 Gate 执行或评分;读取被禁文件或字段;引入被隔离运行(#53#54)的任何产物。

八、后续顺序

  1. 本契约 APPROVE → 2. 执行抽取 → 结果 PR → APPROVE → 3. 另开 PR 更新 adc_pool_level_01_input_binding.yaml 绑定产物并解除 EVGAP-01 → 4. EVGAP-02 需其独立契约。两个缺口都解除后,Level 01 才能执行。

九、架构影响

未触碰 src/src/contracts/genmodules/extensions/docs/architecture/AGENTS.mdprompts/;未新增 Gate,未改 45-Gate 拓扑、生命周期、核心对象、envelope、Model 或 Profile。5 个文件全在 docs/tests/logs/。不消耗 8 月月度架构修复额度。

请重点看两点

  1. 是否接受把 ADC_surfaceome_reference@0.3.0 纳入已批准来源,依据是它构建时写死的语义守卫;还是应当先为该数据库本身单独走一次审核。
  2. ECD-b 路径是否成立——GPI 锚 + 信号肽 + 零跨膜段是否足以认定细胞外结构域存在,还是应当要求额外的结构证据。

本 PR 不适用 AGENTS.md「审核豁免」,须经 ChatGPT APPROVE。批准只代表接受来源纳入与抽取边界,并授权执行一次抽取;不授权执行 Level 01,也不批准任何靶点判定、筛选结果或科学结论。

Freezes one evidence-extraction run that would discharge EVGAP-01, the gap
registered in PR #58 that blocks LOCK-01. Nothing is executed and Level 01
remains unauthorised, because EVGAP-02 is still open.

Governance finding stated up front: the data LOCK-01 needs already exists
locally in ADC_surfaceome_reference v0.3.0, but that database has never been
reviewed or approved. No review record in the repository mentions surfaceome,
and the approved evidence extraction in PR #31 declared ADC_internalization_
reference as its source without wiring this one in. That is why the approved
layer carries only transmembrane annotation: not because the data was missing,
but because it was never connected. This PR therefore asks to admit exactly one
pinned version, with the snapshot id, the raw manifest digest and four file
checksums recorded, aborting the run on any mismatch.

The case for admitting it is that its own build manifest already hard-codes the
guards this repository keeps enforcing, two of which are literally the blockers
from earlier rounds: membrane_topology_is_independent_surface_localization is
false, and absence_is_negative_evidence is false. It also excludes an RNA FPKM
source for not being a protein measurement, caps T7 confidence, and states that
it establishes no malignant-cell positive fraction or ADC accessibility. The
guards are built in, not bolted on by this contract.

RQ-01 keys on independent_evidence_family_count with a floor of two, over
curated knowledge, imaging and cell-surface capture MS. Topology and generic
membrane are already excluded from that count, so it cannot silently readmit
transmembrane annotation as localization.

RQ-02 needs two paths. UniProt derives its extracellular-domain field from the
TOPO_DOM records of transmembrane proteins, so GPI-anchored proteins with zero
TM segments read false regardless of biology. With only the topology path,
CEACAM5, MSLN, FOLR1 and MELTF would hold on a representation artefact while
being confirmed_surface with both a signal peptide and a GPI anchor. The second
path corrects that artefact rather than relaxing the bar. LAMP1 is the control:
transmembrane with a signal peptide but a lumenal domain and no extracellular
TOPO_DOM, so it holds under both paths, which is the organelle-membrane case the
reviewer required.

Five rules cover all 41 targets with no discretion and no exclusion: 22 eligible,
19 hold, 0 killed. not_surface_target and identity_unresolved stay unavailable.

MF-01 is recorded as a mandatory finding and tested rather than merely asserted:
GUCY2C holds, on one independent family and supported_surface rather than
confirmed_surface, which contradicts the earlier multi-model consensus and the
quarantined run's Tier A.

298 tests pass. Ten mutations caught and rolled back exactly.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant