Module: braid.optimizer
BRAID-aware optimizer for DSPy.
- class braid.optimizer.GRDMetrics[source]
Bases:
objectMetrics for evaluating GRD quality.
Includes both structural metrics and BRAID protocol compliance metrics: - Structural validity - Completeness - Execution traceability - Atomicity (token density) - Masking compliance - Procedural scaffolding
- static structural_validity(grd: str) float[source]
Evaluate structural validity of a GRD.
- Returns:
Score between 0.0 and 1.0 (1.0 = perfectly valid)
- static completeness(grd_structure: GRDStructure) float[source]
Evaluate completeness of a GRD (has start, end, reasonable number of steps).
- Returns:
Score between 0.0 and 1.0
- static execution_traceability(grd_structure: GRDStructure) float[source]
Evaluate how traceable/executable the GRD is.
- Returns:
Score between 0.0 and 1.0
- static atomicity_score(grd_structure: GRDStructure, max_tokens: int = 15) float[source]
Evaluate node atomicity (token density) compliance.
According to BRAID research, nano-scale models perform best when node labels contain fewer than 15 tokens.
- Parameters:
grd_structure – Parsed GRD structure
max_tokens – Maximum tokens allowed per node
- Returns:
Score between 0.0 and 1.0 (1.0 = all nodes within limit)
- static masking_compliance(grd: str) float[source]
Evaluate compliance with numerical masking protocol.
Detects potential answer leakage where computed values appear in node labels.
- Parameters:
grd – Mermaid GRD code
- Returns:
Score between 0.0 and 1.0 (1.0 = no leakage detected)
- static procedural_scaffolding_score(grd: str) float[source]
Evaluate adherence to procedural scaffolding rules.
Good GRDs describe HOW to solve, not WHAT the answer is.
- Parameters:
grd – Mermaid GRD code
- Returns:
Score between 0.0 and 1.0
- class braid.optimizer.BraidOptimizer(*args, **kwargs)[source]
Bases:
ModuleBRAID-aware optimizer for DSPy.
This optimizer extends DSPy’s optimization capabilities by: 1. Optimizing GRD generation quality 2. Optimizing step-by-step execution 3. Providing GRD-specific metrics
- __init__(base_optimizer: Module | None = None, grd_quality_weight: float = 0.5, execution_quality_weight: float = 0.5)[source]
Initialize the BRAID optimizer.
- Parameters:
base_optimizer – Base DSPy optimizer to use (e.g., MIPROv2)
grd_quality_weight – Weight for GRD quality in optimization
execution_quality_weight – Weight for execution quality in optimization
- optimize(module: BraidReasoning, trainset: List[Dict[str, Any]], metric: Callable | None = None, num_threads: int = 1) BraidReasoning[source]
Optimize a BraidReasoning module.
- Parameters:
module – The BraidReasoning module to optimize
trainset – Training examples with ‘problem’ and optionally ‘answer’ keys
metric – Optional custom metric function
num_threads – Number of threads for parallel optimization
- Returns:
Optimized BraidReasoning module
- evaluate(module: BraidReasoning, testset: List[Dict[str, Any]], metric: Callable | None = None) Dict[str, float][source]
Evaluate a BraidReasoning module on a test set.
- Parameters:
module – The BraidReasoning module to evaluate
testset – Test examples with ‘problem’ and optionally ‘answer’ keys
metric – Optional custom metric function
- Returns:
Dictionary of evaluation metrics