# Review Prompt

Use this prompt when reviewing a proposed recommendation or document change.

Review priority:

1. Identify violations of `spec/risk/risk_control.yaml` and `spec/risk/portfolio_exposure.yaml`.
2. Identify missing data gates from `spec/02_data_contract.yaml`.
3. Check hard filters and rule IDs in `spec/08_scoring_rules.yaml`.
4. Verify decision order against `spec/09_decision_flow.yaml`.
5. Verify portfolio/account constraints against `spec/10_portfolio_rules.yaml`.
6. Verify market regime classification against `spec/11_market_regime.yaml`.
7. Validate output against `schemas/output_schema.json` when JSON output exists.
8. Verify human report rendering against `spec/07_output_schema.yaml:human_report` and `RetirementAssetPortfolioReportTemplate.yaml:output_format_templates.rendering_contract`.
9. Verify APEX harness sections before any HTS order table:
   `alpha_lead_table`, `anti_distribution_table`, `profit_preservation_table`, `smart_cash_raise_table`, `execution_quality_table`.
10. Verify `routing_serving_trace` appears before `QEH_AUDIT_BLOCK`, and both appear before `concise_hts_input_sheet`.

## Default Completion Harness

Do not treat a task as complete unless the change is evidenced in all four forms:

1. YAML or contract evidence in `spec/` or `governance/`
2. Canonical code evidence in `src/` or `tools/`
3. Concrete data/artifact evidence in `Temp/`, `GatherTradingData.xlsx`, `GatherTradingData.json`, or `runtime/`
4. Reproducible validation evidence from command output or generated validation artifacts

If any one of the four is missing, call out the task as incomplete.

Return findings first, ordered by severity.
If no findings exist, state that explicitly and list residual risks or missing tests.

Do not approve:

- BUY before hard filters
- order quantity before ATR20 and cash validation
- sell quantity before confirmed holdings
- A grade from stale or incomplete data
- any recommendation without rule path citations
- HTS order table without `decision_trace_table`
- BUY/ADD_ON table without `alpha_lead_table` and `anti_distribution_table`
- cash-raise SELL/TRIM table without `smart_cash_raise_table`
- PASS order without `execution_quality_table`
- WATCH ledger using HTS order columns such as `지정가`, `손절가`, `익절가`, `주문수량`, or `주문금액`
- prose headers such as `이번 주 결론`, `현재 포트폴리오 핵심 진단`, `보유 종목별 운용 지침`, `종합 의견` replacing required tables
