You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The HWP supervisor agent has grown a lot since its initial release do to features required for field usage, and has become difficult to navigate.
I think it would benefit a lot from a focused refactoring to clean up its structure, and add proper type hints for more complete static type checking. If I were to do such a refactor, I'd want to do the following...
Use a dedicated configuration object to control parameters such as instance ids and pid_max_time_since_last_update. Currently I've just thrown many of these into the HWP state object because that is accessible from many different parts of the code, but this should be put into a dedicated cfg class.
I would also want to switch from using command line arguments to a yaml file, since the number of arguments has grown to ~30 which is a bit unwieldy.
Move the HWP state and the control state-machine functionality to separate modules, for better delineation between their logic.
Complete static type checking. This may require some small structural changes, but because the module is so large and difficult to test I think this would be invaluable.
The text was updated successfully, but these errors were encountered:
The HWP supervisor agent has grown a lot since its initial release do to features required for field usage, and has become difficult to navigate.
I think it would benefit a lot from a focused refactoring to clean up its structure, and add proper type hints for more complete static type checking. If I were to do such a refactor, I'd want to do the following...
pid_max_time_since_last_update
. Currently I've just thrown many of these into the HWP state object because that is accessible from many different parts of the code, but this should be put into a dedicated cfg class.The text was updated successfully, but these errors were encountered: