Wording in Two Bucket Exercise

I was fairly confused by the wording of the exercise. Mainly of the following sentence.

After an action, you may not arrive at a state where the starting bucket is empty and the other bucket is full.

My understanding of that sentence was that the it is referring to the starting bucket of the current action. However, the sentence is referring to the initial starting bucket. I only realized that after checking the community solutions.

Could you change the wording to make it clearer?

How would you propose wording that to be more clear?

Maybe just to add an ‘initial’. So it would read.

After an action, you may not arrive at a state where the initial starting bucket is empty and the other bucket is full.

If you want to get wordier, you could elaborate that this is the one that is supplied as a parameter in the call to the measure function of the exercise but pointing out that the sentence is referring to a single state should make it clearer.

Doesn’t “starting” mean “at the start” or “initial”? I’m not understanding what “initial” changes.

I am not a native speaker, so maybe this is obvious, but I was not clear that the starting bucket is determined by the parameter you get in the call to the program.
From reading the text my assumption was that the starting bucket was referring to the source bucket of the current action (empty bucket, fill bucket, or pour the content of one bucket into the other). So potentially the starting bucket could change with every action.

You may not reverse the starting conditions. For example, emptying the initial bucket and filling the other bucket results in an illegal state.

Is that more clear?

I’m not a native speaker either, but personally I find “starting bucket” easier to understand than “initial bucket”.
If “starting bucket” is unclear because it might refer to the starting bucket of the current action, then how about “initial starting bucket”?

I think “initial starting bucket” is clearer and should be consider.
However I do want to ask OP whether or not if they read the whole exercise, because there is a clear example later on explaining the situation quite well .

Another Example: Bucket one can hold 3 liters, and bucket two can hold up to 5 liters. You are told you must start with bucket one. So your first action is to fill bucket one. You choose to empty bucket one for your second action. For your third action, you may not fill bucket two, because this violates the third rule -- you may not end up in a state after any action where the starting bucket is empty and the other bucket is full.

I must admit I skipped the last sentence in the example. That clarifies it pretty much. My bad. However, if you want to put it into the description more prominently, I would go with “initial starting bucket”.

It sounds like the consensus is “initial starting bucket” would make the exercise easier to understand.

@wagenert Would you like to open a PR for the problem specifications repo? Would you prefer someone else, like myself, make the PR?

How about “very first bucket” instead of “initial starting bucket”? “Initial starting” feels a bit odd to me too. If it adds clarity, then I don’t mind it being odd, but maybe just rewording the sentence in general would help?

I have created a pull request for the “initial starting bucket”.

@iHiD: Further down in the description the parameter of the “initial starting bucket” is referred to as the “bucket to fill first”. Using that term would make it consistent at least.

I don’t see a PR on the problem specifications repo.

See Changed wording for two bucket exercise. by wagenert · Pull Request #2347 · exercism/problem-specifications · GitHub