All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.0 - 2026-01-29
- New CLI Commands
report- Generate markdown reports from run artifacts with KPI summaries, action analysis, and determinism fingerprintscompare- Compare two simulation runs with diff analysis and threshold checkingsweep- Run scenarios with multiple seeds and generate aggregate statistics (min/max/mean/percentiles)matrix- Run scenarios with multiple variants for A/B testing and pairwise comparison
- Checkpoints and Probes
CheckpointWriterfor periodic state snapshots during simulationProbeSamplerfor custom metric collection (computed, balance, call types)- Configurable checkpoint intervals and probe sampling
- Variants System
- Define scenario variants for matrix testing
- Automatic pairwise comparison between variants
- Support for variant-specific pack and configuration overrides
- Reporting System
- Markdown report generation with time-series statistics
- Run comparison with KPI diffs and percentage changes
- Sweep reports with tail risk analysis
- Matrix reports with variant comparison tables
- Documentation
docs/concepts.md- Core concepts referencedocs/ci.md- CI/CD integration guidedocs/reporting.md- Reporting commands guide
- Example Experiments
ordering-tax- MEV ordering policy simulationtiming-auction- Auction timing advantage analysis
- Enhanced CLI Options
--output-pathfor stable naming in CI--summaryfor one-line output--toyflag for sweep command (consistency with run)
- Determinism Bug - Action ID generation now uses deterministic counter instead of
Date.now() - Type Safety - Fixed 24 type errors across matrix, sweep, report, and variants modules
- Lint Compliance - Resolved all Biome lint errors (import organization, unused variables, optional chaining)
- Artifact Formatting - JSON artifacts now include trailing newlines
- Doctor Command - Renamed filesystem check to "Temp directory" for clarity
- Improved
doctorcommand with better write access checks and summary output - Enhanced determinism tests with normalized hash comparison (excludes wall-clock fields)
0.1.0 - 2026-01-27
- Initial public release of AgentForge
- Core Simulation Framework
defineScenario()for declarative scenario configurationBaseAgentclass with memory, cooldowns, and parameter supportSimulationEnginefor orchestrating simulation lifecycle- Deterministic seeded RNG for reproducible results
- Scheduling Strategies
- Round-robin execution
- Random (shuffled) execution
- Priority-based execution
- Metrics and Analytics
- Time-series metric collection
- CSV export for analysis
- JSON summary generation
- Action logging (NDJSON format)
- Assertions System
- Post-simulation validation
- Comparison operators:
gt,gte,lt,lte,eq - CI-friendly exit codes on assertion failure
- CLI Tool (
agentforge/forge-sim)init- Initialize simulation folder structurerun- Execute scenario filesdoctor- Check environment dependenciestypes- Generate TypeScript types from Foundry artifacts
- Adapters
- Anvil adapter for local EVM simulation
- Viem client integration
- Foundry artifact parsing
- Toy Simulation Pack
ToyPackfor development and testingRandomTraderAgent- Random buy/sell decisionsMomentumAgent- Trend-following behaviorMarketMakerAgent- Spread-based market making
- Developer Experience
- Full TypeScript support with type inference
- ESM module format
- Comprehensive JSDoc documentation on core APIs
- Example scenarios in
examples/directory
- README with installation, quick start, and API reference
- CONTRIBUTING.md with development guidelines
- Example scenarios demonstrating key features