fix(retrieval): declare the reply moment's surfacing site in FAN_OUT_SITES (milestone 458 step 4b, #4922)
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 15s
CI & Build / integration (push) Successful in 50s
CI & Build / TypeScript typecheck (push) Successful in 52s
CI & Build / Python tests (push) Successful in 1m50s
CI & Build / Build & push image (push) Successful in 40s

moment_delivery records the mounted half's surfacing under
source=rp.MOMENT_RULE_SOURCE. That is an attribute the registry's
extractor cannot resolve, so the site is now declared with the value it
emits, read from the pipeline's own constant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 12:32:07 -04:00
co-authored by Claude Opus 5.5
parent c6cdfc2172
commit b29689d4de
+7 -1
View File
@@ -42,7 +42,7 @@ from __future__ import annotations
from dataclasses import dataclass from dataclasses import dataclass
from scribe.services.retrieval_pipeline import RULE_ARMS, RULE_SOURCES from scribe.services.retrieval_pipeline import MOMENT_RULE_SOURCE, RULE_ARMS, RULE_SOURCES
# ── How a point is reached ──────────────────────────────────────────────── # ── How a point is reached ────────────────────────────────────────────────
# #
@@ -282,6 +282,12 @@ FAN_OUT_SITES: dict[str, tuple[str, ...]] = {
"scribe/services/retrieval_pipeline.py::record_rule_surfaced(source=source)": ( "scribe/services/retrieval_pipeline.py::record_rule_surfaced(source=source)": (
tuple(arm.source for arm in RULE_ARMS) tuple(arm.source for arm in RULE_ARMS)
), ),
# The reply moment's mounted half (milestone 458): it records under the
# moment arm's source, read from the pipeline's constant so the two doors
# cannot drift apart on the name.
"scribe/services/moment_delivery.py::record_rule_surfaced(source=<expression>)": (
MOMENT_RULE_SOURCE,
),
} }