I've gotten some work done towards supporting persistence in guile-horton over the last week or so, but I've hit a bit of a roadblock. Writing this up in part to explain what I've been working on and in part to think through it some more.
To support persistence, I need to switch all the actors in the system over to use the define-actor macro. The admin actor was previously using selfish-spawn, but define-actor has a #:self parameter that should serve the same purpose. And the old code was using an internal cell for the mutable name functionality, which needs to be changed.
However... running into one particular problem that I'm still having trouble figuring out. When I spawn an admin, that new object also spawns a profile with a reference to that admin. In order to support that, the admin needs to have a reference to itself; as mentioned above, I think I should be able to use a parameter on define-actor for that. But for some reason, the self parameter gets set to #<unspecified> when I try that. It's not clear to me why this might be happening from the docs, so I think I might need to do some source spelunking to figure it out.
Once I work that out, it looks like I'll run into this issue. It sounds like I should be able to work around that with a second object constructor, though it might be a bit messy.
This is part of my December Adventure 2025 series, which I haven't been as consistent with as I had hoped but has nudged me to work on this some at least! My adventure log for this year is here.