Claim 1: Owned resources cannot fall out of plans unnoticed
When an apply crashes after the create call but before the write to state, stock tooling orphans the resource: it exists and it bills, but no plan will ever mention it again. Here the plan reads identity from the resource’s own tags, so a resource nobody remembers still walks into the next plan by name.
Clone https://github.com/INTENTIUS/choudoufu. Confirm Docker is running
(docker info) and the AWS CLI is installed. If Go is not installed,
export CHOUDOUFU_VERSION=<latest tag from
https://github.com/INTENTIUS/choudoufu/releases>. From the repo root run:
just smoke no-silent-orphans
Explain each step's verdict line to me as it prints. Then run
BREAK=1 just smoke no-silent-orphans and report the "caught" line: the
scenario creates the one shape the claim excludes and must fail to
claim it.
The steps, in the order they print:
stand the estate up- an apply builds a small VPC estate; every create call carries the two identity tags, estate and address.the crash shape- a subnet is created the way a crashed apply leaves one: real resource, tags written, recorded nowhere. Stock tooling can never see this subnet again.the next plan finds it- the forgotten subnet appears as a named plan line. Nobody re-imported it and no file remembered it; the tags did.a deleted block is the same story- a resource removed from the configuration surfaces as a destroy the same way, through the same read.applying removes them - loudly, exactly- the plan proposes exactly two destroys and the apply performs exactly two.where the machinery does not reach, it says so out loud- two of the estate’s types sit outside the sweep today, and the apply names them and the consequence up front. Degrading to a warning is allowed; silence is not.the same claim where values live in the record store- aterraform_dataresource has no cloud presence to tag, so its record lives in the record store; delete its block and it surfaces from the store’s own list. No state file or cloud is involved.teardown- the estate is destroyed to an exact count.
The BREAK=1 run creates the subnet without identity tags. That is
the one shape the claim excludes, so the scenario must refuse to claim
it.