v41 walks every profile SOUL.md and deletes any "## Messaging other
agents" section on a bare heading match. A config.yaml with no
_config_version says nothing about where that SOUL text came from, so an
unstamped current config must not authorize rewriting a user-owned file;
the versioned 40->41 path is unchanged. The unversioned regression test
now seeds a user-authored section under that heading and asserts it
survives.
has_version_stamp() loses its bare except: migrate_config() already
called check_config_version(raise_on_parse_error=True) and the docker
script returns early on the (latest, latest) a parse failure yields, so
the raw read cannot fail at this point.
Co-authored-by: JoaoMarcos44 <joaomarcosdias444@gmail.com>