Sure, if u start impl that ideas very local and concrete - into a Client (Server) that want to communicate with others u need to make ur APPLICATION impl
into that consens
I agree with bitcoin to get the basics done - there is many impl needed - but if u start changing the consens protocol by changing code first, and break the initial design by that , ur doing wrong since u brake the consensus with base protocol code dev. Better to move these things into APPLICATION layers and keep the consensus as thin & simple as possible.
Devs write APPLICATIONS that follow initial protocol DESIGN / SPEC
What you are suggesting is unenforceable, though. If I were a developer, tell me how anyone can prevent me from writing whatever code I wanted. More to the point, why should anyone should have the right to prevent me from coding what I wanted? Bitcoin is permissionless. That's a quality no one can break. Every other aspect of the design is exactly as the users will it to be by enforcing the rules in the code they freely choose to run. You are not in a position to tell anyone they should only code things in a way that you want.
I just point out that there is such a spec for the global consensus - the White Paper
Code did follow after, and need to be on spec & honest - thats how Bitcoin & its consenus works.