Skip to content

fix(rules): retire noisy AWS cost heuristics - #166

Merged
dannysteenman merged 2 commits into
mainfrom
codex/retire-noisy-finops-rules
Aug 30, 2026
Merged

fix(rules): retire noisy AWS cost heuristics#166
dannysteenman merged 2 commits into
mainfrom
codex/retire-noisy-finops-rules

Conversation

@axonstone

Copy link
Copy Markdown
Contributor

Summary

  • Remove four AWS rules that could flag valid cost choices without usage evidence: API Gateway caching, CloudWatch metric filters, Lambda provisioned concurrency, and S3 Intelligent-Tiering.
  • Remove their unused live and static datasets, public type exports, API Gateway client dependency, and tests.
  • Keep the remaining 81-rule catalog, preset, documentation, and scanner expectations aligned.

These heuristics produced findings without proving that the flagged configuration would save money. Retiring them keeps default scans focused on findings backed by utilization or direct cost evidence.

Scope

  • cloudburn (cli)
  • @cloudburn/sdk
  • @cloudburn/rules
  • docs/community files

Release Notes

  • Added a .changeset/*.md file for published package changes
  • No published package changes in this PR

Verification

  • pnpm lint
  • pnpm typecheck
  • pnpm test
  • pnpm build
  • pnpm verify
  • pnpm docs:test

Boundary Checks

  • No engine/parser/provider logic added to @cloudburn/rules
  • CLI delegates scan logic to SDK
  • README/CONTRIBUTING/docs updated when behavior changed

Related Issues

None.

@axonstone axonstone added the bug Something isn't working label Aug 30, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 30, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-30T19:11:25.438166Z aada6d3 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@axonstone

Copy link
Copy Markdown
Contributor Author

Re: comment 5470669440

No action required: this is a review status notification, not a code finding.

@towardsthecloud-ci

Copy link
Copy Markdown

roborev: Combined Review (aada6d3)

No Medium, High, or Critical severity findings — both reviewers agree the code is clean.

Both reviewers confirm this is a safe, pure deletion of four low-value AWS cost heuristic rules (API Gateway caching, CloudWatch metric filters, Lambda provisioned concurrency, S3 Intelligent-Tiering) along with their datasets, hydrators, types, exports, and tests. No security-relevant or behavioral concerns identified.


Reviewers: 2 done | Synthesis: claude-code, 4s | Total: 2m3s

@axonstone

Copy link
Copy Markdown
Contributor Author

Re: comment 5470685309

No action required: the combined review completed without Medium, High, or Critical findings.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: aada6d3791

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/rules/src/aws/index.ts
Comment on lines 194 to 197
const awsDiscoveryDatasetRegistry: {
[K in DiscoveryDatasetKey]: AwsDiscoveryDatasetDefinition<K>;
} = {
'aws-apigateway-stages': {
datasetKey: 'aws-apigateway-stages',
resourceTypes: ['apigateway:restapis/stages'],
service: 'apigateway',
load: hydrateAwsApiGatewayStages,
toEvaluationResources: (stages) => mapEvaluationResources(stages, (stage) => stage.stageArn),
},
'aws-cloudtrail-trails': {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Remove the retired API Gateway permission from docs

After removing the API Gateway dataset, hydrator, client factory, and dependency, live discovery no longer makes GetStage calls, but docs/architecture/sdk.md:113 still tells operators that scans require apigateway:GetStage. This leaves the documented operational IAM requirements inconsistent with the implementation and can cause users to retain unnecessary access; update that permission list in the same change.

AGENTS.md reference: AGENTS.md:L23-L25

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed in be008c8. Removed apigateway:GetStage from the live-discovery IAM permission reference so the documented access matches the remaining hydrators.

Comment thread packages/sdk/src/index.ts
@dannysteenman
dannysteenman merged commit 783e67c into main Aug 30, 2026
6 of 7 checks passed
@dannysteenman
dannysteenman deleted the codex/retire-noisy-finops-rules branch August 30, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants