Pipeline stage insert¶
plugins/ccx-feeds-industrial/includes/pipeline/70-stage-insert.php is a compatibility facade. The stage insert implementation is owned by includes/pipeline/stage-insert/.
Modules¶
10-input-normalization.php: debug gate and accepted input normalization. Arrays and JSON payloads are supported; serialized PHP payloads remain rejected.20-strict-insert.php: row preparation, spec-type detection/override policy, timestamps, offer key, row hash, dynamic column selection and SQL upsert.30-entrypoint.php: public mixed-input entrypoint delegating normalization to the strict insert.90-compose.php: loads the modules in their historical dependency order.
Public compatibility surface¶
The following entrypoints remain unchanged:
ccx_feeds_stage_insert_debug_enabled()ccx_feeds_stage_insert_normalize_rows()ccx_feeds_stage_insert_rows_strict()ccx_feeds_stage_insert_rows()
Behavioral constraints¶
This refactor is structural only. It preserves detector-first spec_type handling, strict override filtering, stage_skipped_not_spec diagnostics, timestamp and offer-key preparation, the existing row-hash payload, required-column checks, dynamic allowed-column selection, binary row hashes, and ON DUPLICATE KEY UPDATE behavior.