Don't guess.
Copy.
Text files, unwritten rules
A Power BI project can be saved as plain text: the model in TMDL files, each page and visual in its own JSON file. That's what lets a coding agent edit a report at all. It can change 28 cards in one pass, where a person would click through each one.
The catch is the formatting. Microsoft documents the file structure, but not every formatting property: its name, where it sits, or how its value is typed. An agent that guesses writes JSON that looks right. Desktop may then ignore it, reset it on the next save, or show nothing at all.
Two paddings, one word
A card has two padding settings. One is on the General tab, for the visual's outer frame. The other is on the Visual tab, for the rounded box that holds the value. Both were set to 4 px on every side.
Predict first: does Desktop write the two settings the same way in the file?
None of these details can be worked out from the Format pane. The literal suffix is the clearest case: 4D is a decimal, 4L a whole number, and Desktop picks one per property. The only reliable source is a file Desktop has written.
So: show it once
The seed project is a small, separate Power BI project that uses the same theme as the real one. It holds a handful of example visuals and nothing else. Nobody reads it as a report. It's a reference library of settings, each made once by hand in Desktop.
Order doesn't change what a setting does. But a block copied in Desktop's order means the next Desktop save changes nothing, so the change history stays clean.
The rule, in one breath
Never let the agent guess a format. Show it once in the seed, and let it copy what Desktop wrote.
Property names, where they live, 4D or 4L, a selector or none: the seed answers all of these for certain, in one save.
Next: the seed is one of three copies, and each has its own rule.