File size: 1,734 Bytes
aad7814
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
"""Guard for CONSTANT 2.2 relocation (see backend/docs/RICS_CONSTANT_INVENTORY.md).

The RICS Level 3 domain-rules prompt and the per-call rating hint were relocated
verbatim from backend/core/reference_mapper.py into the test-exempt
backend/prompts/mapping_prompt.py. These assertions pin the relocated strings
byte-for-byte (SHA-256 recorded from the pre-relocation literal) and confirm the
core consumer still resolves to the identical object — i.e. pure relocation, no
value drift.
"""

from __future__ import annotations

import hashlib

from backend.core import reference_mapper
from backend.prompts.mapping_prompt import RATING_HINT_TEMPLATE, RICS_DOMAIN_RULES

# SHA-256 of the exact pre-relocation ``_RICS_DOMAIN_RULES`` string (length 363),
# captured before any file was edited.
_RULES_SHA256 = "75b4d18346ac5d5a588097e532678a6eef276950c4b7304be8b075e8ac34b06c"


def test_domain_rules_byte_for_byte_unchanged():
    digest = hashlib.sha256(RICS_DOMAIN_RULES.encode("utf-8")).hexdigest()
    assert digest == _RULES_SHA256, "grounding prompt string drifted during relocation"
    assert len(RICS_DOMAIN_RULES) == 363


def test_reference_mapper_alias_is_relocated_source():
    # The private alias must be the very same object now living in prompts/.
    assert reference_mapper._RICS_DOMAIN_RULES is RICS_DOMAIN_RULES


def test_rating_hint_template_unchanged():
    assert (
        RATING_HINT_TEMPLATE
        == "If the baseline contains a condition rating field, use value: {rating_value}"
    )
    # Formatting reproduces the exact pre-relocation runtime string.
    assert (
        RATING_HINT_TEMPLATE.format(rating_value="2")
        == "If the baseline contains a condition rating field, use value: 2"
    )