docs(terraform): document the verbs the way the recipes actually parse them #878
No reviewers
Labels
No labels
burndown-2026-06
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure!878
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/terraform-docs-action-arg"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #874.
Every terraform stack README documented
just terraform-<stack> action=plan. The recipes take the action positionally, so the documented form never worked.Why it never worked
_lib.terraform_runreadssys.argv[1]verbatim and splices it into the command, comparing against the literal string"init"for its special case. Soaction=initdid not even reach the init branch, and every form producedterraform -chdir=... action=<verb>, which terraform rejects as an unknown subcommand.Verified, not assumed
Ran each form against a mock
terraformonPATHthat echoes its arguments:I also confirmed all five verbs route through
terraform_runbefore rewriting anything —admin-kmsandtailscalehave no local argv handling of their own, so it would have been easy to assume they differed. They do not.Scope
22 occurrences across 5 files. Prose references were included, not just the fenced blocks:
aws-inventory/README.mdandaws-public-assets/README.mdboth described "action=output" inline.The
aws-public-assetsREADME was new in #873 and inherited this by copying the sibling convention, which is the failure the convention exists to prevent. That one is mine.Not addressed here
Nothing validates a documented
justinvocation against the recipe that serves it, which is how this drifted across four stacks and then propagated into a fifth. #874 notes it; a checker that merely asserts the verb exists would not catch this class, since the verb was real and the argument shape was wrong. Left as a separate concern rather than bundled in.pre-commit run --all-filesgreen.