I found this having made some changes for #34507 that caused :spring-boot-project:spring-boot:checkForPackageTanglesMain to fail. However, I think the tangle's present without my changes but in a manner that ArchUnit cannot identify.

From org.springframework.boot.context.properties to org.springframework.boot.context.properties.bind:

BindableRuntimeHintsRegistrar imports org.springframework.boot.context.properties.NestedConfigurationProperty

From org.springframework.boot.context.properties.bind to org.springframework.boot.context.properties:

ConfigurationPropertiesBindHandlerAdvisor imports org.springframework.boot.context.properties.bind.AbstractBindHandler
ConfigurationPropertiesBindHandlerAdvisor imports org.springframework.boot.context.properties.bind.BindHandler
ConfigurationPropertiesBean imports org.springframework.boot.context.properties.bind.BindConstructorProvider
ConfigurationPropertiesBean imports org.springframework.boot.context.properties.bind.Bindable
ConfigurationPropertiesBean imports org.springframework.boot.context.properties.bind.Binder
ConfigurationPropertiesBeanFactoryInitializationAotProcessor imports org.springframework.boot.context.properties.bind.BindableRuntimeHintsRegistrar
NestedConfigurationProperty imports org.springframework.boot.context.properties.bind.Nested
ConfigurationPropertiesBinder imports org.springframework.boot.context.properties.bind.AbstractBindHandler
ConfigurationPropertiesBinder imports org.springframework.boot.context.properties.bind.BindContext
ConfigurationPropertiesBinder imports org.springframework.boot.context.properties.bind.BindHandler
ConfigurationPropertiesBinder imports org.springframework.boot.context.properties.bind.BindResult
ConfigurationPropertiesBinder imports org.springframework.boot.context.properties.bind.Bindable
ConfigurationPropertiesBinder imports org.springframework.boot.context.properties.bind.Bindable.BindRestriction
ConfigurationPropertiesBinder imports org.springframework.boot.context.properties.bind.Binder
ConfigurationPropertiesBinder imports org.springframework.boot.context.properties.bind.BoundPropertiesTrackingBindHandler
ConfigurationPropertiesBinder imports org.springframework.boot.context.properties.bind.PropertySourcesPlaceholdersResolver
NotConstructorBoundInjectionFailureAnalyzer imports org.springframework.boot.context.properties.bind.ConstructorBinding

Comment From: wilkinsona

Nope, the cycle is only due to my attempt to fix https://github.com/spring-projects/spring-boot/issues/34507. The import of NestedConfigurationProperty in BindableRuntimeHintsRegistrar is only for the javadoc of a private method. This isn't detected by ArchUnit as it works with bytecode. We did have a cycle in this area in the past (https://github.com/spring-projects/spring-boot/issues/32815) but it has been fixed.