Skip to content

Reports show cryptic SHA1 hashes instead of human-readable experiment names #10

@jjroelofs

Description

@jjroelofs

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

  1. Add experiment_name field to rl_experiment_registry table
  2. Update registry interface to accept optional experiment names during registration
  3. Modify reports controller to display stored names with UUID fallback
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions