-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Problem
The RL module reports at /admin/reports/rl display experiment IDs as cryptic SHA1 hashes like 6da7b208a42c9db4cb166b294f19a41f54f03b44 instead of human-readable names that would help administrators understand what experiments are running.
Impact
- Poor user experience: Administrators cannot easily identify experiments
- Difficult maintenance: Hard to correlate reports with actual Views or content
- Reduced adoption: Technical barrier for non-developers using RL reports
- Debugging complexity: Troubleshooting experiments requires looking up hash meanings
Current Behavior
Experiment ID: 6da7b208a42c9db4cb166b294f19a41f54f03b44
Module: ai_sorting
Total Turns: 45
Desired Behavior
Experiment ID: content_recent:block_1
Module: ai_sorting
Total Turns: 45
Root Cause
The rl_experiment_registry table only stores UUIDs and module names, but no human-readable experiment names. The reports controller tries to use a decorator pattern to generate readable names, but this is unreliable and doesn't work for all use cases.
Proposed Solution
- Add
experiment_namefield torl_experiment_registrytable - Update registry interface to accept optional experiment names during registration
- Modify reports controller to display stored names with UUID fallback
- Add database update hook for existing installations
Technical Implementation
// Registry interface enhancement
public function register(string $uuid, string $module, ?string $experiment_name = NULL): void;
// Database schema addition
'experiment_name' => [
'type' => 'varchar',
'length' => 255,
'not null' => FALSE,
'description' => 'Human-readable experiment name',
]Benefits
✅ Improved UX: Clear experiment identification in admin interface
✅ Better maintenance: Easy correlation between reports and content
✅ Enhanced debugging: Meaningful names aid troubleshooting
✅ Professional appearance: Reports look polished for client presentations
This affects all modules that use the RL registry, with AI Sorting being the primary beneficiary.
🤖 Generated with Claude Code