Skip to content

fix(ci): drop the leftover trufflehog step — the estate retired it for gitleaks - #32

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/drop-retired-trufflehog
Aug 5, 2026
Merged

fix(ci): drop the leftover trufflehog step — the estate retired it for gitleaks#32
hyperpolymath merged 1 commit into
mainfrom
fix/drop-retired-trufflehog

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

quality.yml carries a trufflehog step that the estate already decided against.

The standards secret-scanner reusable records the ruling in its own header:

"Rationale for gitleaks over trufflehog: … Trufflehog was removed as redundant; gitleaks catches what we need"
"Trufflehog removed: gitleaks provides sufficient coverage at lower cost."

So this is not a coverage trade-off. It is a straggler from before that decision — usually carrying continue-on-error: true, so it sits inside a check it cannot fail, duplicating a scanner that was deliberately dropped.

Removing it loses nothing

This repo keeps gitleaks-backed scanning, and the sweep re-verified that from this checkout before touching anything. Repos where trufflehog is the only leak scanner were deliberately excluded — 33 of them estate-wide — because they need gitleaks added, which is a different change and must not be disguised as this one.

Gitleaks is also the stronger scan here: it runs over the whole working tree with --no-git and exits non-zero on a finding, whereas this step scanned base..head. A diff is narrower than the tree.

Estate coverage, measured

Across 364 repositories with workflows (60 more have none at all):

count
gitleaks only 170 (47%) correct
trufflehog and gitleaks 73 (20%) this PR's category — straggler removal
trufflehog only 33 (9%) must gain gitleaks first — excluded here
neither 88 (24%) no leak scanning at all

A note on the lockfile edit

The actions.lock entry is removed by indentation-aware traversal, not a line filter.

A line filter deletes the dependency key but leaves its four indented children, which YAML then attaches to the preceding dependency. The file still parses as valid YAML — the only symptom is every lockfile-checked gate failing startup_failure with no explanation. That happened once already in this campaign, on three repos at once, and is why this sweep asserts every remaining dependency still carries its own commit field before committing.

Found during the 2026-08-05 estate CI/CD census.

🤖 Generated with Claude Code

…r gitleaks

quality.yml carries a trufflehog step that the estate already decided against.
The standards secret-scanner reusable records the ruling in its own header:

  "Rationale for gitleaks over trufflehog: ... Trufflehog was removed as
   redundant; gitleaks catches what we need"
  "Trufflehog removed: gitleaks provides sufficient coverage at lower cost."

So this is not a coverage trade-off. It is a straggler from before that
decision — usually carrying continue-on-error, so it sits inside a check it
cannot fail, duplicating a scanner that was deliberately dropped.

Removing it loses nothing. This repo keeps gitleaks-backed scanning, which
the sweep re-verified from this checkout before touching anything: repos
where trufflehog is the ONLY leak scanner were deliberately excluded and
need gitleaks ADDED instead, which is a separate change.

Gitleaks is also the stronger scan here. It runs over the whole working tree
with --no-git and exits non-zero on a finding, where this step passed
base..head — a diff is narrower than the tree.

The lockfile entry is removed by indentation-aware traversal rather than a
line filter. A line filter deletes the dependency key but leaves its indented
children, which YAML then attaches to the PRECEDING dependency. The file
still parses; the only symptom is every lockfile-checked gate failing with no
explanation. That happened once already in this campaign.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@sonarqubecloud

sonarqubecloud Bot commented Aug 5, 2026

Copy link
Copy Markdown

@gitar-bot

gitar-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

Note

Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime.
Learn more

Code Review ✅ Approved

Removes the obsolete trufflehog step from quality.yml since the estate has transitioned to gitleaks. No issues found.

Auto-approved and auto-merge armed: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria. — merges when pipeline and required approvals pass.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Important

Your trial ends in 5 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

@gitar-bot

gitar-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

⚠️ Gitar auto-approved this PR but could not enable auto-merge: auto-merge is disabled for this repository — enable "Allow auto-merge" in the repository settings.

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR and enabled auto-merge (configure)

@gitar-bot gitar-bot Bot added the gitar-approved Added by Gitar label Aug 5, 2026
@hyperpolymath
hyperpolymath merged commit 015bb00 into main Aug 5, 2026
41 of 45 checks passed
@hyperpolymath
hyperpolymath deleted the fix/drop-retired-trufflehog branch August 5, 2026 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approved Added by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant