Compare commits

...

1 Commits

Author SHA1 Message Date
a4a33fd0f8 test: add edge-case tests for training example metadata preservation
Some checks failed
Architecture Lint / Linter Tests (pull_request) Successful in 19s
Smoke Test / smoke (pull_request) Failing after 12s
Validate Config / YAML Lint (pull_request) Failing after 9s
Validate Config / JSON Validate (pull_request) Successful in 12s
Validate Config / Python Syntax & Import Check (pull_request) Failing after 45s
Validate Config / Cron Syntax Check (pull_request) Successful in 10s
Validate Config / Shell Script Lint (pull_request) Failing after 52s
Validate Config / Deploy Script Dry Run (pull_request) Successful in 9s
Validate Config / Playbook Schema Validation (pull_request) Successful in 21s
PR Checklist / pr-checklist (pull_request) Failing after 3m50s
Architecture Lint / Lint Repository (pull_request) Has been cancelled
Validate Config / Python Test Suite (pull_request) Has been cancelled
- test_metadata_with_future_fields_preserved: unknown fields pass through
- test_metadata_preserved_across_multiple_examples: per-example independence

Verifies fix for #646.
2026-04-17 05:33:08 +00:00

View File

@@ -406,6 +406,34 @@ class TestNormalizeTrainingExamples:
assert "category" not in result[0]
def test_metadata_with_future_fields_preserved(self):
"""Unknown future metadata fields pass through untouched."""
examples = [
{"prompt": "Q1", "response": "A1", "curriculum_level": 3, "audit_id": "xyz"},
]
result = normalize_training_examples(
examples, "b001", ["t1"], "fp", "fr"
)
assert result[0]["curriculum_level"] == 3
assert result[0]["audit_id"] == "xyz"
def test_metadata_preserved_across_multiple_examples(self):
"""Each example's metadata is independent."""
examples = [
{"prompt": "Q1", "response": "A1", "category": "crisis", "tags": ["urgent"]},
{"prompt": "Q2", "response": "A2", "category": "humor", "source_issue": 42},
]
result = normalize_training_examples(
examples, "b001", ["t1"], "fp", "fr"
)
assert result[0]["category"] == "crisis"
assert result[0]["tags"] == ["urgent"]
assert "source_issue" not in result[0]
assert result[1]["category"] == "humor"
assert result[1]["source_issue"] == 42
assert "tags" not in result[1]
class TestNormalizeRubricScores:
"""normalize_rubric_scores() cleans eval rubric output."""