P0: replace `+` array union with array_merge() in Settings_Fields_Extended::get_fields(). PHP `+` keeps left-side keys when both arrays are integer-indexed — silently drops all 11 image fields (indexes 0–10 collide with indexes 0–10 of the local array). array_merge() is already the operator used by the parent class at class-settings-fields.php:84. P1: restore `php scripts/check-constants.php --self-test` step in the check-constants CI job. Step was present in v0.21.0 and accidentally dropped in the CI rewrite. Script logic is intact; CI now exercises it again. Also adds SettingsFieldsExtendedTest (3 assertions) as a regression guard: cardinality (29 = 18 local + 11 image), presence check, and per-field id/section contract. If a + union ever re-appears, test_get_fields_returns_29_fields fails with a message naming the root cause. Agent-Session: engineer-infra-prab-p0fix-20260616
12 KiB
12 KiB