Replace `/ack` API with proposals
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 876
- Forks
- 260
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 157
Description
We believe the existing `/ack` paths can be removed, and instead done in the proposal flow. Roughly:
- Remove any consideration of member activeness from the C++ code
- Add a new `ack` action, which requires no votes and always passes resolve, and updates the member's state to `Active`
- When tallying votes in the default `resolve()` function, only count members if they are `Active`
We could also make submit _any_ proposal an implicit ack, so that the proposer doesn't need to submit an `ack` action directly.
This reduces the API surface, and allows services to opt out of the ACK behaviour entirely if they wish, by removing it from their constitutions.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing `/ack` paths and the C++ proposal flow, especially the default `resolve()` vote tallying. The issue's intended completion is to replace the API with an `ack` proposal action or implicit acknowledgement, remove member-activeness handling from other C++ code, and count only `Active` members when resolving.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100