Yes, there are two errors; I try to describe them here without spoilers (for part 1, but it also applies to part 2):
a) assume the maximal scale wheigth is 6; then I could work very well with scale weights 1,2,3; but nonetheless, you would want to hear something else. So the solution itself is not unique.
b) with a mass of 2, I can measure masses 1,2,3 if I know that the maximal weigth is 3: if the scale goes left, it's 1, if it goes rigth, it's 3, and if it stands in the middle, it is 2. So by looking at directions, we get more information than intended.
So there are two changes that need to be made:
Uniqueness: every mass (smaller than the limit) is only archievable by exactly one configuration of scale weights
Exactness: one can only check for equality of weights and doesn't see which side the scale goes.
A third requirement is at least implicitely made:
Simpleness: no scale weight can be removed without making it disfunctional.
The second part speaks of an "optimal" system, which for me would include uniqueness (but not exactness).