microsoft / microsoft/CCF

Replace `/ack` API with proposals

Open
#6,189 1 comment 1 reaction 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.