There are 3 pieces to the condition system:
-
The outcome log, all the effects taken by outcome projections (and these are non visible and noisy af).
-
Intent-outcome condition to signal whether the steady state intent projection is being effected by the outcome projection in the real world.
-
Environment diagnosis (which is where we are with figuring out how to report on permission requirements).
We can't really design for the intent-outcome condition at the moment because it isn't in scope. But it's probably something that works with or as a part of the outcome projection or log and produces the condition state.
The other thing to note is that sometimes we need to catastrophically crash a protection without bringing the whole of draupnir down, and we need to signal this state via the condition system. So whatever we use to report has to live longer than the protections and projections themselves, at least in the fatal scenario where the system isn't degraded but failing.
There are 3 pieces to the condition system:
The outcome log, all the effects taken by outcome projections (and these are non visible and noisy af).
Intent-outcome condition to signal whether the steady state intent projection is being effected by the outcome projection in the real world.
Environment diagnosis (which is where we are with figuring out how to report on permission requirements).
We can't really design for the intent-outcome condition at the moment because it isn't in scope. But it's probably something that works with or as a part of the outcome projection or log and produces the condition state.
The other thing to note is that sometimes we need to catastrophically crash a protection without bringing the whole of draupnir down, and we need to signal this state via the condition system. So whatever we use to report has to live longer than the protections and projections themselves, at least in the fatal scenario where the system isn't degraded but failing.