Skip to main content

What the Pipeline Does

PipelineAgentInvoker wraps any AgentInvoker with two optional upstream phases β€” project analysis and plan generation β€” before delegating to the actual agent. Each phase enriches the execution context so the agent starts with a better understanding of the project.
All phases are optional except execution. If analysis or planning fails, the pipeline logs a warning and continues β€” the agent runs with whatever context is available.

PipelineConfig

Phase 1: Project Analysis

ProjectAnalyzer performs deterministic, read-only analysis of the workspace. No AI calls, no side effects.

PomAnalyzer

The default implementation scans Maven POM files and Java source:

AnalysisEnvelope

The analysis output is an immutable record:

AnalysisStrategy

Phase 2: Plan Generation

PlanGenerator takes the analysis envelope and produces an execution roadmap. This phase may invoke an LLM.

ClaudePlanGenerator

The default implementation runs a two-phase Claude conversation:
  1. Explore β€” Claude reads the knowledge store and summarizes applicable patterns
  2. Plan β€” Claude generates a Forge-style roadmap with explicit tool commands, using the analysis envelope and explore output
The generator extracts tool recommendations from the roadmap and tracks which KB files were accessed during planning.

ExecutionPlan

Phase 3: Context Enrichment and Execution

Before calling the delegate invoker, the pipeline enriches the prompt with analysis and planning output:
  • Execution Roadmap β€” the full roadmap markdown, prepended to the prompt
  • Available Tools β€” java -jar commands for each tool in toolPaths
  • Analysis Summary β€” formatted project details (Boot version, Java version, key dependencies)
The delegate AgentInvoker receives this enriched InvocationContext and runs normally. The pipeline merges planning-phase metrics (tokens, cost, duration) into the final InvocationResult.

Wiring a Pipeline

Because PipelineAgentInvoker implements AgentInvoker, it plugs directly into AgentExperiment β€” existing experiment code works unchanged.

Graceful Degradation

Diagnostic Reasoning

Diagnose why experiments fail and generate remediation actions

Sessions and Sweeps

Group variant results and track sweep progress