diff --git a/graph/decisions/esb-50-blocks-esb-51-getter-must-run-before-mapping-config-i-65cdb3.md b/graph/decisions/esb-50-blocks-esb-51-getter-must-run-before-mapping-config-i-65cdb3.md new file mode 100644 index 00000000000..4e6313bf27b --- /dev/null +++ b/graph/decisions/esb-50-blocks-esb-51-getter-must-run-before-mapping-config-i-65cdb3.md @@ -0,0 +1,27 @@ +--- +id: 65cdb31b-e86f-4465-a321-378e1f704e6f +type: decision +title: "ESB-50 blocks ESB-51: getter must run before mapping config is finalized" +tags: [esb-monorepo, sf-ca, workflow, dependencies, decision] +importance: 0.6 +confidence: 0.8 +created: "2026-02-26T18:57:26.898767+00:00" +updated: "2026-02-26T18:57:26.898767+00:00" +--- + +# ESB-50 Blocks ESB-51: Dependency Ordering + +## Decision +ESB-50 (SF-CA getter) must be completed before ESB-51 (object handler config) can be finalized. + +## Rationale +The existing `sf-ca.json` mapping was written speculatively and may not match actual Salesforce field names from the Commercial Aquatics instance. Real raw data must be pulled via the ESB-50 getter to confirm: +- Actual Salesforce API field names for Account and Contact objects +- Which fields are reliably populated vs. sparse +- The correct values for `db_platform_code` and `db_source_code` for CloudSQL routing + +## Sequence +1. Build and test ESB-50 getter against real SF-CA instance +2. Inspect raw payload to verify field names +3. Update sf-ca.json mapping in ESB-51 with confirmed field names +4. Fix copy-paste bug in Contact `required_platform_fields`