Time Impact Analysis (TIA) — prospective fragnet insertion
into a pre-impact baseline schedule.
Implements AACE RP 52R-06 (Time Impact Analysis as Applied in
Construction) — the forward-looking / prospective sibling of
``collapsed_as_built``. For each fragnet (delay-event activity
chain), the activities are inserted into the baseline network,
CPM re-runs, and the resulting completion-date impact (in
calendar days AND project-calendar working days) is reported
per-fragnet plus cumulatively.
Use this tool when modeling delay impact prospectively (e.g.
quantifying RFI / change-order delay before settlement). For
retrospective windows analysis after the fact, use
``forensic_windows_analysis`` (MIP 3.3 windows).
Args:
baseline_xer_path: server-side pre-impact baseline XER.
baseline_xer_content: full text of pre-impact baseline XER
(alternative for hosted/remote use).
Supply EXACTLY ONE of path/content.
fragnets: list of fragnet dicts. Each must have:
- 'id', 'name', 'liability' (responsible party)
- 'activities': list of {code, name, duration_days,
calendar_id?}
- 'ties': list of {pred, succ, type, lag_days?}
Optional: 'description'.
output_dir: output dir for TIA_Report.txt + CSV (tempdir if "").
project_name: optional override.
Returns:
{
"report": path to TIA_Report.txt,
"impacts_csv": path to TIA_Impact_Details.csv,
"baseline": {"project_finish", "critical_count"},
"per_fragnet": [{fragnet_id, name, liability,
completion_before, completion_after,
impact_days, impact_working_days,
affected_activities, status, error}, ...],
"cumulative_days": int (sum of per-fragnet impacts -
NOT joint impact)
}