Skip to content

fix(sdk): degrade gracefully on discovery dataset failures#58

Merged
dannysteenman merged 3 commits intomainfrom
codex/discovery-dataset-graceful-degradation
Apr 2, 2026
Merged

fix(sdk): degrade gracefully on discovery dataset failures#58
dannysteenman merged 3 commits intomainfrom
codex/discovery-dataset-graceful-degradation

Conversation

@dannysteenman
Copy link
Copy Markdown
Member

Summary

  • What changed?
    • Added stronger shared AWS throttling backoff with jitter for discovery dataset loaders.
    • Changed AWS discovery to downgrade unavailable datasets into diagnostics instead of aborting the entire run.
    • Skips discovery rules whose required datasets are unavailable and surfaces the skip reason in JSON output.
    • Improved CLI table formatting by rendering diagnostics in a dedicated table instead of mixing them into the findings table.
  • Why was this needed?
    • Large-account discovery could fail outright when a dataset such as CloudWatch Logs metric filter coverage hit AWS throttling or other recoverable service errors.
    • Users needed to see which discovery datasets and rules were skipped, and why, without losing the rest of the discovery results.

Diagram

flowchart TD
    A["Discover datasets"] --> B{"Dataset loads?"}
    B -->|success| C["Store hydrated dataset"]
    B -->|access denied / throttled / error| D["Emit dataset diagnostic"]
    D --> E["Mark dataset unavailable"]
    C --> F["Evaluate rules"]
    E --> F
    F --> G{"Rule dependencies available?"}
    G -->|yes| H["Emit findings"]
    G -->|no| I["Emit skipped-rule diagnostic"]
    H --> J["CLI output"]
    I --> J
    D --> J
Loading

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

Boundary Checks

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

@dannysteenman dannysteenman requested a review from axonstone April 1, 2026 15:00
@dannysteenman dannysteenman added the bug Something isn't working label Apr 1, 2026
@dannysteenman dannysteenman marked this pull request as ready for review April 1, 2026 15:35
@dannysteenman dannysteenman requested a review from Copilot April 1, 2026 15:36

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@dannysteenman dannysteenman merged commit 67c3b85 into main Apr 2, 2026
6 checks passed
@dannysteenman dannysteenman deleted the codex/discovery-dataset-graceful-degradation branch April 2, 2026 09:25
@github-actions github-actions bot mentioned this pull request Apr 2, 2026
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