slip_velocity
Per-window slip velocity & acceleration trend across XER snapshots.
Computes three signed metrics per window from the underlying
forensic windows analysis:
- slip_velocity_days_per_day: completion shift / window
duration (positive = slipping, negative = recovering).
MIXED DAY-TYPES — numerator is the WORKING-day completion
shift, denominator is CALENDAR days between data dates, so
the value is working-days-of-slip per calendar-day-elapsed,
NOT a dimensionless rate. The honest-named alias
``slip_velocity_workdays_per_calendar_day`` (identical
value), a per-row ``velocity_units`` string, and the
top-level ``basis`` field make this explicit. Quote
``basis`` in any expert report.
- slip_acceleration: velocity[n] - velocity[n-1] (positive
= slip rate increasing, negative = decelerating/recovery)
- half_period_estimated_slip_days: shift / 2 (forensic
"where were we at the midpoint" centroid estimate), in
WORKING days
Cumulative aggregates ``mean_velocity_days_per_day`` (and its
honest alias ``mean_velocity_workdays_per_calendar_day``),
``max_velocity_window``, accelerating/decelerating/recovery
window counts.
Honest caveats embedded in the response (mandatory for expert
reports): midpoint estimates are probabilistic centroids, not
observed events; velocity is per-window average, not
instantaneous; acceleration is a finite difference, not a true
second derivative.
Built on top of AACE RP 29R-03 §3.3 windows analysis. Use this
tool when you want a slip-rate trend line on top of the same
per-window math ``forensic_windows_analysis`` already computes.
Args:
schedules: chronologically ordered list of dicts — the SAME
shape ``forensic_windows_analysis`` accepts. Each dict
carries ``label`` (optional) and EXACTLY ONE of
``xer_content`` or ``xer_path``. Preferred input for
hosted/remote clients.
xer_paths: legacy chronologically ordered list of server-side
XER paths.
xer_contents: legacy chronologically ordered list of XER text
contents (alternative for hosted/remote use).
Supply EXACTLY ONE of schedules / xer_paths / xer_contents
(at least 2 entries).
Returns:
{
"rows": [{window_label, period_start, period_end,
window_duration_days, shift_days, shift_workdays,
shift_calendar_days,
slip_velocity_days_per_day,
slip_velocity_workdays_per_calendar_day,
velocity_units, slip_acceleration,
acceleration_units, midpoint_estimate_date,
half_period_estimated_slip_days,
half_period_estimated_slip_workdays,
half_period_units}, ...],
"cumulative": {mean_velocity_days_per_day,
mean_velocity_workdays_per_calendar_day,
velocity_units, max_velocity_window,
accelerating_windows,
decelerating_windows,
recovery_windows},
"units": "working-days of slip per calendar-day elapsed",
"basis": "<numerator/denominator day-type disclosure>",
"standard": "AACE RP 29R-03 §3.3 (Windows Analysis)",
"caveat": "..."
}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| schedules | No | ||
| xer_paths | No | ||
| xer_contents | No |