Replies: 1 comment 1 reply
-
Agree with most of the points raised, and work has been progressing on these changes. We are still testing and developing the transition from Issue to PR with JSON as the public database source of truth. Generally, the structure here would be:
Once we are ready to implement and roll-out this major technical update, we will likely include a variety of additional changes as well. Some examples that will still need to be discussed:
As I said, these are just some possible ideas and changes, which will still be proposed and processed through community governance calls. The overall goals of these changes (making the shift to JSON, changing repos, and updating how bots/labels interact) will always be: programmatic openness, transparency, and efficiency. I strongly encourage everyone (especially our tooling and dashboard teams) to continue this conversation and help us make sure the transition to JSON/PR captures all the necessary program requirements. |
Beta Was this translation helpful? Give feedback.
-
As one of the maintainers of the filplus.storage site as well as other adjacent Filecoin initiatives, I have some potential improvements to the Github system design and integration I'd like to draw attention to.
These pertain to the two repos that handle DataCap application tracking and management:
filecoin-plus-large-datasets
aka the LDN repofilecoin-plus-client-onboarding
aka the GA repoBenefits of these improvements
The proposed improvements all share similar benefits and further the Filecoin Plus mission, they:
The items below are written the these qualities in mind.
1. Repo synchronicity
One of the challenges we come across repeatedly is the fact that there are two repos: one for general DataCap applications (GA) and another for large DataCap applications (LDN).
This makes maintenance and enhancement challenging. Each time something is worked on in one of the repos, the other must be brought up-to-date and appropriately tested.
As a result of this, at some point the two repos diverged from one another. This continues to create technical debt, in that one repo advances more than the other, when in reality there's no reason why it couldn't benefit from the same improvements.
There are a three options for how to architect the relationship between the repos:
A. Limited shared functionality
B. Increased shared functionality
C. Unification
2. Label management
Right now we use Github as a public platform, and then have outside code that manages state.
Using Github is a good approach for openness and standardization, however low cohesion is a risk when having external code act as a controller that manages labels and tracks issues.
This is still appropriate, but we should also strive to create transparency around label behavior and state changes.
@panges2 has a useful post on new labels on Medium, so I propose that both repos follow it, and document it within the codebase.
However, one of the major challenges right now is that issues are difficult to follow due to excess bot activity. Moreover, some of the bot activity is buggy:
These challenges apply to both labels for issues and would apply to labels for pull requests (described further in the next section)
3. Pull-request-based approach
As proposed previously (here and here), maintaining DataCap applications as in-repo code would be much better than treating Github issues as applications. For this to happen a new flow is needed where users PR a branch with their changes against the base branch.
For this to happen effectively we need the following:
Closing notes
I understand that this could seem like a lot of points, but in reality they're all inter-related and many of them could be implemented in tandem.
The benefits of many of these enhancements will be immediate, long-lasting, and help move us toward a healthier Filecoin Plus ecosystem.
Not addressing them on the other hand will almost certainly lead to more circular problems, bugs, and longer maintenance periods.
Thanks for bearing with me on this long read and let me know if you have questions or thoughts!
Beta Was this translation helpful? Give feedback.
All reactions