Welcome to bloom
Your guide to understanding the codebase
Learning Path
15 units • 5 levels
5 levels - 15 learning units
Orchestration & APIs
- Pipelines, workflows, public interfaces • 2 units
Python Module Organization & Configuration
- Architecture • 4 units
LLM Provider Integration Basics
- Integration • 9 units
Core Logic & Data
- Business rules, schemas, models • 3 units
Behavior Organization & Test Generation
- Patterns • Interactive Tools & Execution • Tooling • 9 units
Prompt Engineering System
- Workflow • 9 units
Interaction & Integration
- UI components, external connectors • 3 units
Behavior-Driven Testing Framework
- Architecture • 14 units
Sweep Configuration & Multi-Model Testing
- Testing • 3 units
Multi-Step Orchestration
- Workflow • 6 units
Cross-Cutting Concerns
- Auth, logging, config, testing • 2 units
Advanced Behavior Detection
- Testing • 15 units
Alignment & Deception Testing
- Testing • 4 units
Edge Cases & Resilience
- Error handling, fault tolerance • 2 units
Additional Concurrency Patterns
- Concurrency • 7 units
Additional Data Model Patterns
- Data Model • 18 units
Test Your Knowledge
24 questions across all levels
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 contain.bloom.py:1-50
Study how behaviors are loaded and processed, particularly the Behavior class structure and how prompts are constructed.bloom.py:51-111
Look at the test generation and execution flow - this shows how behaviors are turned into actual test cases.sweeps/delusion-sycophancy.yaml:1-70
Understand the sweep configuration format - how behaviors are selected, models are specified, and parameters are varied.behaviors/behaviors.json
Add your new resource manipulation behavior definitions here following the existing schema.sweeps/
Create a new YAML file here for your resource manipulation sweep configuration.
Success Criteria
- behaviors.json contains 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 concept
- Hint 2: Crafting effective test prompts
- Hint 3: Sweep configuration strategy
- Hint 4: Testing your implementation
Prerequisites
JSON schema design, YAML configuration, Prompt engineering basics, LLM safety concepts.