Scale the score by how much of the plan is seated
An empty plan scores 75%. It gets most rules right by having nothing to get wrong: no table is over capacity, no conflicting pair shares a table, no table seats an allergy that wants flagging. Three parts in four, at weight three.
KB-8 states the principle that would prevent it — opportunities are counted over the guest list, not over how much of the plan is seated — and then breaks it in its own worked example, where capacity gets one opportunity per table. A denominator counted over tables cannot see the guest list.
Fixing that denominator by denominator is the wrong shape. It is nine judgement calls, and every rule added afterwards is a fresh chance to reintroduce it, in an engine built so a new rule needs no shared edit and nobody to review the scoring model.
The change
sub-score = 1 − missed ÷ opportunities
fit = weighted mean of every rule's sub-score
plan score = fit × (guests seated ÷ guests), on 0–100
One factor, stated once, that a future rule author cannot forget.
Acceptance criteria
- KB-8 carries the coverage factor and the arithmetic above, as part of this ticket
- The plan score is the weighted mean scaled by the proportion of guests seated
- A complete plan is unaffected, because the factor is one. The figure people recognise on a finished plan does not move
- An empty plan scores nought. A half-seated plan cannot score above fifty
- The denominator is guests, not seats. A room that cannot seat everyone is a real problem and the score says so rather than grading on a curve. The setup screen already reports the shortfall
- A plan with no guests has nothing to score rather than scoring nought
- The existing score tests are re-derived rather than adjusted until they pass
Notes
KB-8's line that "an empty plan scores nought rather than being unscored. That is deliberate" is not true today and was not true when it was written. This makes it true.
An unseated guest is counted twice once TT-47 lands: once as a violation in the mean, once in this factor. That is deliberate. An unseated guest is worse than a badly seated one, and the factor is what guarantees nought at zero rather than merely a low number. If it should count once, drop this factor and let the rule carry it, at the cost of an empty plan scoring in the forties.
Every figure moves again the day this lands, downwards, and only on unfinished plans.
Comments
No comments on this issue