Pre-IC packet assembly for each IC cycle. Assembles the docket, pulls each deal's memo and cross-references, tracks IC conditions from prior decisions through to completion, consumes the sensitivity / stress-test output, surfaces comp evidence with freshness flags, and runs an LP capital availability check. The pack is the IC committee's input; the committee owns the decision. The workflow refuses to publish a deal's packet if blocking Dealpath DQ rules are open (`dp_completeness_ic_record`) or if required sensitivity tests are missing. Outputs include the IC packet, the condition-tracking rollup (from prior cycles), and the post-IC condition-log draft ready for minute-keeping.
Deliver a clean, auditable IC packet that lets the committee make the decision. Compose the docket, cross-reference each deal memo, track conditions from prior decisions to closure, verify the sensitivity / stress-test battery ran and published, surface comp evidence with freshness flags, and confirm LP capital availability against the capital call required for approvals on this docket. The workflow does not make the IC decision; it assembles the input and records the minute-ready artifact.
ic_review in Dealpath; workflows/pipeline_review flags an IC-load approaching capacity band; an IC condition deadline approaches within overlay band; a sensitivity test is requested by the investments_lead.| Input | Type | Required | Notes |
|---|---|---|---|
Dealpath normalized deal records | table | required | scope: deals at ic_review, ic_approved, or under_dd for pre-IC advisory |
Dealpath normalized deal_milestone records | table | required | covers prior IC decisions and condition history |
Dealpath normalized investment_committee_review records | table | required | per-cycle IC review state |
Canonical asset records | table | required | resolved via master_data/asset_crosswalk.yaml |
| Dealpath dq outcomes | table | required | dq_rules.yaml evaluation; dp_completeness_ic_record blocks any IC-approved roll-up |
| IC calendar + docket policy overlay | overlay | required | cadence, capacity band, prep window |
| IC memo templates (per deal_type / segment) | overlay | required | section set, required exhibits, governance sections |
| Sensitivity / stress-test outputs | records | required | from skills/sensitivity_stress_test — if absent, the deal is blocked from the docket |
| Rent-comp evidence | reference | required | rent_comp_evidence__{market}_mf.csv; freshness checked against overlay policy |
| Sale-comp evidence | reference | optional | sale_comp_evidence__{market}_mf.csv; optional for recap / refi |
| LP capital availability snapshot | record | required | for docket capital-call coverage; feeds lp_capital_coverage_ratio |
| Debt term sheet state | record | optional | from workflows/pipeline_review debt variance scan |
| Prior-cycle IC conditions (open) | table | required | carries forward open conditions from prior decisions |
| IC-member roster | overlay | required | voting-member list per overlay; used for quorum and distribution |
| Output | Type | Shape |
|---|---|---|
| IC packet (per deal on docket) | memo | full memo with cross-references, exhibits pointer, sensitivity results, comp evidence |
| Docket summary | dashboard | deals on docket, capacity band, required reads, quorum check |
| Condition-tracking rollup | checklist | open conditions from prior IC cycles with responsible party, evidence required, deadline, status |
| Sensitivity test posture | kpi_review | per-deal pass/fail on overlay-defined sensitivity battery |
| Comp evidence scorecard | kpi_review | per-deal rent-comp set freshness + adequacy score |
| LP capital coverage | kpi_review | docket capital call vs. LP-available capital; lp_capital_coverage_ratio |
| Approval packet (for ApprovalRequest row per matrix) | bundle | routed via workflows/owner_approval_routing |
| Minute-ready condition-log draft | checklist | post-decision template for the IC secretary |
| Confidence banner | banner | adapter as_of_date, DQ outcomes, overlay status tags, comp freshness |
Final-marked output MUST follow _core/executive_output_contract.md:
verdict-first block (recommendation, 3-bullet rationale, confidence,
materiality, next action), source-class labels on every numeric cell
([operator] / [derived] / [benchmark] / [overlay] /
[placeholder]), and refusal-artifact shape when a required reference
input is absent. Any [placeholder]-tagged cell blocks IC packet
assembly (the workflow refuses per reference_manifest.yaml#reads
fallback_behavior: refuse on rent_comp_evidence).
asset_class=residential_multifamily. Scope: one IC cycle, either by declared ic_meeting_date or by next_ic per overlay. Per-deal grain requires deal_id (or all deals at ic_review within prep window). org_id required for IC-member roster and approval-threshold bands. market is deal-level; the pack handles multi-market dockets. fund_id required if LP-capital check is scoped by fund (most cycles).
dq_rules.yaml. dp_freshness_deals blocker halts the run for affected deals. dp_completeness_ic_record blocker refuses to publish any IC-approved roll-up until every ic_approved deal carries an ic_decision_date. dp_conformance_stage_enum blocker halts stage-based filters.ic_meeting_date, or next_ic per overlay. Pull all deals at ic_review; optionally include under_dd deals flagged for pre-IC advisory per overlay policy.asset_crosswalk), deal_type, market, target capital, strategy tag. Compare ic_docket_load_count to overlay capacity band.deal_type, segment): every required section present, every required exhibit pointer resolvable. Missing sections surface as packet_incomplete — deal held back from publication until resolved.ic_approved_with_conditions status in investment_committee_review, pull open conditions and their resolution_deadline. Compute ic_condition_aging_days and ic_condition_completion_rate. Any condition past deadline escalates per approval matrix; the workflow opens an ApprovalRequest for extension or waiver if requested.skills/sensitivity_stress_test exists and covers the overlay-defined battery (cap-rate shift, rent-growth haircut, expense-inflation bump, vacancy stress, interest-rate shift, exit-cap sensitivity). Compute sensitivity_test_pass_rate and publish per-deal pass/fail. Missing tests hold the deal back.rent_comp_evidence__{market}_mf.csv (and sale_comp_evidence for acquisitions / recaps) and compute freshness vs. overlay policy. comp_evidence_freshness_days flag fires if any comp is older than overlay band. Stale comp evidence surfaces but does not block unless overlay marks it blocking for the deal type.workflows/pipeline_review for any deal at under_financing. Surface indicated-vs-UW coupon and advance-rate variance in the packet.lp_capital_coverage_ratio = LP-available capital / docket-weighted required capital. Flag if coverage < overlay threshold; escalate to cfo_finance_leader.resolution_deadline, approval_request pointer.workflows/owner_approval_routing for committee-visibility logging and audit, citing decision_severity=action_requires_approval (the IC decision is the gated action).as_of_date, DQ outcomes, overlay status, comp freshness, any fallback behavior invoked.See frontmatter metrics_used. All metric slugs for this workflow are proposed (proposed: true) — no IC-preparation metric has landed in _core/metrics.md yet. Every output carries the proposed flag on each metric.
reference/connectors/adapters/dealpath_deal_pipeline/normalized_contract.yamlreference/connectors/adapters/dealpath_deal_pipeline/dq_rules.yamlreference/connectors/deal_pipeline/schema.yamlreference/connectors/master_data/asset_crosswalk.yamlreference/connectors/master_data/market_crosswalk.yamlreference/derived/role_kpi_targets.csvreference/normalized/approval_threshold_defaults.csvreference/normalized/market_rents__{market}_mf.csvreference/normalized/rent_comp_evidence__{market}_mf.csvreference/normalized/sale_comp_evidence__{market}_mf.csvapproval_request per matrix row.dp_completeness_ic_record, dp_conformance_stage_enum): data_platform_team -> investments_lead; affected deals paused from the docket.ic_committee_approval is the committee's decision on each deal. The workflow is the input; the approval is the output of the IC meeting itself. Condition extensions and waivers open their own ApprovalRequest via workflows/owner_approval_routing.decision_severity=action_requires_approval for audit purposes (the IC decision is the gated action); no action is taken by the workflow itself.comp_evidence_freshness_days flag and banner required.lp_capital_coverage_ratio < overlay threshold escalates before publish.ic_approved with ic_approved_with_conditions — not tracking conditions as still-open. Fix: separate status tracking in investment_committee_review; approved_with_conditions never treated as closed until conditions resolved.draft_for_review.dp_completeness_ic_record blocker as a warning. Fix: blocker halts the affected IC-approved deal's appearance in any roll-up.deal_milestone.milestone_type=ic_deferred) carried forward; conditions or questions from prior cycle surface at top of the packet.workflows/pipeline_review — packet includes the retrade summary and evidence pointer; IC may defer pending resolution.milestone_type=ic_declined) fetched and prominently cited; deal's re-presentation requires a "what changed" section per overlay policy.dp_renamed_after_approval; packet uses canonical deal_id and surfaces prior-name alias.deal_id to multiple canonical assets — memo cross-references each asset; sensitivity ran per asset; comp evidence per asset; capital-call coverage at deal level.approved_with_conditions; LP consent tracked as a prior-cycle condition on subsequent runs.See examples/example_investment_committee_prep_output.md for the full artifact shape.
Cycle. IC meeting 2026-04-22; prep window day -7.
Docket. 4 deals on docket + 1 pre-IC advisory. ic_docket_load_count = 4 (within overlay capacity band of 5).
Memos. 4 of 4 memos validated against the template (middle_market acquisition + luxury development variants).
Conditions carried forward. 3 open conditions across the current book.
pre_close_deal_tracking).Sensitivity posture. 4 of 4 deals pass the overlay battery. sensitivity_test_pass_rate = 1.00.
Comp evidence. Fresh within band on 4 of 4 deals; one comp set (Charlotte luxury) is within 2 days of overlay stale threshold.
LP capital coverage. lp_capital_coverage_ratio = 1.28 (within band). No shortfall.
Debt term sheet. 1 deal (DP_DEAL_009) carries the variance flag from workflows/pipeline_review — packet includes latest-indication line.
DQ outcomes. All blockers pass. 1 warn (dp_handoff_lag on recently closed deal, not on docket). No deal paused.
Minute-ready condition-log template. Drafted for IC secretary.
Confidence banner. dealpath_deal_pipeline@2026-04-15 (sample); asset_crosswalk@2026-04-15 (sample); market_crosswalk@2026-04-15 (sample); rent_comp_evidence@2026-03-31 (starter); role_kpi_targets@2026-03-31 (starter).