I think scopes are very amenable to using a pseudo registry (specifically a list of 'ScopeChecker' or some such objects, which provide docs and are consulted in-order. (order matters)). We expect the number of scope checkers to change very slowly: its basic infrastructure.
For flag names:value pairs though, we're expecting them to be a micro-tool, turning up and going away at high frequency.
What would we ideally show for a flag name? Modelling it a bit like a function makes sense to me:
name : domain : impact
that is
publicrestrictedlibrarian : boolean : when true the service is enabled
hard_timeout : [0.0, 20.0) : sets the hard timeout to float(value)
These clearly cannot be extracted from simple uses of flags - but thats ok I think: as long as we can:
- list the flags that are consulted
- where we have descriptions of the domain and impact show that as well
It will be easy to see where we have forgotten to document a flag, and we will have a very low overhead minimum cost for adding flags (as we do today).
I think scopes are very amenable to using a pseudo registry (specifically a list of 'ScopeChecker' or some such objects, which provide docs and are consulted in-order. (order matters)). We expect the number of scope checkers to change very slowly: its basic infrastructure.
For flag names:value pairs though, we're expecting them to be a micro-tool, turning up and going away at high frequency.
What would we ideally show for a flag name? Modelling it a bit like a function makes sense to me: dlibrarian : boolean : when true the service is enabled
name : domain : impact
that is
publicrestricte
hard_timeout : [0.0, 20.0) : sets the hard timeout to float(value)
These clearly cannot be extracted from simple uses of flags - but thats ok I think: as long as we can:
- list the flags that are consulted
- where we have descriptions of the domain and impact show that as well
It will be easy to see where we have forgotten to document a flag, and we will have a very low overhead minimum cost for adding flags (as we do today).