tcl is pretty fun actually, it's like bash on steroids.
for a preview of the insanity: anything surrounded by "" is a string, with the variable expansion you'd expect. anything surrounded by {} is also a string, but with no expansion. the equivalent in bash is the backtick string. but you don't need to know that to write tcl. if you approach {} as "code blocks" like in other languages, it just works. reason being that tcl evals everything, constantly, attaching little tags to strings that tells the language how things are used, like "this string is an integer" or "this string is code and here is the result from last time it ran". it's madness and, weirdly, robust as hell. Xilinx writes all their tooling in tcl. SQLite started life as a tcl module, and it's still the only api that is not provided by a plugin.
the "cancer problem" wrt asbestos is that when it breaks it forms microscopic airborne needles that travel into your lungs and turn them into scar tissue. i don't really see a solution to that. it's like radon; it's always a risk having it around.
so fun fact, that's already how lemmy works. communities are not a thing in ap, so you can technically post to whatever community you want, existing or not. the lemmy software then limits users from posting to nonexistent communities. and ap already has the notion of posts having parents, so threading is also built in.
if you want posts to spontaneously coalesce with some kind of shared Metadata, you want the ML content analysis information of the post to go out before the actual post is published
i don't understand this assertion at all. the post is the post. surely we want to classify the post based on the content of the post? tags are contained in posts. your client can just add the relevant info before sending it. figure out potential categories locally, query the server for which of them are popular, and either pick one or have the user select one.
the formatting is up to the client that displays the content, interestingly enough. AP just has a "message type" fields and different clients care about different types.
i'm not really sure what that gossip method achieves. surely if it's just post metadata we're talking a hundred bytes at most. running it separate from the main feed seems like it would just bork every single AP client that tries to use content published by this hypothetical one.
one of the big problems that isn't solved by this is what gets to be behind verification. who decides what kids aren't allowed to see. we've seen already that most of the world's governments can't really be trusted with what is adult content and not.
go outside sometime