# Output Schema ## case_note_fit_ledger.csv | Field | Meaning | |---|---| | `audit_row_id` | Stable row id generated by this package | | `run_id` | `RUN-ANA-WUJI-NOTE-FIT-AUDIT-20260615-001` | | `case_id` | Wuji case id | | `symbol` | Stock symbol | | `subject_type` | `SOURCE_BUY`, `ROLLING_BUY`, `SELL_SIGNAL`, `ORDER`, `LOT`, `CASE_SYMBOL` | | `subject_id` | Order id, signal id, lot id, or lifecycle id | | `rule_id` | Rule id from `note_rule_mapping.csv` | | `rule_category` | `selection`, `buy`, `sell`, `market`, `risk`, `position`, or `lifecycle` | | `audit_status` | `PASS`, `WEAK_PASS`, `PROXY_PASS`, `FAIL`, `DATA_GAP`, `MANUAL_REQUIRED`, `NOT_APPLICABLE` | | `automation_level` | `AUTO_STRICT`, `AUTO_PROXY`, `MANUAL_IMAGE`, `LEDGER`, or combination | | `evidence_level` | `EXACT`, `PROXY_5M`, `DAILY_PROXY`, `LEDGER_ONLY`, `CHART_REQUIRED` | | `trade_date` | Relevant trade or observation date | | `trade_time` | Relevant time if available | | `source_file` | Source file used for this row | | `source_key` | Source key within source file | | `evidence_summary` | Short reproducible evidence text | | `evidence_path` | Chart/data path if available | | `needs_manual_review` | `true` or `false` | | `notes` | Boundary or follow-up note | ## case_note_fit_summary.csv | Field | Meaning | |---|---| | `case_id` | Wuji case id | | `ledger_rows` | Number of ledger rows | | `pass_count` | Count of `PASS` | | `weak_pass_count` | Count of `WEAK_PASS` | | `proxy_pass_count` | Count of `PROXY_PASS` | | `fail_count` | Count of `FAIL` | | `data_gap_count` | Count of `DATA_GAP` | | `manual_required_count` | Count of `MANUAL_REQUIRED` | | `not_applicable_count` | Count of `NOT_APPLICABLE` | | `case_note_fit_status` | Aggregated case status | ## manual_review_queue.csv Rows from `case_note_fit_ledger.csv` with `audit_status=MANUAL_REQUIRED`, plus selected `DATA_GAP` and `FAIL` rows that need chart-level adjudication. ## rule_exception_inventory.csv Rows from `case_note_fit_ledger.csv` with `audit_status=FAIL`, plus any known formula or source mismatch that should not be silently folded into PASS. ## Status Precedence For per-case summary: 1. Any `FAIL` -> `NOTE_MISMATCH_REVIEW` 2. Else any `DATA_GAP` -> `DATA_GAP_HELD` 3. Else any `MANUAL_REQUIRED` -> `MANUAL_REVIEW_PENDING` 4. Else any `PROXY_PASS` -> `NOTE_FIT_PROXY` 5. Else -> `NOTE_FIT_AUTO_PASS`