Skip to content

Conversation

@codelion
Copy link
Member

@codelion codelion commented Jan 28, 2026

Summary

Adds a new config option database.max_snapshot_artifacts to control how many program artifacts are included in worker process snapshots.

Before: Hardcoded limit of 100 artifacts
After: Configurable via database.max_snapshot_artifacts (default: 100)

Usage

database:
  max_snapshot_artifacts: 200  # Include up to 200 artifacts
  # max_snapshot_artifacts: null  # Unlimited (use with caution)

Notes

  • Default remains 100 for backward compatibility
  • Setting to null removes the limit entirely (use with caution for large populations as this can significantly increase memory usage and slow worker initialization)
  • This limit only affects artifacts passed to worker processes for prompt context, not the total artifacts stored
  • All program code is always available regardless of this setting
  • If you're seeing fewer artifacts than expected, also check your population_size setting - artifacts can only exist for programs in the database

Test coverage

This PR also adds comprehensive tests for recent features:

Test count increased from 264 to 326 tests.

Test plan

  • All 326 tests pass
  • Coverage improved (config.py: 93% → 95%)

Closes #383

🤖 Generated with Claude Code

Add `database.max_snapshot_artifacts` config option to control how many
program artifacts are included in worker process snapshots. Default
remains 100 for backward compatibility.

- Set to a higher number to include more artifacts in prompts
- Set to `null` (None) for unlimited artifacts (use with caution for
  large populations as this can significantly increase memory usage)

Note: This limit only affects artifacts passed to worker processes,
not the total artifacts stored. All program code is always available
regardless of this setting.

Closes #383

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
codelion and others added 2 commits January 28, 2026 12:15
Add comprehensive tests for recently merged PRs:

- test_llm_config_optional_params.py: Tests for optional temperature/top_p
  parameters (PR #385 - Anthropic model compatibility)

- test_snapshot_artifacts_limit.py: Tests for configurable max_snapshot_artifacts
  (PR #386)

- test_visualization_sanitization.py: Tests for -inf/+inf/NaN sanitization
  in visualization (PR #384)

- test_early_stopping_config.py: Tests for event-based early stopping
  configuration (PR #375)

- test_changes_description.py: Tests for large codebase support via
  changes description (PR #376)

Total tests increased from 264 to 326.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add comprehensive integration tests that verify:
- Example config files load correctly
- Initial programs have EVOLVE-BLOCK markers
- Evaluators exist and have required functions
- Evaluators can run on initial programs
- Cascade evaluation functions are detected
- Database stores and retrieves programs correctly
- Program evolution tracking works

Tests cover function_minimization, circle_packing, and signal_processing
examples, plus general structure validation for all examples.

Total tests: 346 (was 326)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@codelion codelion merged commit ad9c9c1 into main Jan 28, 2026
5 checks passed
@codelion codelion deleted the fix-configurable-artifact-limit branch January 28, 2026 04:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

How to attach more than 100 artifacts.

2 participants