Capital Project Intake and Prioritization
Workflow purpose
Convert raw capex ideas and deferred-maintenance flags into a ranked, costed, approvable backlog. Ensures life-safety items never lose priority; routes scope deferrals for approval.
Trigger conditions
- Explicit: "capex intake", "prioritize capex", "capex backlog", "year-end capex plan".
- Implicit:
workflows/monthly_property_operating_review surfaces deferred maintenance; workflows/work_order_triage finds a repeat pattern; insurance claim or inspection produces a scope.
- Recurring: quarterly intake; annual plan build pre-budget.
Inputs (required / optional)
| Input |
Type |
Required |
Notes |
| Intake items |
list |
required |
description, source, unit, scope |
| Capex line-item library |
csv |
required |
cost ranges |
| Labor and material references |
csv |
required |
market-specific |
| Priority rubric overlay |
yaml |
required |
life safety weight etc. |
| Existing capex plan |
record |
required |
conflict detection |
| Renovation program tracker |
record |
optional |
for yield context |
Outputs
| Output |
Type |
Shape |
| Prioritized backlog |
kpi_review |
per-item score, cost, priority, life-safety flag |
| Estimate per item |
estimate |
line items from library |
| Backlog memo |
memo |
narrative + recommended sequence |
| Approval request list |
list |
for items that require approval |
Required context
Asset_class, segment, form_factor, lifecycle_stage, management_mode, market.
Process
- Intake normalization. Each item normalized to (description, unit, scope tier, driver, source).
- Life-safety flag. Any item tagged life-safety cannot be deprioritized without
approval_request row 4.
- Estimate. Apply library; adjust for market via labor/material references.
- Score. Per overlay rubric: life safety, deferred maintenance, renovation yield, risk mitigation, regulatory compliance, residual value.
- Sequence. Produce prioritized backlog with scheduling constraints (seasonality, tenant impact).
- Gated items. Any life-safety deferral, any program change above threshold: open approval rows 4 / 8-11.
- Feed budget / reforecast. Output feeds
workflows/budget_build and workflows/reforecast.
- Confidence banner. References cited.
Metrics used
capex_spend_vs_plan, renovation_yield_on_cost, repeat_work_order_rate, controllable_opex_per_unit.
Reference files used
reference/normalized/capex_line_items__{scope}.csv
reference/normalized/labor_rates__{market}.csv
reference/normalized/material_costs__{region}_residential.csv
reference/normalized/capex_priority_rubric__{org}.yaml
reference/normalized/approval_threshold_defaults.csv
Escalation points
- Life-safety deferral: row 4.
- Program change above threshold: rows 8-11.
- Bid award associated with a project: row 9.
Required approvals
- Life-safety scope deferral (row 4).
- Capex program change above threshold.
Failure modes
- Silent life-safety deprioritization. Fix: row 4 gate automatic.
- Library not market-adjusted. Fix: labor/material references required.
- Estimate without scope tier. Fix: tier required.
- Prioritization without rubric. Fix: overlay rubric governs.
Edge cases
- Insurance claim scope: treat as capex intake if above reserve; flag insurance coordination.
- Regulatory deadline (e.g., code compliance): auto-priority boost.
- Tenant-impact scope: scheduling constraint; include tenant communication via
workflows/move_in_administration or notice.
- Renovation in progress with change order backlog: coordinate via
workflows/change_order_review.
Example invocations
- "Quarterly capex intake for Ashford Park; prioritize backlog."
- "What's the life-safety queue across the portfolio?"
- "Build the 2027 capex plan input for Willow Creek."
Example outputs
Output — Prioritized capex backlog (abridged, Ashford Park)
Backlog. Per-item score, cost range, priority, life-safety flag. Top items: roof repairs (life safety), parking lot resurfacing (deferred maintenance), unit renovation cohort (yield).
Sequence. Proposed order with seasonal constraints.
Approvals. Two items above overlay threshold: rows 8-11 opened for program decisions.
Confidence banner. capex_line_items__value_add@2026-03-31, status=starter. labor_rates__charlotte@2026-03-31, status=sample. capex_priority_rubric@2026-03-31, status=starter.
1---2name: capital-project-intake-and-prioritization3description: Intake for capital project ideas from any source (PM, regional, AM, engineering, capex plan cycle). Scores each project against the overlay's priority rubric (life safety, deferred maintenance, renovation yield, risk mitigation, regulatory). Produces the prioritized backlog and flags gated decisions.4---56# Capital Project Intake and Prioritization78## Workflow purpose910Convert raw capex ideas and deferred-maintenance flags into a ranked, costed, approvable backlog. Ensures life-safety items never lose priority; routes scope deferrals for approval.1112## Trigger conditions1314- **Explicit:** "capex intake", "prioritize capex", "capex backlog", "year-end capex plan".15- **Implicit:** `workflows/monthly_property_operating_review` surfaces deferred maintenance; `workflows/work_order_triage` finds a repeat pattern; insurance claim or inspection produces a scope.16- **Recurring:** quarterly intake; annual plan build pre-budget.1718## Inputs (required / optional)1920| Input | Type | Required | Notes |21|---|---|---|---|22| Intake items | list | required | description, source, unit, scope |23| Capex line-item library | csv | required | cost ranges |24| Labor and material references | csv | required | market-specific |25| Priority rubric overlay | yaml | required | life safety weight etc. |26| Existing capex plan | record | required | conflict detection |27| Renovation program tracker | record | optional | for yield context |2829## Outputs3031| Output | Type | Shape |32|---|---|---|33| Prioritized backlog | `kpi_review` | per-item score, cost, priority, life-safety flag |34| Estimate per item | `estimate` | line items from library |35| Backlog memo | `memo` | narrative + recommended sequence |36| Approval request list | list | for items that require approval |3738## Required context3940Asset_class, segment, form_factor, lifecycle_stage, management_mode, market.4142## Process43441. **Intake normalization.** Each item normalized to (description, unit, scope tier, driver, source).452. **Life-safety flag.** Any item tagged life-safety cannot be deprioritized without `approval_request` row 4.463. **Estimate.** Apply library; adjust for market via labor/material references.474. **Score.** Per overlay rubric: life safety, deferred maintenance, renovation yield, risk mitigation, regulatory compliance, residual value.485. **Sequence.** Produce prioritized backlog with scheduling constraints (seasonality, tenant impact).496. **Gated items.** Any life-safety deferral, any program change above threshold: open approval rows 4 / 8-11.507. **Feed budget / reforecast.** Output feeds `workflows/budget_build` and `workflows/reforecast`.518. **Confidence banner.** References cited.5253## Metrics used5455`capex_spend_vs_plan`, `renovation_yield_on_cost`, `repeat_work_order_rate`, `controllable_opex_per_unit`.5657## Reference files used5859- `reference/normalized/capex_line_items__{scope}.csv`60- `reference/normalized/labor_rates__{market}.csv`61- `reference/normalized/material_costs__{region}_residential.csv`62- `reference/normalized/capex_priority_rubric__{org}.yaml`63- `reference/normalized/approval_threshold_defaults.csv`6465## Escalation points6667- Life-safety deferral: row 4.68- Program change above threshold: rows 8-11.69- Bid award associated with a project: row 9.7071## Required approvals7273- Life-safety scope deferral (row 4).74- Capex program change above threshold.7576## Failure modes77781. Silent life-safety deprioritization. Fix: row 4 gate automatic.792. Library not market-adjusted. Fix: labor/material references required.803. Estimate without scope tier. Fix: tier required.814. Prioritization without rubric. Fix: overlay rubric governs.8283## Edge cases8485- **Insurance claim scope:** treat as capex intake if above reserve; flag insurance coordination.86- **Regulatory deadline (e.g., code compliance):** auto-priority boost.87- **Tenant-impact scope:** scheduling constraint; include tenant communication via `workflows/move_in_administration` or notice.88- **Renovation in progress with change order backlog:** coordinate via `workflows/change_order_review`.8990## Example invocations91921. "Quarterly capex intake for Ashford Park; prioritize backlog."932. "What's the life-safety queue across the portfolio?"943. "Build the 2027 capex plan input for Willow Creek."9596## Example outputs9798### Output — Prioritized capex backlog (abridged, Ashford Park)99100**Backlog.** Per-item score, cost range, priority, life-safety flag. Top items: roof repairs (life safety), parking lot resurfacing (deferred maintenance), unit renovation cohort (yield).101102**Sequence.** Proposed order with seasonal constraints.103104**Approvals.** Two items above overlay threshold: rows 8-11 opened for program decisions.105106**Confidence banner.** `capex_line_items__value_add@2026-03-31, status=starter`. `labor_rates__charlotte@2026-03-31, status=sample`. `capex_priority_rubric@2026-03-31, status=starter`.