Files
gti d21a9d1140 Add 'fiscal/' from commit '102ba84500dbd9655a0471288c3e278652593ca9'
git-subtree-dir: fiscal
git-subtree-mainline: d95165fc8f
git-subtree-split: 102ba84500
2026-09-29 14:43:23 -03:00

32 lines
1.4 KiB
Python

def test_retrieval_v3_gtin_evidence_is_candidate_only():
from central.app.ai.retrieval_v3 import retrieval_v3_candidates
class Corpus:
pass
corpus = Corpus()
corpus.documents = {}
corpus.descriptions = {}
corpus.positions = {}
corpus.children = {}
class Index:
entries = []
# Empty V2 corpus cannot manufacture an NCM, proving no candidate is invented.
assert retrieval_v3_candidates(corpus, Index(), "produto", {"gtin_ncm": "22011000"}) == []
def test_prepare_candidate_set_is_fingerprinted_and_non_decisional():
from central.app.ai.retrieval_v3 import prepare_candidate_set
work = type("WorkItem", (), {"task_type": "INVALID_NCM", "dedup_key": "x", "payload": {"description": "Agua mineral"}})()
prepared = prepare_candidate_set(work, [("22011000", "AGUAS MINERAIS", 0.9, 0.8, 0.1, 2)], dataset_versions={"ncm": "v1"})
assert prepared["top20_candidate_ncms"][0]["ncm"] == "22011000"
assert prepared["input_fingerprint"]
assert "selected_ncm" not in prepared
def test_product_role_context_is_compact_and_evidence_only():
from central.app.ai.retrieval_v3 import compact_product_role_context
result = compact_product_role_context([{"description": "Coca Cola"}, {"description": "coca-cola"}, {"description": "Pepsi"}], limit=2)
assert len(result["examples"]) == 2 and result["decision"] is None and result["evidence_only"] is True