I'm all for exposing students to something unknown, but telling them they're doing X when it's really Y for anything longer than a single lecture ain't it.
I do agree this is a good point; trust is not something that should be simply squandered. Nevertheless, this is still a lesson that needs to be taught and so often students make it to the end without a single teacher that did.
I lived a very similar experience:
My 4th year computer science professor in software engineering assigned us a four-phase programming assignment for the semester.
My teammate and I spent several sleepless days on the first assignment, and felt some of the requirements were contradictory. Finally we reached out to the professor, and he formally clarified the requirements. We asked him, "well OK, if requirements are unclear, what are we as students supposed to DO?!?" and he answered - exactly what you did; ask the user/client for clarification. "OK, but what if we hadn't, what if we just made assumptions and built on those??". And his eyes twinkled in a gentle smile.
My team mate and I had worked in the industry as summer students at this point, and felt this was the best most realistic course university has offered - not the least because after every phase, you had to switch code with a different team and complete next phase on somebody else's (shoddy, broken, undocumented) code. This course was EXACTLY what "real world" was like - but rest of the class was trained on "Assignment 1, question 1, subquestion A", and wrote a letter of complaint to the Dean.
I understood their perspective, but boy, were they in for a surprise when they joined the workforce :)
I teach students sometimes. I briefly considered whenever I should give them such important lesson. Very briefly: my job is to teach students my specialty, not give them life lessons. Why would I deal with potentially angry students for doing something that's not obvious I'm allowed to do? Hell, it's not even obvious it that would be a "good" (career advancing) lesson.
This is generally considered a "soft skill", but it really should be a recurring part of any technical curriculum.
There are generalizations of the concept- tailoring your message to your audience in public speaking, or charitable interpretation and seeing from another's perspective in debate, but the narrow case of "interpret these requirements and identify problems with them" is a good way to demonstrate an understanding of the domain.
I just say, even with good intentions, the incentives are not aligned with teachers going too far out of line.
The rumour was that the previous years class had one engine where the ignition rotor arm wire had been replaced by section of coloured plastic which was covered in the usual grease and crap in the housing.
The instructor was looking for persistence and elimination of possibilities rather than actually solving it. But one team did. As long as you solved the others that was enough to complete the class.
One cannot argue that this is fair on the basis that it's the "real world", because all that does is reward the sloppier (middle) approach. It filters the very lazy from the average, but at the expense of the excellent.
It turned out the TA had sabotaged the experiment by putting alcohol in the bottom of the (dark glass) measurement bottle, so the measurement would be of the constant of “air with a fair amount of alcohol vapor in it”, which would give a different constant. And if you actually did the exercise, you'd get that “wrong” number, and that would be the only way to get the lab approved.