@aparrish @nelson Yeah, "correctness" is something we have to approach from multiple angles.
Sometimes we look at program outputs and say, "yes, that output is right for that input".
Sometimes we read the code and say, "yes, this code is correct by construction" (e.g. we can see that control flow *cannot* pass into a sensitive region without a certain check happening).
Sometimes we can use proofs, or fuzzing, or other tools.
It feels like vibe coders are focusing on only that first type.
@aparrish @nelson A lot of programmers don't seem to understand that security is the *absence* of a feature.
Sure, features can sometimes be verified by looking at a program's behavior. But you can't use that to show that a feature is missing. The should-be-missing feature might be something like "Eve can read Alice's messages to Bob".
If vibe coders are only checking for the presence of features, then can never detect the "presence" of security.