Quality checks
The fourteen-point schedule assessment plus three of Sequence's own, what each threshold is, and why a check that cannot run says so instead of quietly passing.
The Quality check panel grades the schedule against the standard fourteen-point schedule assessment that clients already ask for, plus three checks of Sequence's own. It runs over the same schedule result the grid draws from, so it can never be grading a different schedule from the one on screen.
A check that cannot run reports as not-applicable, with the reason. Several points need data the schedule may not have — a baseline, resource assignments, an Owner column. Those return not-applicable rather than a silent pass. A fourteen-point report in which four points quietly scored themselves is worse than one that admits to ten.
What is graded#
Summaries are excluded — their float and criticality roll up from children, so grading both counts one fact twice. Completed work is excluded too, except from the two checks whose entire subject is completed work.
The checks#
Default thresholds: 44 working days for "high", and a 5% tolerance.
| # | Check | Passes when | Notes |
|---|---|---|---|
| 1 | Logic (open ends) | ≤ 5% of rows | The genuine project start and finish are exempt |
| 2 | Leads (negative lag) | Zero | Usually a missing activity in disguise |
| 3 | Lags | ≤ 5% of rows | |
| 4 | Relationship types | ≥ 90% finish-to-start | Not-applicable when there are no relationships |
| 5 | Hard constraints | ≤ 5% of rows | The four that can drive float negative |
| 6 | High float (> 44d) | ≤ 5% of rows | |
| 7 | Negative float | Zero | The engine preserves it precisely so it can be counted |
| 8 | High duration (> 44d) | ≤ 5% of rows | |
| 9 | Invalid dates | Zero | Actuals in the future, forecasts in the past |
| 10 | Resources assigned | ≤ 5% unassigned | Not-applicable when resourcing is off |
| 11 | Missed tasks vs baseline | ≤ 5% | Needs a baseline |
| 12 | Critical path test | The project finish moves | An experiment, not a count |
| 13 | Critical Path Length Index | ≥ 0.95 | Needs an imposed finish |
| 14 | Baseline Execution Index | ≥ 0.95 | Needs a baseline |
| M1 | Manually scheduled rows | ≤ 5% | Sequence's own |
| M2 | Manual rows contradicting their logic | Zero | Sequence's own |
| M3 | Rows with no owner | ≤ 5% | Sequence's own. Not-applicable with no Owner column |
Every result carries the rows that tripped it, so a failure is clickable rather than a number you then have to go and find.
Three distinctions that are easy to collapse#
⚠ Check 1 exempts the real ends. The earliest row with no predecessor and the latest with no successor are the project's own start and finish. Counting them would mean every well-formed schedule fails point 1 by two.
⚠ Not-applicable is not a pass, and absent is not zero. Point 10 is not-applicable when resourcing is switched off for the project — an unresourced schedule has not failed the check, it declined to take it. M3 is not-applicable when the sheet has no Owner column at all, which is a different finding from a sheet whose Owner column is empty on every row. The first is "we never asked"; the second is a schedule with no accountability anywhere.
⚠ Points 11 and 14 look at completed work. Every other check ignores completed rows, correctly. These two must not: a task that finished late is exactly a missed task, and the execution index counts what actually got finished. Grading them over the same filtered set made the index read zero on a project that had genuinely delivered half of what it promised.
Point 12 is an experiment#
Every other check counts something. Point 12 injects a large delay onto a critical, incomplete row, reschedules a copy, and confirms the project finish actually moved. A critical path that does not propagate is not a critical path, and no amount of counting would reveal it.
This is safe only because the engine is deterministic and side-effect free — rescheduling a modified copy cannot disturb the schedule on screen. The result names the row it perturbed and by how much, so the experiment is reproducible rather than a verdict.
It also grades us#
The same rules are the engine's own test oracle. A schedule the engine produces should be able to state its own quality, and a check that disagrees with a hand-computed fixture means one of the two is wrong — which is a useful thing to find out from a test rather than from a client.
Related#
- Activities, logic and the critical path — where float, criticality and the constraint set come from.
- Baselines — required by points 11 and 14.
- Resources — required by point 10.