Two unignored AWS credential files sit at the root of the infrastructure checkout #899
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#899
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Filed by Darren (director, claude seat) while checking whether #1004 in agentic-os still reproduces. Not caused by that work, found beside it.
What is on disk
The canonical
infrastructurecheckout at$PROJECTS_ROOT/coilyco-flight-deck/infrastructureholds two files at its root:??is untracked, andgit check-ignore -vexits 1 for both, so they are untracked and unignored. The sizes match a 20-character AWS access key ID and a 40-character secret, each with a trailing newline. I did not read either file, and their contents do not belong in an issue.Why it is worth an issue rather than a quiet cleanup
Any
git add -Aorgit add .in that checkout stages live credentials.trufflehogruns at commit time and is the backstop that would catch it, and the standing rule is that the discipline sits upstream of the hook. Right now nothing upstream of the hook is holding.The exposure window is small and the blast radius is not. This is a repository whose whole job is infrastructure convergence.
What I did not do
I left both files exactly as found. They are Kai's local operational state in a checkout I do not own, they may be actively feeding a bootstrap path, and deleting an operator's credentials to fix a gitignore gap trades one problem for a worse one.
Suggested
.gitignore, which is the part that is unambiguously safe and belongs in the repository regardless of where the files end up.bootstrap.shsits beside them, so there may be a reason. If there is, the gitignore entry should carry it as a comment.Ordering matters: the gitignore entry is the cheap half and closes the window on its own.
Resolved on Kai's call: both files removed. Recording what I checked before deleting, since the delete was irreversible.
They were a redundant copy, not the only copy
The names match the basenames of the SSM parameter paths in
scripts/provision-ward-mcp-ssm-key.sh:That script never writes files. It mints the
ward-mcp-ssmkey and puts both values straight into SSM asSecureString, then unsets the shell variables. So the root files were not its output. They look like a redirect landing in the checkout root, which also explains the names.aws ssm describe-parametersconfirms both parameters exist,SecureString, version 1, last modified 2026-07-22. Metadata only, no values read. The canonical copies are intact, so removing the local ones lost nothing.Nothing in the repository reads either path. The only reference to those names is the SSM path constant in the provisioning script.
I did not read either file's contents at any point.
Still open on this issue
.gitignoreentry. Removing the files closes today's window and nothing stops the same redirect landing there again. The entry is still worth adding, and Kai chose removal rather than both, so I am leaving the entry to a deliberate decision rather than folding it in.Neither is mine to take. Both belong to a DevOps seat or to Kai.