Skip to content

Platform conformance evidence

Use this quality gate when a change affects schema planning, result identity, numeric or currency values, applicability, user-mode access, or an execution adapter. It records the product-neutral evidence for the platform data-shape and execution-context contracts. Industry packages are not required and their business semantics are not evidence for core behavior.

ShapeRequired behaviorAutomated evidenceSupport boundary
Optional object, field, or relationship is absentUnresolved schema produces a stable unavailable result and never enters a user-mode queryRHCAbsentSchemaRedTest, RHCFormulaRelationshipPlanningTest, RecordHealthCheckDescribeCacheTestProduct-neutral describe behavior; no licensed fixture required
Multiple managed-package namespacesQualified identities and configured API names resolve without assuming one product prefixRecordHealthCheckApexAdapterTest, RHCFieldPlannerNamespaceTest, RHCDefinitionDependencyIdentityTest, plus RHCForeignNamespaceFieldIT in the licensed two-package gateThe dedicated gate uses RHC (rhc) and Salesforce CPQ (SBQQ) to prove Formula, Query, and merge handling; CPQ semantics remain out of scope
Self-reference, dependency cycle, or missing parentEvaluation remains deterministic and results stay associated with the requested rootRHCReleaseBoundaryCoverageTest, RecordHealthCheckMetadataValidatorTest, RecordHealthCheckBulkQuerySupportTestA malformed dependency cycle keeps input order; unresolved relationship data fails safely
Negative or scaled DecimalSign and scale survive typed-value storage and JSON; display retains the meaningful signed valueRHCPlatformDataShapeConformanceTest, RecordHealthCheckContractTypesTest, RHCComparisonDisplayEdgeBehaviorTestDisplay can trim insignificant trailing zeroes after evaluation
Snapshot field versus current sourceCore reports the value it evaluated and does not claim that an arbitrary stored snapshot is currentTyped Found/Expected contract tests plus platform limitationsThe generic freshness primitive was withdrawn; existing Checks express neutral policies and product-specific recipes belong in extensions
Large child collectionA row-cap or transaction-cap boundary returns an unavailable outcome instead of a partial collection-wide verdictRecordHealthCheckBulkQuerySupportTest, RHCEvaluatorEdgeBehaviorTest, RHCReleaseBoundaryCoverageTestThe documented framework and query caps still apply
Different currency ISO codesCurrency evidence remains attached to its row; unsafe aggregation is rejectedRHCMixedCurrencyRedTest, RHCCurrencyAuthoringRedTest, RHCCurrencyEvidenceBoundaryTest, RHCDisplayCurrencyResolutionTestCore does not convert currencies
Legitimate null for one record shapeApplicability determines whether the check applies; null alone is not automatically a defectRecordHealthCheckScopeApplicabilityTest, RecordHealthCheckScopeEvaluationTestThe check author owns the applicability rule
Binary/Base64 fieldThe field is refused before evaluation and cannot leak into results or diagnosticsRHCBase64FieldRedTestDeliberately unsupported

All bulk assertions use product-neutral Account, Contact, synthetic ID, or metadata fixtures. Tests must assert root IDs or map keys when order alone could hide cross-record evidence.

ContextAccess contractAutomated evidenceAdditional verification
Lightning record pageThe interactive user’s sharing, CRUD, FLS, restriction rules, and scoping rules applyRecordHealthCheckScopeEvaluationTest, RecordHealthCheckContractTestTest representative users in the target org
FlowThe user and execution context Salesforce assigns to that Flow transaction applyRecordHealthCheckAutomationFlowTest, RecordHealthCheckApiTestValidate the actual Flow type and invoking user before rollout
QueueableAuthorization is checked for the asynchronous transaction and one request cannot cross-contaminate another rootRecordHealthCheckAsyncTest, RecordHealthCheckAutomationAsyncTestMonitor the resulting Apex job independently of health outcomes
BatchEach scope runs under the executing user’s current access and respects bulk limitsRecordHealthCheckAsyncTest, RecordHealthCheckBatchScopeTest, RecordHealthCheckAutomationAsyncTestValidate representative sharing and scope size in the target org
Scheduled ApexAuthorization is checked when the schedule fires and the scheduled adapter delegates to BatchRecordHealthCheckAsyncTest, RecordHealthCheckAutomationAsyncTestConfirm the scheduling user’s current permission and data access
Queue-owned or polymorphic recordOwnership and relationship types are resolved without assuming a User ownerRHCOwnershipHonestyTest, RHCPolymorphicQuerySafetyTestOnly explicitly supported polymorphic paths are accepted
Restriction or scoping rule filtersResults describe rows visible to the user-mode transaction; core performs no elevated comparison queryRecordHealthCheckScopeEvaluationTest, RHCFieldPlannerSecurityTest, RecordHealthCheckSecurityAndOpsTestRule provisioning is org-specific, so verify enforcement manually in a representative org
Guest or Experience Cloud userInaccessible records and fields must not leakShared user-mode and diagnostic-redaction tests enforce the core boundaryThe component is not exposed to Experience Builder; this is not an automated support claim

An authorized empty result and an access failure remain distinct. Zero visible rows follow the configured no-rows policy and never prove org-wide absence. Diagnostics permission can reveal approved troubleshooting detail, but it does not elevate the business-data query.

When a pull request changes one of these contracts:

  1. Run the named focused Apex tests for the affected rows.
  2. Run the package-level Apex test and coverage gates required by CI.
  3. Validate the current package in both namespaced and non-namespaced release orgs when the change affects namespace resolution or public package behavior.
  4. Run the foreign-namespace field gate when a change affects field scanning, describe resolution, query fields, or record merge tokens.
  5. Mark licensed or org-specific cases as manual or not tested. Never count a skipped fixture as automated support evidence.
  6. Keep platform compatibility and security and data access aligned with this matrix.