I have been working on a symbolic solution to ARC-AGI:
https://github.com/nesco/DPS
Shapes are converted into trees of paths, and those trees are compressed using a symbolic lookup table
A LLM can then use those symbols to reason about shapes, and a tree edit distance can be used to group them in categories