Rubric Merger for MoE Verification Layer.
Merges generated ADR rubrics with base persona evaluation dimensions and renormalizes weights (H.3.2.4).
Features:
- Merge ADR-generated rubrics with persona base dimensions
- Smart matching based on persona expertise and trigger conditions
- Weight renormalization to maintain sum = 1.0
- Configurable merge strategies (append, replace, weighted)
- Conflict resolution for overlapping dimensions
Usage: from moe_classifier.core.rubric_merger import RubricMerger, MergeStrategy
merger = RubricMerger()
merged = merger.merge_rubrics(persona, adr_rubrics)
# Or use convenience function
from moe_classifier.core import merge_persona_with_adrs
merged_persona = merge_persona_with_adrs("technical_architect", ["ADR-001", "ADR-009"])
File: rubric_merger.py
Classes
MergeStrategy
Strategy for merging rubrics with persona dimensions.
ConflictResolution
How to resolve conflicts between base and ADR dimensions.
MergeConfig
Configuration for rubric merging.
MergedDimension
A merged evaluation dimension combining base and ADR sources.
MergeResult
Result of a rubric merge operation.
RubricMerger
Merges ADR-generated rubrics with base persona evaluation dimensions.
Functions
get_default_merger()
Get or create the default RubricMerger instance.
merge_rubrics(persona_id, adr_ids, strategy)
Convenience function to merge rubrics for a persona.
merge_persona_with_adrs(persona_id, adr_ids)
Merge ADR rubrics with persona and return as dictionary.
batch_merge_all_personas(output_dir)
Merge ADR rubrics with all enabled personas.
to_dict()
Convert to dictionary.
from_persona_dimension(cls, dim)
Create from a persona EvaluationDimension.
from_adr_dimension(cls, dim, source_adr)
Create from an ADR-generated rubric dimension.
to_dict()
Convert to dictionary.
load_rubric_index()
Load the rubrics index file.
load_rubric(rubric_id)
Load a specific rubric by ID.
get_relevant_adrs(persona, adr_ids)
Get ADR rubric IDs relevant to a persona based on expertise.
merge_rubrics(persona, adr_rubric_ids, config)
Merge ADR rubrics with persona base dimensions.
save_merged_rubric(result, output_dir)
Save merged rubric to file.
priority_key(dim)
No description