I also think there should never be more than one source of truth for TF, but I have seen two devs fight it out in the development environment. Each add their own SNS topic with similar names, get very weirded out by how it seems to magically change as the other dev applies and deletes the first one and replaces it!
Step 1 plans, and outputs the changes to a local plan file.
Step 2 prompts for a human approval after viewing the above potential changes. Declining the approval simply ends the pipeline.
Step 3 applies step 1 using the plan file.