You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/instructions/scenarios.instructions.md
+3-6Lines changed: 3 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,10 +76,7 @@ Requirements:
76
76
- All parameters keyword-only via `*` — **enforced at class-definition time** by
77
77
`Scenario.__init_subclass__` calling `enforce_keyword_only_init` (see
78
78
`pyrit/common/brick_contract.py`). Violators raise `TypeError` at
79
-
import time. Existing classes that cannot adopt the contract immediately
80
-
may opt into a one-release grace period via the class attribute
81
-
`_brick_legacy_init = True`, which downgrades the error to a
82
-
`DeprecationWarning(removed_in="0.16.0")`. The opt-out is removed in 0.16.0.
79
+
import time.
83
80
-**All constructor parameters must be optional** (default to `None`) so the registry can instantiate the scenario with no arguments for metadata introspection. Defer required-input validation to `initialize_async()` or `_build_atomic_attacks_async()`. `ScenarioRegistry._build_metadata` raises `TypeError` if `scenario_class()` cannot be called with no arguments.
84
81
-`super().__init__()` called with `version`, `strategy_class`, `default_strategy`, `default_dataset_config`, `objective_scorer`
85
82
- complex objects like `adversarial_chat` or `objective_scorer` should be passed into the constructor.
@@ -256,8 +253,8 @@ under `max_dataset_size`.
256
253
257
254
```python
258
255
AtomicAttack(
259
-
atomic_attack_name=strategy_name, #must be unique per AtomicAttack
0 commit comments