Files below fileadmin/placeholders/ (or named "...placeholder...") are grey
dummies. PageCheckService and ProductCheckService now report them:
- image cells carry `placeholder` = number of placeholder files (only when > 0);
`ok` is unchanged (something is attached)
- summary.filled counts only cells without placeholders, new summary.placeholder
counts the cells that have one
- detail images carry `placeholder: true|false`
- cards: `placeholder` = cards whose icon/image is a placeholder; record: the
record image
Additive change to the JSON contract; frontend rendering follows (ticket).
Requested by Harry 2026-11-13.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>