From bf70572b3f97a9907f2b8dbf85d756c78953e326 Mon Sep 17 00:00:00 2001 From: Mikkeli Date: Tue, 13 Oct 2026 00:36:39 +0900 Subject: [PATCH] topic: a hyphenated level is a repo name, not a topic Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz --- crosscheck.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crosscheck.py b/crosscheck.py index 1c4e1bc..b61ef76 100644 --- a/crosscheck.py +++ b/crosscheck.py @@ -110,7 +110,7 @@ def check_decisions(ws: Workspace) -> None: # ── topics ─────────────────────────────────────────────────────────────────── -TOPIC = re.compile(r"(?+#*.-]*)*)") +TOPIC = re.compile(r"(?+#*.-]*)*)") # Same shape, not a topic: Flutter platform channel names, systemd directory names. NOT_TOPIC = re.compile(r"MethodChannel\(|EventChannel\(|Directory=") @@ -145,7 +145,8 @@ def check_topics(ws: Workspace) -> None: continue for m in TOPIC.finditer(line): root, rest = m.group(1), m.group(2).rstrip(".") - if root in ws.repos or root in IGNORED_TOPIC_ROOTS: + # Topic levels never contain '-'; repo names (yukart/svc-core) usually do. + if root in ws.repos or "-" in root or root in IGNORED_TOPIC_ROOTS: continue segs = ["yukart", root] + rest.split("/")[1:] if rest == "":