Delegate wearer boundary semantics to review
This commit is contained in:
@@ -147,7 +147,7 @@ class FloorEventReviewTests(unittest.TestCase):
|
||||
[candidate.resolve()],
|
||||
)
|
||||
|
||||
def test_primary_queue_skips_legacy_nonoverlap_wearer_offset(self) -> None:
|
||||
def test_primary_queue_keeps_nonoverlap_wearer_offset_for_semantics(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
path = Path(temporary) / "legacy.jsonl"
|
||||
rows = [
|
||||
@@ -171,7 +171,7 @@ class FloorEventReviewTests(unittest.TestCase):
|
||||
)
|
||||
primary = load_candidates([path])
|
||||
all_rows = load_candidates([path], include_offset_controls=True)
|
||||
self.assertEqual([row.uid for row in primary], [rows[1]["uid"]])
|
||||
self.assertEqual([row.uid for row in primary], [row["uid"] for row in rows])
|
||||
self.assertEqual(len(all_rows), 2)
|
||||
|
||||
def test_relabel_preserves_ai_and_records_human_decision(self) -> None:
|
||||
@@ -259,6 +259,37 @@ class FloorEventReviewTests(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
record["review"]["exclude_reason"], "OUT_OF_SCOPE_NORMAL_COMPLETION"
|
||||
)
|
||||
self.assertEqual(record["review"]["exclude_reason_group"], "OUT_OF_SCOPE")
|
||||
|
||||
def test_accept_ai_exclude_preserves_reason_taxonomy(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
root = Path(temporary)
|
||||
_, events = self._fixture(root)
|
||||
candidates = load_candidates([events])
|
||||
candidate = candidates[0]
|
||||
candidate.payload.update(
|
||||
ai_verdict="EXCLUDE",
|
||||
ai_event_type=None,
|
||||
ai_subtype=None,
|
||||
ai_exclude_reason="DATA_MISSING_CONTEXT",
|
||||
ai_exclude_reason_group="DATA_QUALITY",
|
||||
llm_suggestion={
|
||||
"verdict": "EXCLUDE",
|
||||
"event_type": None,
|
||||
"subtype": None,
|
||||
"exclude_reason": "DATA_MISSING_CONTEXT",
|
||||
},
|
||||
)
|
||||
store = ReviewStore(root / "reviews.jsonl", candidates)
|
||||
record = store.save(candidate.candidate_id, {
|
||||
"human_action": "accept", "human_verdict": None,
|
||||
"human_event_type": None, "human_subtype": None,
|
||||
"selected_opportunity_uid": None, "exclude_reason": None,
|
||||
"boundary_correction_seconds": None, "confidence": "medium",
|
||||
"notes": "context is truncated",
|
||||
})
|
||||
self.assertEqual(record["review"]["exclude_reason"], "DATA_MISSING_CONTEXT")
|
||||
self.assertEqual(record["review"]["exclude_reason_group"], "DATA_QUALITY")
|
||||
|
||||
def test_entry_review_may_select_only_a_supplied_opportunity_anchor(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
|
||||
Reference in New Issue
Block a user