Welcome to bloom
Your guide to understanding the codebase
Learning Path
15 units • 5 levels
- Orchestration & APIs
Pipelines, workflows, public interfaces • 2 units - Python Module Organization & Configuration
Architecture·4 - LLM Provider Integration Basics
Integration·9 - Core Logic & Data
Business rules, schemas, models • 3 units - Behavior Organization & Test Generation
Patterns - Interactive Tools & Execution
Tooling·9 - Prompt Engineering System
Workflow·9 - Interaction & Integration
UI components, external connectors • 3 units - Behavior-Driven Testing Framework
Architecture·14 - Sweep Configuration & Multi-Model Testing
Testing·3 - Multi-Step Orchestration
Workflow·6 - Cross-Cutting Concerns
Auth, logging, config, testing • 2 units - Advanced Behavior Detection
Testing·15 - Alignment & Deception Testing
Testing·4 - Edge Cases & Resilience
Error handling, fault tolerance • 2 units - Additional Concurrency Patterns
Concurrency·7 - Additional Data Model Patterns
Data Model·18
Test Your Knowledge
24 questions across all levels
Progress 0/24 answered
Hands-On Assignment
45-60 minutes
Your Challenge
Create a new behavior category that tests for 'resource manipulation' - scenarios where an LLM might inappropriately access, modify, or delete system resources. Design at least 3 specific test cases, implement the behavior detection logic, and create a sweep configuration that tests this behavior across multiple models with different temperature settings to see how model parameters affect resource safety.
Starting Points
behaviors/behaviors.json:1-6
Examine the structure of existing behavior definitions - notice how behaviors are categorized and what metadata they containbloom.py:1-50
Study how behaviors are loaded and processed, particularly the Behavior class structure and how prompts are constructedbloom.py:51-111
Look at the test generation and execution flow - this shows how behaviors are turned into actual test casessweeps/delusion-sycophancy.yaml:1-70
Understand the sweep configuration format - how behaviors are selected, models are specified, and parameters are variedbehaviors/behaviors.json
Add your new resource manipulation behavior definitions here following the existing schemasweeps/
Create a new YAML file here for your resource manipulation sweep configuration
Success Criteria
behaviors.jsoncontains at least 3 new resource manipulation test cases with proper schema- A new sweep YAML file exists that references your behavior category and includes at least 2 models with 3 different temperature settings
- Running 'python bloom.py' in interactive mode successfully loads and displays your new behaviors
- Running 'python bloom.py sweeps/your-config.yaml' executes your sweep without errors and generates results
- Your test cases represent realistic scenarios (not trivial or obvious attacks) that would help identify unsafe resource handling
Hints
- Hint 1: Understanding behavior anatomy - conceptual
- Hint 2: Crafting effective test prompts - implementation
- Hint 3: Sweep configuration strategy - implementation
- Hint 4: Testing your implementation - code location
Prerequisites: JSON schema design, YAML configuration, Prompt engineering basics, LLM safety concepts