What is really needed is a usable multiplexed pipeline management and event system.
Then you can instrument through metaprogramming. For instance, an alert system could be:
"If the threshold goes over 1.0, contact the on-call person through their preferred method" - which may work ... maybe.
Or:
if any( "check_condition {x}", condition_set ):
find_person("on call", right now).contact("preferred")
... the point is to divide everything up into small one-shots, parallelize them, use it as glue/api. Then you get composability. If you can get a framework for coroutines going then it's real game on. The final step is "needs based pulling" which is an inversion of mcp - contextual streams as event based sub-systems.
Things are still too slow for this to be not painful but that won't be the case forever.
Currently everything is linear. Doesn't have to be ... really doesn't.
Then you can instrument through metaprogramming. For instance, an alert system could be:
"If the threshold goes over 1.0, contact the on-call person through their preferred method" - which may work ... maybe.
Or:
if any( "check_condition {x}", condition_set ): find_person("on call", right now).contact("preferred")
... the point is to divide everything up into small one-shots, parallelize them, use it as glue/api. Then you get composability. If you can get a framework for coroutines going then it's real game on. The final step is "needs based pulling" which is an inversion of mcp - contextual streams as event based sub-systems.
Things are still too slow for this to be not painful but that won't be the case forever.
Currently everything is linear. Doesn't have to be ... really doesn't.