Coverage for src / lexigram / ai / relay / quality.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-08-08 23:08 +0800

1"""Route quality matrix for the relay conversion engine. 

2 

3Quality values mirror relaykit and describe semantic closeness between 

4two wire protocols, not test confidence. Every directed pair has one 

5stable value; same-format conversion is always :data:`ConversionQuality.GOOD`. 

6""" 

7 

8from __future__ import annotations 

9 

10from lexigram.contracts.ai.relay.types import ConversionQuality, RelayFormat 

11 

12__all__ = ["ROUTE_QUALITY", "route_quality"] 

13 

14 

15ROUTE_QUALITY: dict[tuple[RelayFormat, RelayFormat], ConversionQuality] = { 

16 (RelayFormat.OPENAI_CHAT, RelayFormat.OPENAI_RESPONSES): ConversionQuality.GOOD, 

17 (RelayFormat.OPENAI_RESPONSES, RelayFormat.OPENAI_CHAT): ConversionQuality.GOOD, 

18 (RelayFormat.OPENAI_CHAT, RelayFormat.CLAUDE): ConversionQuality.FAIR, 

19 (RelayFormat.OPENAI_CHAT, RelayFormat.GEMINI): ConversionQuality.FAIR, 

20 (RelayFormat.OPENAI_RESPONSES, RelayFormat.CLAUDE): ConversionQuality.FAIR, 

21 (RelayFormat.OPENAI_RESPONSES, RelayFormat.GEMINI): ConversionQuality.FAIR, 

22 (RelayFormat.CLAUDE, RelayFormat.OPENAI_CHAT): ConversionQuality.FAIR, 

23 (RelayFormat.CLAUDE, RelayFormat.OPENAI_RESPONSES): ConversionQuality.FAIR, 

24 (RelayFormat.GEMINI, RelayFormat.OPENAI_CHAT): ConversionQuality.FAIR, 

25 (RelayFormat.GEMINI, RelayFormat.OPENAI_RESPONSES): ConversionQuality.FAIR, 

26 (RelayFormat.CLAUDE, RelayFormat.GEMINI): ConversionQuality.DISCOURAGED, 

27 (RelayFormat.GEMINI, RelayFormat.CLAUDE): ConversionQuality.DISCOURAGED, 

28} 

29"""Stable quality for every directed pair, keyed by ``(source, target)``.""" 

30 

31 

32def route_quality(source: RelayFormat, target: RelayFormat) -> ConversionQuality: 

33 """Return the semantic-closeness quality for a directed pair. 

34 

35 Args: 

36 source: Source wire format. 

37 target: Target wire format. 

38 

39 Returns: 

40 :data:`ConversionQuality.GOOD` for same-format conversion and for 

41 routes without a configured quality, otherwise the configured 

42 matrix value. 

43 """ 

44 if source is target: 

45 return ConversionQuality.GOOD 

46 return ROUTE_QUALITY.get((source, target), ConversionQuality.DISCOURAGED)