From db9147a1b7f019205a5cc6e276b50010245abe18 Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Thu, 26 Feb 2026 12:57:20 -0600 Subject: [PATCH] store: sf-ca.json mapping config: copy-paste bug in Contact required_platform_fields + missing CloudSQL fields --- ...py-paste-bug-in-contact-required-49d3de.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 graph/fixes/sf-cajson-mapping-config-copy-paste-bug-in-contact-required-49d3de.md diff --git a/graph/fixes/sf-cajson-mapping-config-copy-paste-bug-in-contact-required-49d3de.md b/graph/fixes/sf-cajson-mapping-config-copy-paste-bug-in-contact-required-49d3de.md new file mode 100644 index 00000000000..580e291514c --- /dev/null +++ b/graph/fixes/sf-cajson-mapping-config-copy-paste-bug-in-contact-required-49d3de.md @@ -0,0 +1,40 @@ +--- +id: 49d3de63-9123-4d3b-b45b-614927b6afe3 +type: fix +title: "sf-ca.json mapping config: copy-paste bug in Contact required_platform_fields + missing CloudSQL fields" +tags: [esb-monorepo, sf-ca, object-handler, mapping, bug, fix] +importance: 0.7 +confidence: 0.8 +created: "2026-02-26T18:57:20.932938+00:00" +updated: "2026-02-26T18:57:20.932938+00:00" +--- + +# sf-ca.json Mapping Config: Known Issues + +## File Location +`packages/py-esb-integrations/src/esb_integration/mappings/sf-ca.json` + +## Current State +Mapping already exists with: +- Account -> CommercialAquaticsAccount +- Contact -> ContactStaff + +Both types are already registered in `VALID_OBJECT_TYPES` and `ObjectFactory`. + +## Bug 1: Copy-Paste Error in Contact required_platform_fields +Contact's `required_platform_fields` includes Account-specific fields that are NOT present in Contact's `field_aliases`: +- `Account_Status__c` +- `Operating_Entity__c` +- `Primary_Email__c` + +These are Account fields that were likely copied when the Contact block was scaffolded. Will cause validation failures at runtime. + +## Bug 2: Missing CloudSQL Routing Fields +Both Account and Contact mappings are missing: +- `db_platform_code` +- `db_source_code` + +These fields are required for CloudSQL silver layer routing. Will be addressed in ESB-51 after real Salesforce data confirms actual field names from the SF-CA instance. + +## Resolution Plan +Defer fixes to ESB-51 — need real raw data from the Salesforce CA instance before finalizing field names.