From 1126bbe84f201ffde4e0ce2d6bf321edccbf0a31 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Fri, 21 Aug 2026 15:07:48 -0400 Subject: [PATCH] =?UTF-8?q?test(ledger):=20the=20divergence=20acceptance?= =?UTF-8?q?=20case=20uses=20TS=20canon=20=E2=80=94=20proposer=20v3=20gates?= =?UTF-8?q?=20sym=20bases=20by=20language=20family=20(#2871)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- tests/test_integration_shape_classify.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/test_integration_shape_classify.py b/tests/test_integration_shape_classify.py index aa1e643..c4f0f32 100644 --- a/tests/test_integration_shape_classify.py +++ b/tests/test_integration_shape_classify.py @@ -562,7 +562,20 @@ async def test_a_second_confirm_dialog_is_detected_and_named(seeded): write_time_divergence, ) - owner, pid, sid = seeded["owner"], seeded["pid"], seeded["snippet"] + from scribe.services import snippets as snippets_svc + + owner, pid = seeded["owner"], seeded["pid"] + # The confirm helper is TS canon: since #2871 a sym basis only proposes + # within the shape's language family, so the fixture's Python snippet + # says nothing about these Vue bodies — the canon must be one of theirs. + canon = await snippets_svc.create_snippet( + owner, name="cls_confirm_factory", + code="export async function factory(): Promise {\n return true;\n}\n", + language="typescript", repo="Widget", + path="frontend/src/composables/useConfirm.ts", symbol="factory", + project_id=pid, + ) + sid = int(canon.id) comp = "frontend/src/components" base = _defs( *[(f"{comp}/{n}.vue", "sym", f"on{n}", f"async function on{n}() {{",