Expected events
Scheduled or forecast milestones. They do not state that an event actually occurred.
Expected events hold a date that someone forecast rather than a date that arrived. Each has a counterpart that records what actually happened, and the pair is not interchangeable: a building with an expected construction completion in the past has not been completed, it has missed a forecast. When the real event occurs its own date is recorded and the expectation stops being the current answer. Because nothing forces a correction, these are the dates most likely to be out of date, and a project that stalled or was abandoned keeps its last forecast indefinitely.
Each expected date has a counterpart that records the event itself, and the two are separate fields that can both be filled. The forecast is not replaced when the event happens; it stays as a record of what was planned.
The state of a building follows from which dates are filled rather than from a status field. A structure with an expected construction start and no actual one has not begun, whatever the expected date says.
Events are stored as dated rows, so one event can carry several entries from different sources. That is what makes a disagreement between sources visible instead of turning it into a silent overwrite.




