StaticEnrichStaticInferDeterministic naming-based FK inference. Mutates fields in place (IsForeignKey + ForeignKeyTarget + the object's Relationships). Returns the count inferred. Provable-only: a field is inferred to be an FK ONLY when its name maps to exactly one OTHER object.
Lightweight post-discovery enrichment — the runtime "LightweightConstraintDiscovery" from the integration design. Fills PROVABLE gaps with NO hard AI dependency:
ForeignKeyTargetonly when the column name unambiguously points at exactly one sibling object (e.g.CompanyId→companies, or a field whose name equals a sibling's PK field name). Ambiguous or self-referential matches are left alone — provable-only, never guess.describeFnis supplied (AI-optional; a no-op on instances without an AI provider, which is the common BI case).Operates on the discovered SourceObjectInfo[] in place, BEFORE persistence, so the inferred FKs flow through IntegrationSchemaSync's normal Declared/Discovered merge (they land as
MetadataSource='Discovered', soft FKs). Never throws.