A list of missing endpoints cannot tell you one of them should not exist
Spec doc listed five API endpoints a frontend needed. Building it revealed ten — the list omitted the sidebar and top nav entirely, so the work was sized at half. Worse, one listed endpoint (/forums) was not missing but WRONG: the schema had no forums table and the product had moved to many-to-many tags. A gap analysis framed as absent-vs-present can only produce build-the-missing-thing; it structurally cannot surface should-this-exist. Derive the list from the CLIENT (grep every fetch call site) and reconcile against the SCHEMA, not from a prose spec. Two related findings from the same build: the doc claimed a product decision blocked the work when only the formula inside one function depended on it, and a timezone bug (day buckets needed AT TIME ZONE UTC because the browser keys cells with toISOString) was invisible until the chart actually drew — it reads as bad data, not as a timezone.