Contact
Sequence

Scenarios

Forking a schedule into a sandbox, what a fork does and does not carry, the diff against the live sheet, and merging back whole or row by row.

A scheduled sheet can be forked into a scenario — a named, sandboxed copy that reschedules independently and notifies nobody. Scenarios are kept indefinitely and re-diffed as the live schedule moves, which is what a recovery schedule actually is.

What a fork carries#

Rows, columns and schedule settings — everything the engine needs to reschedule independently.

It deliberately does not carry:

Not carriedWhy
BaselinesA baseline is a contractual position. Forking one creates a second thing claiming to be what was promised
NotificationsA scenario notifies nobody, so it holds no notification state at all rather than holding some and suppressing it
Comments and historyThese belong to the live schedule
ViewsA saved way of looking at the schedule is not part of the plan

The diff#

A scenario shows a diff against the live sheet:

  • Added — rows the scenario has and the live sheet does not.
  • Removed — rows the live sheet has and the scenario does not.
  • Changed — rows both have, whose dates or cost differ.
  • Unchanged — a count, because nobody reads a list of them.

Per row: dates before and after, the days the finish moves, and cost before, after and delta. At the top: the project finish before and after, and the total cost either side.

⚠ An unpriced row reports as unpriced, not as zero. Otherwise every uncosted row in a scenario reads as a saving of nothing, which fills a diff with noise.

⚠ Costing follows the live sheet for both halves. A scenario cannot switch costing on by itself — a diff whose two halves disagreed about whether money exists would report the entire budget as a movement.

⚠ A diff that could not be computed says so. If the engine could not schedule one side — a cycle, most likely — the diff reports why. An empty change list that actually means "this would not schedule" reads as "nothing differs", which is the opposite of the truth.

Merging back#

A scenario may be merged whole or row by row, or discarded.

The whole accepted set lands as a single undo step. Accepting rows one at a time and committing each would put one entry on the undo stack per row for what was one decision.

Accepting a row means what the diff said it was:

  • A row the scenario added is inserted.
  • A row the scenario removed is deleted from the live sheet.

⚠ Columns are not merged. A scenario that added a column changed the schedule's shape rather than its plan, and folding that in silently would let a what-if restructure the live sheet.