fix(ingest): address review round 3 + SonarCloud reliability gate
- tests: make the transient-backoff progression assertion load-independent by bracketing the get_retry_decision call with before/after timestamps instead of measuring against a second datetime.now() (no freezegun dependency). - tests: use pytest.approx for the ingest-queue-depth gauge assertions — SonarCloud python:S1244 (float == ) was a MAJOR reliability finding that tripped the new_reliability_rating quality gate. - processor: tighten the EscalateError lazy-bind comment (file processing already imports the document stack via get_registry; the gating only spares the delete / text-doc paths and module-load time). Deck #323. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
e7c0c23486
commit
44f72839ed
@@ -507,10 +507,11 @@ async def process_document(
|
||||
one outer attempt (~30s) and defers. Don't stack a third retry layer here.
|
||||
"""
|
||||
# EscalateError is a control-flow signal that arises ONLY on the per-tier
|
||||
# external path (tier set). Bind the class lazily there so the in-process /
|
||||
# memory path never pulls the document stack at call time (mirrors the lazy
|
||||
# get_registry import; see #877). When tier is None it can't be raised, so
|
||||
# the guards below stay inert.
|
||||
# external path (tier set). Bind the class lazily here, and only when a tier
|
||||
# is set, so the document stack is never imported at *module load* (the #877
|
||||
# invariant) nor on the delete / text-doc call paths (file processing already
|
||||
# imports it via get_registry regardless). When tier is None it can't be
|
||||
# raised, so the guards below stay inert.
|
||||
escalate_error_cls: type[BaseException] | None = None
|
||||
if tier is not None:
|
||||
from nextcloud_mcp_server.document_processors.escalation import ( # noqa: PLC0415
|
||||
|
||||
Reference in New Issue
Block a user