-
-
Notifications
You must be signed in to change notification settings - Fork 653
chore: retire pandamonium #5122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
TestGru AssignmentSummary
Files
Tip You can |
📝 WalkthroughWalkthroughThis change set removes all code, documentation, configuration, tests, and UI elements related to the "Pandamonium" red teaming strategy from the project. The deletion encompasses the provider implementation, strategy logic, metadata, configuration schema entries, UI components, and related documentation. All references to "Pandamonium" are eliminated from source files, constants, sidebars, and test suites. The removal also includes the provider registration, strategy arrays, and associated test and utility files, ensuring that the "Pandamonium" strategy is no longer available or referenced anywhere in the codebase or documentation. Estimated code review effort🎯 4 (Complex) | ⏱️ ~40 minutes
Suggested reviewers
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. ✨ Finishing Touches
🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (21)
site/docs/_shared/data/strategies.ts
(0 hunks)site/docs/red-team/strategies/pandamonium.md
(0 hunks)site/sidebars.js
(0 hunks)site/static/config-schema.json
(1 hunks)src/app/src/pages/redteam/setup/components/StrategyConfigDialog.tsx
(0 hunks)src/app/src/pages/redteam/setup/components/strategies/StrategyItem.test.tsx
(0 hunks)src/app/src/pages/redteam/setup/components/strategies/StrategyItem.tsx
(0 hunks)src/app/src/pages/redteam/setup/components/strategies/utils.ts
(0 hunks)src/evaluator.ts
(0 hunks)src/providers/registry.ts
(0 hunks)src/redteam/constants/frameworks.ts
(0 hunks)src/redteam/constants/metadata.ts
(0 hunks)src/redteam/constants/strategies.ts
(0 hunks)src/redteam/providers/pandamonium.ts
(0 hunks)src/redteam/strategies/index.ts
(0 hunks)src/redteam/strategies/pandamonium.ts
(0 hunks)src/types/index.ts
(0 hunks)test/providers/registry.test.ts
(0 hunks)test/redteam/constants/strategies.test.ts
(0 hunks)test/redteam/providers/pandamonium.test.ts
(0 hunks)test/redteam/strategies/strategyId.test.ts
(0 hunks)
💤 Files with no reviewable changes (20)
- test/redteam/strategies/strategyId.test.ts
- src/app/src/pages/redteam/setup/components/strategies/StrategyItem.tsx
- site/sidebars.js
- src/app/src/pages/redteam/setup/components/strategies/utils.ts
- site/docs/_shared/data/strategies.ts
- src/redteam/constants/frameworks.ts
- src/types/index.ts
- src/app/src/pages/redteam/setup/components/StrategyConfigDialog.tsx
- src/app/src/pages/redteam/setup/components/strategies/StrategyItem.test.tsx
- test/redteam/constants/strategies.test.ts
- src/evaluator.ts
- site/docs/red-team/strategies/pandamonium.md
- src/redteam/strategies/pandamonium.ts
- test/providers/registry.test.ts
- src/providers/registry.ts
- src/redteam/constants/strategies.ts
- src/redteam/strategies/index.ts
- test/redteam/providers/pandamonium.test.ts
- src/redteam/constants/metadata.ts
- src/redteam/providers/pandamonium.ts
🧰 Additional context used
📓 Path-based instructions (2)
{site/**,examples/**}
📄 CodeRabbit Inference Engine (.cursor/rules/gh-cli-workflow.mdc)
Any pull request that only touches files in 'site/' or 'examples/' directories must use the 'docs:' prefix in the PR title, not 'feat:' or 'fix:'
Files:
site/static/config-schema.json
site/**
📄 CodeRabbit Inference Engine (.cursor/rules/gh-cli-workflow.mdc)
If the change is a feature, update the relevant documentation under 'site/'
Files:
site/static/config-schema.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
- GitHub Check: webui tests
- GitHub Check: Share Test
- GitHub Check: Test on Node 20.x and windows-latest
- GitHub Check: Test on Node 20.x and macOS-latest
- GitHub Check: Redteam Custom Enterprise Server
- GitHub Check: Redteam
- GitHub Check: Test on Node 24.x and ubuntu-latest
- GitHub Check: Test on Node 22.x and macOS-latest
- GitHub Check: Test on Node 24.x and macOS-latest
- GitHub Check: Test on Node 18.x and macOS-latest
- GitHub Check: Test on Node 18.x and windows-latest
- GitHub Check: Test on Node 20.x and ubuntu-latest
- GitHub Check: Test on Node 22.x and ubuntu-latest
- GitHub Check: Test on Node 18.x and ubuntu-latest
- GitHub Check: Build on Node 22.x
- GitHub Check: Build Docs
- GitHub Check: Build on Node 20.x
- GitHub Check: Build on Node 18.x
- GitHub Check: Build on Node 24.x
- GitHub Check: Analyze (javascript-typescript)
"description": "Strategies to use for redteam generation.\n\nDefaults to basic, jailbreak, jailbreak:composite\nSupports audio, base64, basic, best-of-n, camelcase, citation, crescendo, custom, default, emoji, gcg, goat, hex, homoglyph, image, jailbreak, jailbreak:composite, jailbreak:likert, jailbreak:tree, leetspeak, math-prompt, mischievous-user, morse, multilingual, other-encodings, piglatin, prompt-injection, retry, rot13, video", | ||
"default": ["default"] | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Description–default mismatch: default property ≠ described defaults
The description
still states that basic, jailbreak, jailbreak:composite are the defaults, yet the "default"
value declared two dozen lines above is ["default"]
. Either:
- Update the description to reflect that the sole default is
"default"
(which the codebase later expands internally), or - Change the
"default"
array at Line 1474 to["basic", "jailbreak", "jailbreak:composite"]
.
Diff for option 1 (minimal):
-Defaults to basic, jailbreak, jailbreak:composite
+Defaults to "default" (which internally expands to basic, jailbreak, and jailbreak:composite)
Keeping schema docs accurate prevents confusion for integrators and tooling that rely on the JSON-schema comments.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
"description": "Strategies to use for redteam generation.\n\nDefaults to basic, jailbreak, jailbreak:composite\nSupports audio, base64, basic, best-of-n, camelcase, citation, crescendo, custom, default, emoji, gcg, goat, hex, homoglyph, image, jailbreak, jailbreak:composite, jailbreak:likert, jailbreak:tree, leetspeak, math-prompt, mischievous-user, morse, multilingual, other-encodings, piglatin, prompt-injection, retry, rot13, video", | |
"default": ["default"] | |
}, | |
"description": "Strategies to use for redteam generation.\n\nDefaults to \"default\" (which internally expands to basic, jailbreak, and jailbreak:composite)\nSupports audio, base64, basic, best-of-n, camelcase, citation, crescendo, custom, default, emoji, gcg, goat, hex, homoglyph, image, jailbreak, jailbreak:composite, jailbreak:likert, jailbreak:tree, leetspeak, math-prompt, mischievous-user, morse, multilingual, other-encodings, piglatin, prompt-injection, retry, rot13, video", | |
"default": ["default"] |
🤖 Prompt for AI Agents
In site/static/config-schema.json around lines 1542 to 1544, the description of
default strategies lists "basic, jailbreak, jailbreak:composite" as defaults,
but the actual "default" property set earlier is ["default"]. To fix this
mismatch, either update the description to state that the sole default is
"default" or change the "default" property at line 1474 to ["basic",
"jailbreak", "jailbreak:composite"] so it matches the description. Choose one
approach and ensure both the description and default property are consistent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens when someone specifies this in a config? Would be great to look at the PRs that introduced this and see if any other simplifications can be made. I remember modifying a few types.
@@ -148,7 +148,6 @@ export interface RunEvalOptions { | |||
registers?: EvalRegisters; | |||
isRedteam: boolean; | |||
|
|||
// Used by pandamonium, this should never be passed to callApi, it could be a massive object that will break the stack | |||
allTests?: RunEvalOptions[]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we still need these?
No description provided.