@outbuild-company/schedule-core 1.19.1 → 1.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -88,6 +88,41 @@ The library accepts backend-shaped schedule data, normalizes it internally and
88
88
  returns a ready instance. A successful mutation updates core state and returns
89
89
  the complete `ChangeSet`; a rejected mutation leaves state untouched.
90
90
 
91
+ ## Data Date (P6) schedule defaults and readiness
92
+
93
+ `core.dataDates.getDefaultSettings()` returns a fresh, detached settings value on every call. The Outbuild defaults are:
94
+
95
+ ```ts
96
+ {
97
+ dataDate: null,
98
+ outOfSequencePolicy: 'retained_logic',
99
+ dependencyReference: 'correlative_id',
100
+ useExpectedFinishDates: true,
101
+ startToStartLagBasis: 'early_start',
102
+ relationshipLagCalendar: 'predecessor',
103
+ totalFloatMethod: 'finish_float',
104
+ criticalActivityMethod: 'total_float',
105
+ criticalFloatThresholdHours: 0,
106
+ makeOpenEndedActivitiesCritical: false,
107
+ externalRelationshipPolicy: 'SD_Both',
108
+ calculateFloatBasedOn: 'each_project',
109
+ setDataDateAndPlannedStartToForecastStart: false,
110
+ projectMustFinishBy: null,
111
+ projectForecastStart: null,
112
+ multipleFloatPaths: {
113
+ enabled: false,
114
+ limitEnabled: false,
115
+ maximum: 10,
116
+ useTotalFloat: true,
117
+ endingActivityId: null
118
+ }
119
+ }
120
+ ```
121
+
122
+ `core.dataDates.getScheduleReadiness(patch?)` evaluates a patch without changing settings, project state, activities, links, revision, dirty state, or history. It checks P6 capability, imported external relationships, patch validity, effective Forecast Start, and Data Date before reporting readiness.
123
+
124
+ A blocked result carries the blocker code, the number of blocking activities, a bounded sample of their ids and the fields each one lacks. `schedule()` throws `DataDateCapabilityError` with the same blocker code for blocked results. The full surface is listed in `docs/api/reference.md` (Data Date section).
125
+
91
126
  ## One engine, two public entry points
92
127
 
93
128
  | Consumer | Entry point |