Operate
Day two looks like stock, with the state moves replaced by tag writes.
Rename
A moved block works as it does in stock. So does choudoufu live-mv <old> <new>, which rewrites the tofu-address tag in place. Both produce a plan
with no destroy and no create; the gauntlet’s rename stage measures that on
every estate.
Remove
Delete the block and the object is destroyed under the default policy, in an
order the cloud accepts, including untaggable children whose parents stay.
To stop managing something without destroying it, the ownership policy has a
verb for each of the four quadrants (declared or not, tagged or not), and the
threshold argument refuses a run that would delete more than you said.
Scale
Scaling a count block down and back up destroys and creates only the
instances stock would, and every survivor keeps its identity. A count pool
the configuration does not tell apart carries a third tag, tofu-slot, so
the members stay bound as the pool reorders.
Plan, review, apply
plan -out=FILE writes stock’s own plan file, and apply FILE reads it as an
approval rather than an instruction. The apply re-reads the live system,
plans against what is there now, and compares that fresh plan against the
approved one down to the values each change writes. Where they agree it
applies without asking again. Where they differ, nothing changes: it prints
The approved plan no longer matches the live system with the rows that
moved and exits 3, a status a pipeline can route back to review instead of
paging somebody.
From CI
A choudoufu pipeline is five jobs: live-check and live-plan on a pull
request, live-apply behind an approval on a push to main, live-adopt
behind an approval on a push to staging, and live-discover on a cron that
reports what carries this estate’s marker that nobody declared. Three of them
read and nothing else; the two that write stop at an approval first.
Two runs at once
There is no lock. Two concurrent applies settle at the API: each create carries its tags, the second one to arrive reads the first one’s object on its next plan, and nothing needs forcing open afterwards.