Ankur Malik d167609fad
All checks were successful
Build and Push Docker Image / test (push) Successful in 17s
Build and Push Docker Image / build_and_push (push) Successful in 2m58s
Add pd v3 post processing block
2025-12-04 10:59:02 -05:00

1.1 KiB

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.