D014 - Presence and behaviour are separate questions
Status: decided Date: 2026-09-26
Behavioural sections ask whether a function works and cost a
confirmed signature each. The census (900-surface) asks
only whether a name resolves, and declares every censused name as
const char, so the type system rejects calling one. A name
is either censused or declared as a function in platform.h,
never both.
Why: presence scales to tens of thousands of names at no risk; behaviour does not. A wrong census name reports absent, a visible and harmless false negative, while a wrong behavioural signature crashes. Declaring census names as data makes the rule hold without anybody remembering it.
Rejected: one list serving both questions - either the census stays tiny or unconfirmed signatures get called.