Files
OpenJarvis/tests/test_system_learning.py
T
Jon Saad-FalconandClaude Opus 4.6 2aebcd7d77 feat: Phase 23 — Differentiated functionalities
Trace-driven learning pipeline:
- TrainingDataMiner: extract SFT/routing/agent pairs from traces
- LoRATrainer: fine-tune local models from trace-derived data
- AgentConfigEvolver: rewrite agent configs from trace analysis
- LearningOrchestrator: coordinate mine→train→evolve cycle, wired into SystemBuilder

Eval framework (15 real IPW benchmarks):
- Datasets: SuperGPQA, GPQA, MMLU-Pro, MATH-500, Natural Reasoning, HLE,
  SimpleQA, WildChat, IPW, GAIA, FRAMES, SWE-bench, SWEfficiency,
  TerminalBench, TerminalBench Native
- Scorers: MCQ extraction, LLM-judge, exact match, structural validation
- CLI: jarvis eval list|run|compare|report

Composable abstractions:
- Recipe system: TOML composition of all 5 pillars (3 built-in recipes)
- Agent templates: 15 pre-configured TOML manifests with system prompts
- Bundled skills: 20 ready-to-use TOML skill manifests
- Operator recipes: researcher (4h), correspondent (5min), sentinel (2h)

102 files changed, ~11,500 lines added. 3241 tests pass (44 skipped).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 05:34:46 +00:00

51 lines
2.0 KiB
Python

"""Tests for LearningOrchestrator integration with SystemBuilder."""
class TestSystemLearningIntegration:
def test_learning_orchestrator_not_created_when_disabled(self):
"""Default config has training_enabled=False, so no orchestrator."""
from openjarvis.core.config import JarvisConfig
from openjarvis.system import SystemBuilder
config = JarvisConfig()
assert config.learning.training_enabled is False
result = SystemBuilder._setup_learning_orchestrator(config)
assert result is None
def test_learning_orchestrator_created_when_enabled(self):
"""When training_enabled=True, orchestrator is created."""
from openjarvis.core.config import JarvisConfig
from openjarvis.learning.learning_orchestrator import LearningOrchestrator
from openjarvis.system import SystemBuilder
config = JarvisConfig()
config.learning.training_enabled = True
result = SystemBuilder._setup_learning_orchestrator(config)
assert isinstance(result, LearningOrchestrator)
def test_config_has_training_fields(self):
"""LearningConfig has the training pipeline fields."""
from openjarvis.core.config import LearningConfig
config = LearningConfig()
assert config.training_enabled is False
assert config.training_schedule == ""
assert config.lora_rank == 16
assert config.lora_alpha == 32
assert config.min_sft_pairs == 50
assert config.min_improvement == 0.02
def test_training_components_exported(self):
"""Learning package exports all training components."""
from openjarvis.learning import (
AgentConfigEvolver,
LearningOrchestrator,
LoRATrainer,
TrainingDataMiner,
)
assert TrainingDataMiner is not None
assert LoRATrainer is not None
assert AgentConfigEvolver is not None
assert LearningOrchestrator is not None