While I am greatly thankful for your examples about how concerns can turn bad, I want to show you this
https://twitter.com/dhh/status/964244090224128001
In contrast to many of your readers, I think this image shows a very good example on how to not have bidirectional dependencies while using concerns. The model doesn't rely on any feature included by a concern. I guess the concerns are well engineered, depend on framework features and not on each other (except for the ones mentioning it in the comments).
Do you think, you could refactor your example to use an Archivable
concern which would properly loosen up the bidirectional coupling you now have?