44
55
66class OutputFileContentSchema (Schema ):
7- """File content blob (expected or actual output)."""
7+ """File content blob returned for expected or actual output."""
8+ run_id = fields .Integer (allow_none = True )
9+ sample_id = fields .Integer (required = True )
10+ regression_id = fields .Integer (required = True )
11+ output_id = fields .Integer (required = True )
812 filename = fields .String (required = True )
9- content = fields .String (required = True )
13+ content_type = fields .String (required = True )
1014 encoding = fields .String (required = True , validate = validate .OneOf (['utf-8' , 'base64' ]))
15+ content = fields .String (required = True )
1116 sha256 = fields .String (allow_none = True )
1217 storage_status = fields .String (
1318 required = True ,
@@ -17,49 +22,61 @@ class OutputFileContentSchema(Schema):
1722
1823class DiffHunkLineSchema (Schema ):
1924 """One line inside a diff hunk."""
20- type = fields .String (required = True , validate = validate .OneOf (['add' , 'delete' , 'context' ]))
21- content = fields .String (required = True )
25+ kind = fields .String (required = True , validate = validate .OneOf (['context' , 'added' , 'removed' ]))
26+ expected_line = fields .Integer (allow_none = True )
27+ actual_line = fields .Integer (allow_none = True )
28+ text = fields .String (required = True )
2229
2330
2431class DiffHunkSchema (Schema ):
25- """A contiguous block of changes in a diff."""
26- header = fields .String (required = True )
32+ """A contiguous block of changes."""
33+ expected_start = fields .Integer (required = True )
34+ actual_start = fields .Integer (required = True )
2735 lines = fields .List (fields .Nested (DiffHunkLineSchema ), required = True )
2836
2937
3038class DiffSchema (Schema ):
3139 """Structured diff between expected and actual output."""
40+ run_id = fields .Integer (required = True )
41+ sample_id = fields .Integer (required = True )
42+ regression_id = fields .Integer (required = True )
43+ output_id = fields .Integer (required = True )
3244 status = fields .String (required = True , validate = validate .OneOf ([
3345 'identical' , 'different' , 'missing_actual' , 'missing_expected' ,
3446 ]))
35- expected_sha256 = fields .String (allow_none = True )
36- actual_sha256 = fields .String (allow_none = True )
37- stats = fields .Dict (required = True )
47+ summary = fields .Dict (required = True )
3848 hunks = fields .List (fields .Nested (DiffHunkSchema ), required = True )
3949
4050
4151class BaselineApprovalRequestSchema (Schema ):
4252 """POST /runs/{id}/samples/{sid}/baseline-approval body."""
43- reason = fields .String (
53+ regression_id = fields .Integer (
4454 required = True ,
45- validate = validate .Length (min = 10 , max = 1000 ),
55+ validate = validate .Range (min = 1 ),
4656 )
4757 output_id = fields .Integer (
48- load_default = None ,
58+ required = True ,
4959 validate = validate .Range (min = 1 ),
5060 )
51- apply_to_variants = fields .Boolean (load_default = False )
61+ reason = fields .String (
62+ required = True ,
63+ validate = validate .Length (min = 10 , max = 500 ),
64+ )
65+ remove_variants = fields .Boolean (
66+ load_default = False ,
67+ )
5268
5369 class Meta :
5470 unknown = RAISE
5571
5672
5773class BaselineApprovalSchema (Schema ):
58- """Response after submitting a baseline approval request ."""
74+ """Response after a baseline approval is applied ."""
5975 approval_id = fields .String (required = True )
60- status = fields .String (required = True , validate = validate .OneOf ([
61- 'pending_review' , 'approved' , 'rejected' ,
62- ]))
76+ status = fields .String (required = True , validate = validate .OneOf (['approved' ]))
77+ run_id = fields .Integer (required = True )
78+ sample_id = fields .Integer (required = True )
79+ regression_id = fields .Integer (required = True )
80+ output_id = fields .Integer (required = True )
6381 requested_by = fields .String (required = True )
64- reason = fields .String (required = True )
6582 created_at = fields .DateTime (required = True )
0 commit comments