unicode-org / message-format-wg

Developing a standard for localizable message strings
Other
232 stars 34 forks source link

[^] BALLOT: effect of selectors on subsequent placeholders #873

Closed aphillips closed 1 month ago

aphillips commented 1 month ago

Per the discussion in the 2024-08-26 teleconference (along with preceding calls on the same topic), there has been a call for voting on the preferred design of those described in the Design Document selection-declaration.md. This is an advisory vote to be used in technical discussion.

[!NOTE] The design document lists a "proposed design". Please ignore this.

[!NOTE] The design document was merged from conversation on #824 and there may be valuable discussion on that thread.

WORKING GROUP BALLOT

Please read the instructions CAREFULLY before responding.

Please carefully read the design document before responding.

Balloting Instructions

The voting methodology is single transferable vote.

The deadline is 1700 (5 PM) in the America/Los_Angeles time zone on Sunday, 1 September 2024 Votes received after the deadline will be considered at the discretion of the chair.

Ballots should be cast as an ordered list of preferred candidates using the format specified below. Do not include candidates into your ranked choices that you find unacceptable. You may indicate candidates you find unacceptable using ! as showing in the example below. Do not equate two items. The chair will treat X = Y as X > Y in all cases.

Example 1: X > Y > Z ! Q = R means:

[!IMPORTANT] Listing items as unacceptable has no effect on tallying. They are merely advisory to others in the WG.

Candidates

(A) Do nothing

(B) Require annotation of selector variables in placeholders

(C) Allow both local and input declarative selectors with immutability

(D) Allow mutable input declarative selectors

(E) Allow immutable input declarative selectors

(F) Match on variables instead of expressions

(G) Provide a #-like Feature

(H) Hybrid approach: Match may mutate, no duplicates

aphillips commented 1 month ago

(chair hat OFF)

E > F > H > C

sffc commented 1 month ago

F = E > G > H = D > C ! B > A

EDIT 9/2/24: Switched around E and F

macchiati commented 1 month ago

H > D > E > C > F ! A = B = G

On Wed, Aug 28, 2024 at 12:55 PM Shane F. Carr @.***> wrote:

E = F > G > D = H > C ! B > A

— Reply to this email directly, view it on GitHub https://github.com/unicode-org/message-format-wg/issues/873#issuecomment-2316139521, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACJLEMHBSFUZBMM6Y2NQZVLZTYTKFAVCNFSM6AAAAABNI5IBZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJWGEZTSNJSGE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

bearfriend commented 1 month ago

(observer)

F > E > H > A > D > C ! B > G

Edited 9/2/2024: Swapped F and E

eemeli commented 1 month ago

F > B > G > E ! A > H > D > C

echeran commented 1 month ago

A > F ! B = C = D = E = G = H

mihnita commented 1 month ago

F >> A > B > E > ! G = C = D = H

aphillips commented 1 month ago

I tallied the votes above using STV:

Detailed results of STV Candidates=8 Seats=3 Votes=7 Quota=1.75 Raw votes vote 1: (E) (F) (H) (C) (none) (none) (none) (none) vote 2: (E) (F) (G) (H) (D) (none) (none) (none) vote 3: (H) (D) (E) (C) (F) (none) (none) (none) vote 4: (E) (F) (H) (A) (D) (C) (none) (none) vote 5: (F) (B) (G) (E) (none) (none) (none) (none) vote 6: (A) (F) (none) (none) (none) (none) (none) (none) vote 7: (F) (A) (B) (E) (none) (none) (none) (none) Round 1 votes vote 1: (E) (F) (H) (C) vote value = 1 vote 2: (E) (F) (G) (H) (D) vote value = 1 vote 3: (H) (D) (E) (C) (F) vote value = 1 vote 4: (E) (F) (H) (A) (D) (C) vote value = 1 vote 5: (F) (B) (G) (E) vote value = 1 vote 6: (A) (F) vote value = 1 vote 7: (F) (A) (B) (E) vote value = 1 A = 1 B = 0 C = 0 D = 0 E = 3 F = 2 G = 0 H = 1 Most votes currently held by a candidate = 3. Number of candidates with the greatest number of votes = 1. E has exceeded the quota and is elected. If there are seats remaining to be filled, the surplus will now be reallocated. Round 2 votes vote 1: (F) (H) (C) vote value = 0.4166666666666667 vote 2: (F) (G) (H) (D) vote value = 0.4166666666666667 vote 3: (H) (D) (C) (F) vote value = 1 vote 4: (F) (H) (A) (D) (C) vote value = 0.4166666666666667 vote 5: (F) (B) (G) vote value = 1 vote 6: (A) (F) vote value = 1 vote 7: (F) (A) (B) vote value = 1 A = 1 B = 0 C = 0 D = 0 E = 0 F = 3.25 G = 0 H = 1 Most votes currently held by a candidate = 3.25. Number of candidates with the greatest number of votes = 1. F has exceeded the quota and is elected. If there are seats remaining to be filled, the surplus will now be reallocated. Round 3 votes vote 1: (H) (C) vote value = 0.19230769230769232 vote 2: (G) (H) (D) vote value = 0.19230769230769232 vote 3: (H) (D) (C) vote value = 1 vote 4: (H) (A) (D) (C) vote value = 0.19230769230769232 vote 5: (B) (G) vote value = 0.46153846153846156 vote 6: (A) vote value = 1 vote 7: (A) (B) vote value = 0.46153846153846156 A = 1.4615384615384617 B = 0.46153846153846156 C = 0 D = 0 E = 0 F = 0 G = 0.19230769230769232 H = 1.3846153846153846 Fewest votes won by a candidate = 0.19230769230769232. Number of candidates with the fewest votes = 1. G is eliminated. Round 4 votes vote 1: (H) vote value = 0.19230769230769232 vote 2: (H) vote value = 0.19230769230769232 vote 3: (H) vote value = 1 vote 4: (H) (A) vote value = 0.19230769230769232 vote 5: (B) vote value = 0.46153846153846156 vote 6: (A) vote value = 1 vote 7: (A) (B) vote value = 0.46153846153846156 A = 1.4615384615384617 B = 0.46153846153846156 C = 0 D = 0 E = 0 F = 0 G = 0 H = 1.5769230769230769 Fewest votes won by a candidate = 0.46153846153846156. Number of candidates with the fewest votes = 1. B is eliminated. Round 5 votes vote 1: (H) vote value = 0.19230769230769232 vote 2: (H) vote value = 0.19230769230769232 vote 3: (H) vote value = 1 vote 4: (H) (A) vote value = 0.19230769230769232 vote 5: vote value = 0.46153846153846156 vote 6: (A) vote value = 1 vote 7: (A) vote value = 0.46153846153846156 A = 1.4615384615384617 B = 0 C = 0 D = 0 E = 0 F = 0 G = 0 H = 1.5769230769230769 Fewest votes won by a candidate = 1.4615384615384617. Number of candidates with the fewest votes = 1. A is eliminated. Round 6 votes vote 1: (H) vote value = 0.19230769230769232 vote 2: (H) vote value = 0.19230769230769232 vote 3: (H) vote value = 1 vote 4: (H) vote value = 0.19230769230769232 vote 5: vote value = 0.46153846153846156 vote 6: vote value = 1 vote 7: vote value = 0.46153846153846156 A = 0 B = 0 C = 0 D = 0 E = 0 F = 0 G = 0 H = 1.5769230769230769 The election is complete and the elected candidates are (E) (F) (H).
echeran commented 1 month ago

Question about the votes: how do the vetoes factor into the voting? According to the above single transferable vote process, "the elected candidates are (E) (F) (H)". When I count the number of vetoes, I see:

aphillips commented 1 month ago

@echeran

Note this in the instructions:

Listing items as unacceptable has no effect on tallying. They are merely advisory to others in the WG.

gibson042 commented 1 month ago

F > G > E > H > A > B > D > C

sffc commented 1 month ago

@echeran's comments yesterday convinced me to rank F above E so I updated my ballot to reflect that.

I've been reading a lot about ranked choice voting and how it's often impossible to find a consensus. I've found that the Condorcet Method tends to work better than Instant Runoff Voting.

By the Condorcet Method:

* by one vote only (not a strong consensus) ** by a margin of 6 or more votes (strong consensus)

Please note that if the votes had been tallied on September 1, then E would have beat F in the head to head. There may have been a small number of other changes.

gibson042 commented 1 month ago

IIUC, that makes F the unique Condorcet winner.

aphillips commented 1 month ago

(chair hat ON)

In today's discussion (which was not an official teleconference due to quorum issues) the observation was that "F" appears to be close to a consensus. Two participants in the call had not voted, although @gibson042 has since added a vote.

@sffc Changing your vote would change the outcome of my previous tally, as does @gibson042's vote. Thanks for the pointer on Condorcet, though! That looks like a useful methodology for the future.

The methodology is not as important here, as it is the actual consensus of the WG that matters.

In the call today, we also discussed some of the syntactic details of F, particularly whether the selectors require a delimiter of some sort. The result of that discussion was general agreement that such a delimiter is not required.

[!IMPORTANT] Actual WG consensus will NOT be declared until a full teleconference (or F2F), with the next call expected to be 2024-09-09.
The actual technical choice will depend on the results of that discussion.

bearfriend commented 1 month ago

Just noting that I did also update my ballot to swap F above E just before the last update (after the deadline), as I felt like I had compromised with myself and abandoned my own stated first priority.

mradbourne commented 1 month ago

F > A > B > E ! C = D = H

aphillips commented 1 month ago

In the 2024-09-09 teleconference the working group consensus was to accept option F with the following modifications:

This would enable the (re-)addition of support for expressions in a selector in a future version of the spec, e.g. to support Option E.