ruvector-domain-expansion 2.0.6

Cross-domain transfer learning engine: Rust synthesis, structured planning, tool orchestration
Documentation
# ruvector-domain-expansion

Cross-domain transfer learning engine for general problem-solving capability.

## Core Insight

> True IQ growth appears when a kernel trained on Domain 1 improves Domain 2 faster than Domain 2 alone. That is generalization.

If cost curves compress faster in each new domain, you are increasing general problem-solving capability.

## Architecture

### Two-Layer Learning

```
Policy Learning Layer (Meta Thompson Sampling)
  |
  |  TransferPrior: compact Beta posteriors per bucket/arm
  |  NOT raw trajectories. Ship priors, not memories.
  |
  v
Operator Layer (Domain Kernels)
  |
  |  Rust Synthesis | Planning | Tool Orchestration
  |  Generate tasks, evaluate solutions, produce embeddings
  |
  v
Shared Embedding Space (64-dim)
  Cross-domain similarity via cosine distance
```

### Domains

| Domain | Description | Task Types |
|--------|-------------|------------|
| **Rust Program Synthesis** | Synthesize Rust functions from specs | Transform, DataStructure, Algorithm, TypeLevel, Concurrency |
| **Structured Planning** | Multi-step plans with constraints | ResourceAllocation, DependencyScheduling, StateSpaceSearch, ConstraintSatisfaction |
| **Tool Orchestration** | Coordinate multiple tools/agents | PipelineConstruction, ErrorRecovery, ParallelCoordination, ResourceNegotiation |

### Transfer Protocol

1. Train on Domain 1, extract `TransferPrior` (posterior summaries)
2. Initialize Domain 2 with dampened priors from Domain 1
3. Measure acceleration: cycles to convergence with vs without transfer
4. **Generalization rule**: A delta is promotable only if it improves Domain 2 without regressing Domain 1

### Population-Based Policy Search

Run a population of `PolicyKernel` variants in parallel. Each variant tunes knobs:
- Skip mode policy
- Prepass mode
- Speculation trigger thresholds
- Budget allocation

Selection: keep top performers on holdouts, mutate knobs, repeat. Only merge deltas that pass replay-verify.

### Speculative Dual-Path

When posterior variance is high (top two arms within delta), run both strategies with bounded budgets. Pick the first correct, log the loser as a counterexample.

## Usage

### Rust

```rust
use ruvector_domain_expansion::{
    DomainExpansionEngine, DomainId, ArmId, ContextBucket,
};

// Create engine with 3 core domains
let mut engine = DomainExpansionEngine::new();

// Generate tasks
let tasks = engine.generate_tasks(
    &DomainId("rust_synthesis".into()),
    10,   // count
    0.5,  // difficulty
);

// Select arm via Thompson Sampling
let bucket = ContextBucket {
    difficulty_tier: "medium".into(),
    category: "algorithm".into(),
};
let arm = engine.select_arm(
    &DomainId("rust_synthesis".into()),
    &bucket,
).unwrap();

// Evaluate and record
let eval = engine.evaluate_and_record(
    &DomainId("rust_synthesis".into()),
    &tasks[0],
    &solution,
    bucket,
    arm,
);

// Transfer learning
engine.initiate_transfer(
    &DomainId("rust_synthesis".into()),
    &DomainId("structured_planning".into()),
);

// Verify generalization
let v = engine.verify_transfer(
    &DomainId("rust_synthesis".into()),
    &DomainId("structured_planning".into()),
    0.85, 0.84,  // source before/after
    0.3, 0.7,    // target before/after
    100, 40,     // baseline/transfer cycles
);
assert!(v.promotable);        // improved target without regressing source
assert!(v.acceleration_factor > 1.0);  // 2.5x faster convergence
```

### WASM (JavaScript)

```javascript
import { WasmDomainExpansionEngine } from 'ruvector-domain-expansion-wasm';

const engine = new WasmDomainExpansionEngine();

// List domains
console.log(engine.domainIds());
// ["rust_synthesis", "structured_planning", "tool_orchestration"]

// Generate tasks
const tasks = engine.generateTasks("rust_synthesis", 10, 0.5);

// Select strategy via Thompson Sampling
const arm = engine.selectArm("rust_synthesis", "medium", "algorithm");

// Check if dual-path speculation needed
if (engine.shouldSpeculate("rust_synthesis", "medium", "algorithm")) {
    // Run both strategies, pick winner
}

// Transfer priors between domains
engine.initiateTransfer("rust_synthesis", "structured_planning");

// Evolve policy kernels
engine.generateHoldouts(10, 0.5);
engine.evaluatePopulation();
engine.evolvePopulation();
console.log(engine.populationStats());

// Acceleration scoreboard
console.log(engine.scoreboardSummary());
```

## Acceptance Test

Domain 2 must converge faster than Domain 1. Measure cycles to reach:
- 95% accuracy
- Target cost per solve
- Target robustness
- Zero policy violations

```rust
use ruvector_domain_expansion::{AccelerationScoreboard, CostCurve, DomainId};

let mut board = AccelerationScoreboard::new();

// Add baseline and transfer curves
board.add_curve(baseline_curve);
board.add_curve(transfer_curve);

// Compute acceleration
let entry = board.compute_acceleration(
    &DomainId("baseline".into()),
    &DomainId("transfer".into()),
).unwrap();

assert!(entry.acceleration > 1.0);  // transfer helped
assert!(entry.generalization_passed);

// Check progressive improvement across multiple domains
assert!(board.progressive_acceleration());
```

## RVF Packaging

Transfer artifacts are designed for RVF segment packaging:

| Segment | Content | Purpose |
|---------|---------|---------|
| `TransferPrior` | Beta posteriors per bucket/arm | Seeds new domain initialization |
| `PolicyKernel` | Knob configuration + fitness history | Best policy for a domain |
| `CostCurve` | Convergence data points | Acceleration measurement |
| `WitnessChain` | Hash of derivation + holdout results | Audit trail |
| `Counterexamples` | Failed solutions per context | Negative signal for future decisions |

## Benchmarks

```bash
cargo bench -p ruvector-domain-expansion
```

Benchmarks cover:
- Task generation (per domain)
- Solution evaluation
- Embedding extraction
- Thompson Sampling arm selection
- Population evolution
- PolicyKnobs mutation
- Cost curve AUC computation
- TransferPrior extraction

## Module Structure

```
src/
  lib.rs                 -- Orchestrator: DomainExpansionEngine
  domain.rs              -- Core Domain trait, Task, Solution, Evaluation, Embedding
  rust_synthesis.rs      -- Rust program synthesis domain
  planning.rs            -- Structured planning tasks domain
  tool_orchestration.rs  -- Tool orchestration problems domain
  transfer.rs            -- Meta Thompson Sampling, TransferPrior, verification
  policy_kernel.rs       -- PolicyKernel, PopulationSearch, PolicyKnobs
  cost_curve.rs          -- CostCurve, AccelerationScoreboard
```

## Tests

49 unit tests covering all modules:

```bash
cargo test -p ruvector-domain-expansion
```

| Module | Tests |
|--------|-------|
| `domain` | 5 tests: types, embedding cosine similarity, evaluation |
| `rust_synthesis` | 5 tests: generation, evaluation, embedding, difficulty |
| `planning` | 5 tests: generation, reference, evaluation, embedding, scaling |
| `tool_orchestration` | 5 tests: generation, reference, evaluation, embedding, errors |
| `transfer` | 6 tests: Beta params, Thompson engine, prior extraction, verification |
| `policy_kernel` | 5 tests: knobs, fitness, evolution, stats, crossover |
| `cost_curve` | 5 tests: convergence, compression, AUC, acceleration, scoreboard |
| `lib` (integration) | 8 tests: engine, tasks, arms, evaluation, embedding, transfer, population |