14 lines
1.1 KiB
Markdown
14 lines
1.1 KiB
Markdown
# PD V3 Post-Processing
|
|
|
|
- **Inputs:** Raw/isotonic PD outputs and model T weight from the processing block.
|
|
- **Outputs:** Final weighted PD and assigned grade.
|
|
- **Artifacts:** `grade_cutoffs.csv` generated from the Weighted Grades Cutoff workbook tab.
|
|
- **Tests:** `python -m unittest sequence-3.pd_v3_post_processing.test_block`.
|
|
- **Signature:** Sequence-3 convention: `__main__` must keep an explicit typed parameter list covering every input (int/float/str) and build the record from those args before weighting/grades; keep aligned with the block schemas.
|
|
- **UAT tolerance:** Downstream sequence-3 UAT scripts treat post-processing mismatches within `1e-4` as equivalent to expected values.
|
|
- **PD inputs:** `pd_a`, `pd_b`, and `pd_t` must be provided as non-null numbers (per schema); post-processing raises if any are missing/null.
|
|
|
|
## Schema notes
|
|
|
|
- The request and response schemas for post-processing are treated as immutable contracts. They already describe flat scalar fields (plus the array `pd_scores`), so keep them as-is and never refactor them into dict-of-dicts/object-of-dicts—arrays of dicts remain acceptable.
|