@DeltaFreq, I’d totally forgoten about your Grainmaker P1 post, but remember it now. Your “grainy day fun” (wah wah) totally could have been the inspiration of my idea for a rainy day fund! If we end up going with this idea, we should at minimum link to it (as I have above). If it becomes valuable enough in the future, may this paragraph be entered into evidence
It’s also good to have someone from the Maker community with context on these issues provide feedback. Your ideas around managing a rainy day fund I think are sound. As @decentralion was commenting in the Grainmaker P1 post, it may not be appropriate for many communities using SourceCred, as it has certain assumptions that may not be valid for all (e.g. no fractional reserve, non-floating price, etc.). However, it may map well onto the Maker use case. I wonder if the formulas you suggest are a little complex here though? Unlike a generalized SC org (or scorg as you call them), which has variable revenue and expenses, contributors paid via SourceCred are going to have a bit more predictability (hopefully). Instead of variable revenue that needs to be modeled with say, a gaussian distribution, it’s just pulling from the stability fee buffer. There may be volatility due to shortages, but presumably there won’t be the problem of what to do with excess input and the buffer overflowing…this raises the issue for me of what logic should be embedded into a smart contract, and what should be calculated in the oracle. My hunch is that if we can keep the logic simple enough, just keeping it all in the smart contract might have some nice properties (e.g. more trustless). But just starting to wrap my head around that…
I was imagining the contract just calling the suck() function and pulling DAi from the surplus buffer when there was a need and the buffer wasn’t too low. The logic is simple, and if you didn’t suck ‘too hard’ at any one time, you wouldn’t endanger the buffer. However, perhaps flap auctions would be better. Are those called often enough to be depended on? Would it require a larger rainy day fund?