Skip to content

Latest commit

 

History

History
2318 lines (1463 loc) · 102 KB

File metadata and controls

2318 lines (1463 loc) · 102 KB

CHANGELOG

v2.3.0 (2026-04-21)

Bug Fixes

  • Improve error handling in cost-profile-pyspy target for py-spy profiling (197ff7c)

Chores

  • Update uv.lock for version 2.2.0 (2b4ee2b)

Features

  • Add Wily file reporting and improve py-spy error handling (b4fa83b)

feat: add Wily file reporting and improve py-spy error handling

  • Add Wily file reporting targets and update documentation for custom file usage (53e5850)

v2.2.0 (2026-04-21)

Bug Fixes

  • Add permissions block to code-cost workflow (39e0681)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/5633ad91-543d-4dac-927d-66e9abe79ef4

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Add pipefail to radon MI step to prevent masking exit status (c578209)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/be1c7929-9610-4c66-acb8-7c32947dfc27

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address review feedback — real workload, wily/pyRAPL deps, CI gates, workflow notebook (6fb80b0)

  • scripts/measure_energy.py: use actual coleman experiment run instead of toy example - pyproject.toml: add wily and pyRAPL as dev dependencies (no longer optional) - docs/code-cost.md: mark Wily and pyRAPL as included; document dual CI gates - .github/workflows/code-cost.yml: enforce Radon MI threshold (fail if any module < A); Xenon remains primary gate; CC report runs always for visibility - docs/workflow.py: add code cost evaluation section to e2e workflow notebook - Makefile: add cost-wily target

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/4507e4d5-5347-46d9-9ccd-3e405b276ef8

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Apply review feedback — sys.executable, clean returns, script path, docs (92888ba)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/e234b086-5883-4d02-993b-849c90699f90

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Apply review suggestions — pin Python 3.14, handle radon errors, try/finally tracker, lowercase pyrapl (bd23c00)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/2ee4097d-694c-4fe1-a8bb-31d5df86aaca

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Correct spelling of 'analysing' to 'analyzing' in workflow.md (9d48ce0)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/3186cde3-5a74-4e14-97a0-8f89d82d04c1

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Enforce MI threshold in cost-maintainability target to match CI (bbd0d83)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/99984111-1110-4745-a017-1044a8721aa2

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Parse radon MI JSON defensively and fix workflow.md comment (ebdd696)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/774bf8da-1e43-45c4-b066-9442d24b9837

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Pin checkout hash, add docs-export-workflow target, update README and CONTRIBUTING with code cost (0259972)

  • Use commit hash (de0fac2e) for actions/checkout in code-cost.yml - Add make docs-export-workflow to auto-generate workflow.md from marimo notebook - Add Code Cost Evaluation section to README.md (CI gates + make targets) - Add Code Cost Evaluation section to CONTRIBUTING.md (local checks + CI thresholds)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/589c0583-815d-4ede-9ca4-873ec3e219c5

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Prevent partial mi_scores on unexpected radon format (5df95bf)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/774bf8da-1e43-45c4-b066-9442d24b9837

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Render workflow as markdown in Zensical instead of downloading .py (35736ee)

Zensical's Rust-based renderer doesn't execute Python plugins like mkdocs-jupyter, so .py/.ipynb nav entries were served as raw downloads.

  • Add docs/workflow.md with all notebook content rendered as markdown - Update zensical.toml nav to point to workflow.md - Keep docs/workflow.py for interactive marimo use (marimo edit docs/workflow.py)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/3186cde3-5a74-4e14-97a0-8f89d82d04c1

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Show actual radon error instead of always suggesting install (0f5df34)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/702ef268-24b6-4518-8a18-90dcde34ed83

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Use make commands in CI and fix scalene/pyspy/pyRAPL docs (b307fc4)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/c04883f1-dfd1-49a5-a736-8b125de5c03f

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Chores

  • Update uv.lock for version 2.1.0 (d488102)

  • deps: Bump actions/github-script from 8.0.0 to 9.0.0 in /.github/workflows (66163b9)

chore(deps): bump actions/github-script from 8.0.0 to 9.0.0 in /.github/workflows

  • deps: Bump actions/github-script in /.github/workflows (437e77d)

Bumps actions/github-script from 8.0.0 to 9.0.0. - Release notes - Commits

--- updated-dependencies: - dependency-name: actions/github-script dependency-version: 9.0.0

dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump codelytv/pr-size-labeler from 1.10.3 to 1.10.4 in /.github/workflows (cf2339d)

chore(deps): bump codelytv/pr-size-labeler from 1.10.3 to 1.10.4 in /.github/workflows

  • deps: Bump codelytv/pr-size-labeler in /.github/workflows (877b425)

Bumps codelytv/pr-size-labeler from 1.10.3 to 1.10.4.

--- updated-dependencies: - dependency-name: codelytv/pr-size-labeler dependency-version: 1.10.4

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump marimo from 0.22.5 to 0.23.0 in the uv group across 1 directory (53ec0f6)

chore(deps): bump marimo from 0.22.5 to 0.23.0 in the uv group across 1 directory

  • deps: Bump marimo in the uv group across 1 directory (36032db)

Bumps the uv group with 1 update in the / directory: marimo.

Updates marimo from 0.22.5 to 0.23.0 - Release notes - Commits

--- updated-dependencies: - dependency-name: marimo dependency-version: 0.23.0

dependency-type: direct:production

dependency-group: uv

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump opentelemetry-api from 1.40.0 to 1.41.0 (ac33be3)

chore(deps): bump opentelemetry-api from 1.40.0 to 1.41.0

  • deps: Bump opentelemetry-api from 1.40.0 to 1.41.0 (713cc09)

Bumps opentelemetry-api from 1.40.0 to 1.41.0. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: opentelemetry-api dependency-version: 1.41.0

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump opentelemetry-exporter-otlp-proto-http (f37d837)

Bumps opentelemetry-exporter-otlp-proto-http from 1.40.0 to 1.41.0. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: opentelemetry-exporter-otlp-proto-http dependency-version: 1.41.0

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump opentelemetry-exporter-otlp-proto-http from 1.40.0 to 1.41.0 (dd83903)

chore(deps): bump opentelemetry-exporter-otlp-proto-http from 1.40.0 to 1.41.0

  • deps: Bump pytest from 9.0.2 to 9.0.3 (78ae841)

chore(deps): bump pytest from 9.0.2 to 9.0.3

  • deps: Bump pytest from 9.0.2 to 9.0.3 (7b4b47c)

Bumps pytest from 9.0.2 to 9.0.3. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.3

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

Code Style

  • Simplify json import alias in module-level _parse_radon_mi (4001905)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/f3aacc22-849a-4932-b2cc-eee7d1b419ae

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Documentation

  • Add example outputs and explanations to code-cost.md; fix scalene command; add cost-raw and cost-profile-pyspy make targets (584aab2)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/97882284-249d-4885-9cca-adb64e37ad30

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Features

  • Add force_sequential_under_scalene option for Scalene profiling stability (aca6e74)

  • Add Python 3.13 profiling workflow with py-spy in Makefile and update documentation (29ad762)

  • Establish code cost evaluation workflow (5fbd76b)

feat: establish code cost evaluation workflow

  • Establish code cost evaluation workflow (0fa954e)

Add radon, xenon, scalene, py-spy, and codecarbon as dev dependencies. Create scripts/measure_energy.py for energy estimation. Add GitHub Actions workflow for Xenon structural checks. Add Makefile targets for cost-structural, cost-complexity, cost-maintainability, cost-xenon, cost-profile-scalene, and cost-energy. Create docs/code-cost.md documenting all cost dimensions. Update .gitignore for CodeCarbon output files.

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/5633ad91-543d-4dac-927d-66e9abe79ef4

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Refactoring

  • Move _parse_radon_mi to module level to reduce cell cognitive complexity to ≤15 (062a2f8)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/f3aacc22-849a-4932-b2cc-eee7d1b419ae

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Reduce cognitive complexity in workflow.py structural cost cell (82126d8)

  • Extract MI parsing into local _parse_radon_mi helper function - Extract nested conditional expression into mi_passed variable and if/elif/else chain for mi_status - Extract xenon_status for consistency

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/312e716b-c96a-434b-b9d6-ab82002fe0c6

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Simplify getattr and remove overly generic error token (6ddf59c)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/702ef268-24b6-4518-8a18-90dcde34ed83

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

v2.1.0 (2026-04-12)

Bug Fixes

  • Address code review feedback - use ValidationError, add durationUnit comment (87fa20f)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/341b9eed-a788-4671-8ae7-a61fd4d887b2

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address review feedback - Field(default_factory), service.name priority, pin plugin version, telemetry extra (1615e56)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/14da71b3-b350-4a22-aa27-32fab51710e0

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Always install Grafana ClickHouse plugin by default for devcontainer compatibility (7c8e683)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/8bbe7f0f-52dd-45f9-8c53-c3063dded884

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Gate GF_INSTALL_PLUGINS behind env var so base stack works offline (4106f19)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/c15c7cfa-0491-4096-8349-c1e21f13e5d8

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Chores

  • Update uv.lock for version 2.0.0 (ecc00b4)

  • deps: Bump actions/deploy-pages from 4.0.5 to 5.0.0 in /.github/workflows (1067d49)

chore(deps): bump actions/deploy-pages from 4.0.5 to 5.0.0 in /.github/workflows

  • deps: Bump actions/deploy-pages in /.github/workflows (edb79c8)

Bumps actions/deploy-pages from 4.0.5 to 5.0.0. - Release notes - Commits

--- updated-dependencies: - dependency-name: actions/deploy-pages dependency-version: 5.0.0

dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump anchore/sbom-action from 0.23.1 to 0.24.0 in /.github/workflows (dc2e26b)

chore(deps): bump anchore/sbom-action from 0.23.1 to 0.24.0 in /.github/workflows

  • deps: Bump anchore/sbom-action in /.github/workflows (67706c4)

Bumps anchore/sbom-action from 0.23.1 to 0.24.0. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: anchore/sbom-action dependency-version: 0.24.0

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump codecov/codecov-action from 5.5.3 to 6.0.0 in /.github/workflows (993b3f4)

chore(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 in /.github/workflows

  • deps: Bump codecov/codecov-action in /.github/workflows (ef6ebee)

Bumps codecov/codecov-action from 5.5.3 to 6.0.0. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: 6.0.0

dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump marimo from 0.20.4 to 0.21.1 (812bc40)

chore(deps): bump marimo from 0.20.4 to 0.21.1

  • deps: Bump marimo from 0.20.4 to 0.21.1 (c190fde)

Bumps marimo from 0.20.4 to 0.21.1. - Release notes - Commits

--- updated-dependencies: - dependency-name: marimo dependency-version: 0.21.1

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump mkdocs-jupyter from 0.25.1 to 0.26.1 (f4aff74)

chore(deps): bump mkdocs-jupyter from 0.25.1 to 0.26.1

  • deps: Bump mkdocs-jupyter from 0.25.1 to 0.26.1 (aa1751b)

Bumps mkdocs-jupyter from 0.25.1 to 0.26.1. - Changelog - Commits

--- updated-dependencies: - dependency-name: mkdocs-jupyter dependency-version: 0.26.1

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pytest-cov from 7.0.0 to 7.1.0 (e4e0b4a)

chore(deps): bump pytest-cov from 7.0.0 to 7.1.0

  • deps: Bump pytest-cov from 7.0.0 to 7.1.0 (64dd1a9)

Bumps pytest-cov from 7.0.0 to 7.1.0. - Changelog - Commits

--- updated-dependencies: - dependency-name: pytest-cov dependency-version: 7.1.0

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory (8f6b5d8)

chore(deps): bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory

  • deps: Bump requests in the uv group across 1 directory (df1f5ab)

Bumps the uv group with 1 update in the / directory: requests.

Updates requests from 2.32.5 to 2.33.0 - Release notes

--- updated-dependencies: - dependency-name: requests dependency-version: 2.33.0

dependency-type: indirect

dependency-group: uv

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump ruff from 0.15.7 to 0.15.8 (400ae30)

chore(deps): bump ruff from 0.15.7 to 0.15.8

  • deps: Bump ruff from 0.15.7 to 0.15.8 (169f867)

Bumps ruff from 0.15.7 to 0.15.8. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: ruff dependency-version: 0.15.8

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump sigstore/gh-action-sigstore-python (f81a54b)

Bumps sigstore/gh-action-sigstore-python from 3.2.0 to 3.3.0. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: sigstore/gh-action-sigstore-python dependency-version: 3.3.0

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump sigstore/gh-action-sigstore-python from 3.2.0 to 3.3.0 in /.github/workflows (a399392)

chore(deps): bump sigstore/gh-action-sigstore-python from 3.2.0 to 3.3.0 in /.github/workflows

Features

  • Enable optional ClickHouse backend for OpenTelemetry + Grafana ClickHouse datasource (f2cd059)

feat: enable optional ClickHouse backend for OpenTelemetry + Grafana ClickHouse datasource

  • Enable optional ClickHouse backend for OTel telemetry + Grafana datasource (8cf2a78)

  • Create otel-collector-config-clickhouse.yaml with ClickHouse exporter for metrics, traces, and logs pipelines - Update docker-compose.yaml to support config file selection via OTEL_COLLECTOR_CONFIG env var and install Grafana ClickHouse plugin - Provision ClickHouse datasource in Grafana with logs/traces config for Explore correlation workflows - Add resource_attributes parameter to Telemetry and get_telemetry() for passing execution_id/run_id as OTel resource attributes - Add resource_attributes field to TelemetrySpec model - Pass resource_attributes from Environment to get_telemetry() - Update observability README with ClickHouse mode documentation - Add tests for new resource_attributes functionality - Update golden run_id hash for new TelemetrySpec schema

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/341b9eed-a788-4671-8ae7-a61fd4d887b2

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

v2.0.0 (2026-04-08)

Bug Fixes

  • Accumulate --grid flags in CLI and apply execution.seed to RNG (497b5f3)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/6da72e77-e7fa-40f1-b8f0-088c405c5e50

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address all review comments from PR #144 (61276bc)

  • Add seed: int | None = None to ExecutionSpec so sweep seed replication is preserved - Fix _set_nested() to validate non-dict intermediates with clear ValueError - Fix resolve_packs() to not mutate caller's dict (shallow copy before pop) - Validate equal-length params for zip mode in sweep engine (strict=True) - Fix run_id docstring to remove inaccurate "deterministic float formatting" claim - Add golden constant (ddd8bbefa143) to test_golden_determinism - Use pathlib.Path in run() instead of string concatenation - Guard run_many() against duplicate run_ids in parallel mode - Improve test_seed_replication to verify seeds are preserved and affect run_id - Add tests: _set_nested non-dict error, zip unequal lengths, resolve_packs immutability

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/082bbecc-0e54-462c-b866-8cbe5da870c0

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Correct spelling 'expend' → 'spent' in runner.py log message (2881a65)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/7ccd72b1-d1d6-49f2-950f-39414e092ac2

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Default ExperimentSpec.policies to ["Random"] only — parametric policies require algorithm config from packs (a5d47b7)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/445a1d09-34a2-4cbe-8a66-f89a41f8abe1

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Forbid extra fields on fixed specs, resolve packs_dir from config path, seed RNG in test (4f33366)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/7aba7bf9-535d-409d-86b1-f92b285330b4

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Per-run output paths, validate packs type, use AlgorithmSpec in RunSpec (1c64a94)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/cb1ca8a9-e092-4c6f-bd1a-3cc79525ce85

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Update assertion in FRRMABPolicy test to use np.isclose for value estimates (1dff590)

  • Use pydantic.ValidationError instead of bare Exception in test (59c800f)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/c8df2a47-27c5-4b1e-9538-917d3e4a900d

  • Use tmp_path for safe temp dirs and pytest.approx for float comparisons in spec tests (4b77a0e)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/5a4067d7-2b86-4213-963c-2f05e23fbbfe

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Chores

  • Update uv.lock for version 1.2.0 (233c2fa)

  • deps: Bump anchore/sbom-action from 0.23.0 to 0.23.1 in /.github/workflows (ec724e3)

chore(deps): bump anchore/sbom-action from 0.23.0 to 0.23.1 in /.github/workflows

  • deps: Bump anchore/sbom-action in /.github/workflows (4167b57)

Bumps anchore/sbom-action from 0.23.0 to 0.23.1. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: anchore/sbom-action dependency-version: 0.23.1

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump codecov/codecov-action from 5.5.2 to 5.5.3 in /.github/workflows (3c487ae)

chore(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 in /.github/workflows

  • deps: Bump codecov/codecov-action in /.github/workflows (83300c0)

Bumps codecov/codecov-action from 5.5.2 to 5.5.3. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: 5.5.3

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump duckdb from 1.4.4 to 1.5.0 (9ff83a5)

chore(deps): bump duckdb from 1.4.4 to 1.5.0

  • deps: Bump duckdb from 1.4.4 to 1.5.0 (dd5e313)

Bumps duckdb from 1.4.4 to 1.5.0. - Release notes - Commits

--- updated-dependencies: - dependency-name: duckdb dependency-version: 1.5.0

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump numpy from 2.4.2 to 2.4.3 (c8302d2)

chore(deps): bump numpy from 2.4.2 to 2.4.3

  • deps: Bump numpy from 2.4.2 to 2.4.3 (d8cfb3f)

Bumps numpy from 2.4.2 to 2.4.3. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: numpy dependency-version: 2.4.3

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump polars from 1.38.1 to 1.39.0 (bada853)

chore(deps): bump polars from 1.38.1 to 1.39.0

  • deps: Bump polars from 1.38.1 to 1.39.0 (916d8a9)

Bumps polars from 1.38.1 to 1.39.0. - Release notes - Commits

--- updated-dependencies: - dependency-name: polars dependency-version: 1.39.0

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump ruff from 0.15.5 to 0.15.6 (8535f67)

chore(deps): bump ruff from 0.15.5 to 0.15.6

  • deps: Bump ruff from 0.15.5 to 0.15.6 (58f9616)

Bumps ruff from 0.15.5 to 0.15.6. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: ruff dependency-version: 0.15.6

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump softprops/action-gh-release from 2.5.0 to 2.6.1 in /.github/workflows (d4b145b)

chore(deps): bump softprops/action-gh-release from 2.5.0 to 2.6.1 in /.github/workflows

  • deps: Bump softprops/action-gh-release in /.github/workflows (9dc56e4)

Bumps softprops/action-gh-release from 2.5.0 to 2.6.1. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-version: 2.6.1

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump zensical from 0.0.24 to 0.0.26 (b4e0147)

chore(deps): bump zensical from 0.0.24 to 0.0.26

  • deps: Bump zensical from 0.0.24 to 0.0.26 (33713f7)

Bumps zensical from 0.0.24 to 0.0.26. - Release notes - Commits

--- updated-dependencies: - dependency-name: zensical dependency-version: 0.0.26

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

Documentation

  • Remove all legacy/old references from getting-started.md and README.md (0e0adb4)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/0404e59e-1d4d-461c-99cf-e10db20cdf6b

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Update docs/setup, docs/configuration, remove vNext references, add deep configuration guide (da6853e)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/8369f955-a8d7-4629-852b-8e30e20b7681

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Update README, CONTRIBUTING, and SECURITY for vNext experiment system (9aa5cf9)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/96ddad8f-82c7-4609-9672-ded24d1bdc6a

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Features

  • Experiment system — typed RunSpec + config packs + sweep engine + deterministic run_id + CLI (drop TOML/CONFIG_FILE/main.py) (35a0c44)

feat!: experiment system — typed RunSpec + config packs + sweep engine + deterministic run_id + CLI (drop TOML/CONFIG_FILE/main.py)

  • Vnext experiment system — typed RunSpec + config packs + sweep engine + deterministic run_id + CLI (7fc7565)

  • Add coleman/spec/ with Pydantic v2 models (RunSpec, ExecutionSpec, ExperimentSpec, etc.) - Implement deterministic run_id via sha256(canonical_json(resolved_spec))[:12] - Create config pack system (packs/ layout + resolver with deep merge) - Implement sweep engine (grid/zip modes with stable enumeration + seed replication) - Create coleman/api.py with run(), run_many(), sweep(), load_spec(), save_resolved() - Add 'coleman' CLI console script (run, sweep, validate commands) - Implement provenance tracking (spec.resolved.json + provenance.json per run) - Add 74 comprehensive tests for spec models, sweep engine, run_id, packs, API, CLI, provenance - Add pydantic + pyyaml dependencies - All 275 tests pass (201 existing + 74 new)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/c8df2a47-27c5-4b1e-9538-917d3e4a900d

Refactoring

  • Extract _dispatch_executions to reduce run_experiment cognitive complexity from 16 to 8 (61c9326)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/d0f17fdb-9b22-49bb-9650-e63981608311

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Move numpy import to top of runner.py and strengthen seed tests (313f43c)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/6da72e77-e7fa-40f1-b8f0-088c405c5e50

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Optimize reward calculation and update value estimates in Agent and Reward classes (e805527)

  • Remove config.toml, config/config.py, main.py, .env.example; add packs + run.yaml + runner module (1bf6fe5)

  • Remove config.toml — settings migrated to composable YAML packs - Remove config/config.py — no longer needed (TOML loading replaced by YAML) - Remove main.py — replaced by coleman CLI entry-point + runner module - Remove .env.example — no env vars needed for configuration - Remove python-dotenv, toml, tomli dependencies - Add coleman/runner.py — reusable experiment orchestration from main.py - Add run.yaml — default pack-based config for easy project understanding - Add new packs: execution/default, experiment/alibaba_druid, algorithm/defaults, checkpoint/default, hcs/off, contextual/default, telemetry/local - Update make run → coleman run --config run.yaml - Update tests/test_main.py → import from coleman.runner - Update all docs, README, CONTRIBUTING, DevContainer scripts

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/7ccd72b1-d1d6-49f2-950f-39414e092ac2

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Testing

  • Add comment clarifying intentional typo in extra="forbid" test (50b619d)

Agent-Logs-Url: https://github.com/jacksonpradolima/coleman/sessions/7aba7bf9-535d-409d-86b1-f92b285330b4

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Add regression test for FRRMABPolicy to handle zero decay sum in credit assignment (eec4d93)

v1.2.0 (2026-03-22)

Bug Fixes

  • Add lock to ResultsWriter start/stop for thread safety (a88da89)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address 3 Codex P1 review issues — build-1 skip, per-experiment checkpoints, picklable ParquetSink (7356b24)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address 4 copilot-reviewer comments (notebook extras, dynamic paths, thread restart) (6f69ab6)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address 5 PR review comments — return type, docstrings, variant column, overlay cleanup (8630323)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address 8 review comments — variant column in Parquet/ClickHouse, docstring fixes, config default, README corrections, DuckDBCatalog tests (0dd8759)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address code review — remove broad grep guard, fix Python version, clarify create vs start timing (6d80242)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address SonarCloud issues and add sonar-project.properties (9362368)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Address SonarCloud issues — reduce cognitive complexity, extract constants, remove redundant returns (a8d3b60)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Ensure thread safety in ResultsWriter and update configuration for telemetry and verbosity (fb0f676)

  • Flush result buffers before committing checkpoint step (d7b2a57)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Improve DevContainer error messages with actionable guidance (0a75a67)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Make DevContainer more robust — remove third-party uv feature, install uv via curl, use uv sync for all extras (c2de7c7)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Reject unsupported sink values, close ClickHouse client, process-safe Parquet filenames (361ccc9)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Replace pandas with polars in DuckDBCatalog, fix OTel unit typo, remove pandas direct dep (ecb0f31)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Chores

  • Ignore runs directory (a03c6b2)

  • Update uv.lock for version 1.1.0 (3c99b59)

  • deps: Bump tornado in the uv group across 1 directory (3133c1b)

Bumps the uv group with 1 update in the / directory: tornado.

Updates tornado from 6.5.4 to 6.5.5 - Changelog - Commits

--- updated-dependencies: - dependency-name: tornado dependency-version: 6.5.5

dependency-type: indirect

dependency-group: uv

...

Signed-off-by: dependabot[bot] support@github.com

  • makefile: Add run command (756c8a9)

Documentation

  • Add DevContainer usage documentation to README, Getting Started, and CONTRIBUTING (d97fd83)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Enhance getting started guide with interactive workflow examples for DuckDB (dc05214)

Features

  • Add Grafana provisioning for dashboards and datasources (39f21cc)

  • Introduced default.yml for Grafana dashboards provisioning. - Added default.yml for Prometheus datasource configuration. - Created prometheus.yml for Prometheus scraping configuration.

refactor: Enhance main execution logic and telemetry tracking

  • Refactored main.py to include new data classes for execution plans and environment configurations.
    • Implemented runtime metadata generation for telemetry. - Improved parallel execution handling with responsive Ctrl+C support. - Updated agent creation logic to be more modular and maintainable.

test: Add tests for telemetry and resource tracking

  • Implemented tests for process resource tracking and telemetry functionalities. - Added regression tests for policy behavior and scenario provider normalization.

fix: Ensure scenario provider resets between experiments

  • Modified environment.run_single to reset scenario state and telemetry lifecycle for independent experiments.

  • Make DevContainer fully automatic — observability starts on container boot, zero manual steps (97c16e9)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Update DevContainer for full dev experience (uv, Docker-in-Docker, port forwarding) (ebd9149)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

Refactoring

  • Add ms-vscode.makefile-tools extension to devcontainer configuration (4a49deb)

  • Enhance telemetry for checkpoint saves; update observability documentation and Grafana dashboard (98f4976)

  • Replace MonitorCollector with Results + Telemetry + Checkpoints architecture (88a0059)

refactor: replace MonitorCollector with Results + Telemetry + Checkpoints architecture

  • Telemetry module to use dynamic imports for OpenTelemetry; enhance resource handling in telemetry resources; update documentation for clarity on experiment results and observability; add workflow notebook for guided analysis; improve test coverage for checkpoint resumption and parallel execution plans. (f3c310c)

  • Update .gitignore to include checkpoints output; enhance Makefile to install telemetry and clickhouse extras (3a8582d)

  • Update linting and formatting checks; enhance Makefile and pre-commit configuration; remove obsolete workflow notebook; improve test assertions for policy performance (2cc55f3)

v1.1.0 (2026-03-09)

Chores

  • Remove mkdocs.yml and add api-reference.md to nav (2968abe)

  • Delete mkdocs.yml since zensical.toml is now the authoritative config - Add api-reference.md as Overview entry in the API Reference nav section

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Update uv.lock for version 1.0.0 (f730368)

  • deps: Bump actions/checkout from 4 to 6 in /.github/workflows (8e16b07)

chore(deps): bump actions/checkout from 4 to 6 in /.github/workflows

  • deps: Bump marimo from 0.20.3 to 0.20.4 (de23fb9)

chore(deps): bump marimo from 0.20.3 to 0.20.4

  • deps: Bump marimo from 0.20.3 to 0.20.4 (d881448)

Bumps marimo from 0.20.3 to 0.20.4. - Release notes - Commits

--- updated-dependencies: - dependency-name: marimo dependency-version: 0.20.4

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump ruff from 0.15.4 to 0.15.5 (d19498f)

chore(deps): bump ruff from 0.15.4 to 0.15.5

  • deps: Bump ruff from 0.15.4 to 0.15.5 (3b4a1bc)

Bumps ruff from 0.15.4 to 0.15.5. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: ruff dependency-version: 0.15.5

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump sigstore/gh-action-sigstore-python (c5e36a4)

Bumps sigstore/gh-action-sigstore-python from 3.0.0 to 3.2.0. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: sigstore/gh-action-sigstore-python dependency-version: 3.2.0

dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump sigstore/gh-action-sigstore-python from 3.0.0 to 3.2.0 in /.github/workflows (fa36c28)

chore(deps): bump sigstore/gh-action-sigstore-python from 3.0.0 to 3.2.0 in /.github/workflows

  • deps: Bump ty from 0.0.20 to 0.0.21 (ae9cd9b)

chore(deps): bump ty from 0.0.20 to 0.0.21

  • deps: Bump ty from 0.0.20 to 0.0.21 (f067251)

Bumps ty from 0.0.20 to 0.0.21. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: ty dependency-version: 0.0.21

dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

Features

  • Add zensical.toml configuration for project documentation (b2114e8)

feat: add zensical.toml configuration for project documentation

v1.0.0 (2026-03-08)

Bug Fixes

  • Address review - semantic_release branch, vd_a error msg, test tolist, vd_a_df docstring, Makefile i18n (0307188)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Raise NotImplementedError instead of returning it, use ruff format in Makefile, reformat test files (a49b8c8)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Resolve all ruff lint errors, add py.typed, restore schema notes, generate uv.lock (fbea69d)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Typing (54901a6)

  • Use main branch in CI workflows, update docstrings, add encoding, honor symbols param (bd1a887)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Use make commands in devcontainer, add pytest/ruff settings, migrate to Zensical (47252c0)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • monitor: Handle edge cases for empty or invalid batch_df in collect_from_temp (bdd9e1d)

  • Updated collect_from_temp to ensure that only valid non-empty dataframes are concatenated to df. - Added a condition to check that batch_df is not entirely NaN before appending. - Ensured temp_rows is always cleared, regardless of the state of batch_df. - Improved robustness of the collect_from_temp method to prevent unintended behavior.

Build System

  • Update testing dependencies for enhanced mocking capabilities (8b95ac6)

Dependencies: + Add pytest-mock==3.14.0 to support mocking in test suites.

Chores

  • Add analysis (0902a29)

  • Add logging to environment.py (b1a6b9f)

  • Add module docstrings (28465b2)

  • Add scenario name (dataset name) to the monitor.py (526c821)

  • Code Refactoring (318bb1b)

  • Code Refactoring: Minor Improvements (43a0108)

  • Minor fixes and moved from unittest to pytest (bec2451)

  • Removed old analysis (1e16f5a)

  • Suppress warnings and clean up code (6f5e8b9)

Environment Setup: + Suppress FutureWarning messages globally using warnings.simplefilter.

Data Processing: # Update fillna method for clarity in scenarios.py.

Testing: - Remove unused import group in test_monitor.py.

  • Update requirements (1bf574f)

  • analysis: Remove unnecessary cell (b00bf86)

  • config: Add new examples (bd975ed)

  • deps: Bump actions/checkout from 3 to 4 in /.github/workflows (0bd4d69)

Bumps actions/checkout from 3 to 4. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump actions/checkout from 4 to 6 in /.github/workflows (24bdbbb)

Bumps actions/checkout from 4 to 6. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6'

dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump actions/setup-python from 2 to 4 in /.github/workflows (734dc6b)

Bumps actions/setup-python from 2 to 4. - Release notes - Commits

--- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump actions/setup-python from 4 to 5 in /.github/workflows (b2557f5)

Bumps actions/setup-python from 4 to 5. - Release notes - Commits

--- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump actions/setup-python from 5 to 6 in /.github/workflows (01f2a25)

Bumps actions/setup-python from 5 to 6. - Release notes - Commits

--- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '6'

dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump duckdb from 0.10.0 to 0.10.1 (6a9cc75)

Bumps duckdb from 0.10.0 to 0.10.1. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: duckdb dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump duckdb from 0.10.1 to 0.10.2 (6cb58af)

Bumps duckdb from 0.10.1 to 0.10.2. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: duckdb dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump duckdb from 0.10.2 to 1.1.3 (ca2b060)

Bumps duckdb from 0.10.2 to 1.1.3. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: duckdb dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump numpy from 1.25.2 to 1.26.4 (5c0b64f)

Bumps numpy from 1.25.2 to 1.26.4. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: numpy dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump numpy from 1.26.4 to 2.0.1 (7454fb0)

Bumps numpy from 1.26.4 to 2.0.1. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: numpy dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pandas from 2.1.0 to 2.2.0 (5576969)

Bumps pandas from 2.1.0 to 2.2.0. - Release notes - Commits

--- updated-dependencies: - dependency-name: pandas dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pandas from 2.2.0 to 2.2.1 (d4dabce)

Bumps pandas from 2.2.0 to 2.2.1. - Release notes - Commits

--- updated-dependencies: - dependency-name: pandas dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pandas from 2.2.1 to 2.2.2 (04cbbe2)

Bumps pandas from 2.2.1 to 2.2.2. - Release notes - Commits

--- updated-dependencies: - dependency-name: pandas dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pandas from 2.2.2 to 2.2.3 (0bb2055)

Bumps pandas from 2.2.2 to 2.2.3. - Release notes - Commits

--- updated-dependencies: - dependency-name: pandas dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pyarrow from 15.0.1 to 15.0.2 (ed90e7f)

Bumps pyarrow from 15.0.1 to 15.0.2. - Commits

--- updated-dependencies: - dependency-name: pyarrow dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pylint from 2.17.5 to 3.0.3 (ded60a0)

Bumps pylint from 2.17.5 to 3.0.3. - Release notes - Commits

--- updated-dependencies: - dependency-name: pylint dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pylint from 3.0.3 to 3.1.0 (846abb6)

Bumps pylint from 3.0.3 to 3.1.0. - Release notes - Commits

--- updated-dependencies: - dependency-name: pylint dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pylint from 3.1.0 to 3.2.6 (836cec1)

Bumps pylint from 3.1.0 to 3.2.6. - Release notes - Commits

--- updated-dependencies: - dependency-name: pylint dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pylint from 3.2.6 to 3.3.3 (17d039d)

Bumps pylint from 3.2.6 to 3.3.3. - Release notes - Commits

--- updated-dependencies: - dependency-name: pylint dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump pylint from 3.3.3 to 3.3.4 (53e4e98)

Bumps pylint from 3.3.3 to 3.3.4. - Release notes - Commits

--- updated-dependencies: - dependency-name: pylint dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump python-dotenv from 1.0.0 to 1.0.1 (0bb9ee6)

Bumps python-dotenv from 1.0.0 to 1.0.1. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: python-dotenv dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump scikit-posthocs from 0.9.0 to 0.11.2 (69216ab)

Bumps scikit-posthocs from 0.9.0 to 0.11.2. - Release notes - Commits

--- updated-dependencies: - dependency-name: scikit-posthocs dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump scipy from 1.10.1 to 1.13.0 (54acf40)

Bumps scipy from 1.10.1 to 1.13.0. - Release notes - Commits

--- updated-dependencies: - dependency-name: scipy dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump scipy from 1.13.0 to 1.14.0 (4ba8165)

Bumps scipy from 1.13.0 to 1.14.0. - Release notes - Commits

--- updated-dependencies: - dependency-name: scipy dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump scipy from 1.14.0 to 1.14.1 (e0c3edf)

Bumps scipy from 1.14.0 to 1.14.1. - Release notes - Commits

--- updated-dependencies: - dependency-name: scipy dependency-type: direct:production

update-type: version-update:semver-patch

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tj-actions/changed-files in /.github/workflows (a85e83d)

Bumps tj-actions/changed-files from 46 to 47. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-version: '47'

dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tj-actions/changed-files in /.github/workflows (0c0442d)

Bumps tj-actions/changed-files from 45 to 46. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tj-actions/changed-files in /.github/workflows (c4de901)

Bumps tj-actions/changed-files from 44 to 45. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tj-actions/changed-files in /.github/workflows (f89ab47)

Bumps tj-actions/changed-files from 43 to 44. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tj-actions/changed-files in /.github/workflows (16825e6)

Bumps tj-actions/changed-files from 42 to 43. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tj-actions/changed-files in /.github/workflows (2086173)

Bumps tj-actions/changed-files from 40 to 42. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tj-actions/changed-files in /.github/workflows (92d69c0)

Bumps tj-actions/changed-files from 39 to 40. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tj-actions/changed-files in /.github/workflows (19abf25)

Bumps tj-actions/changed-files from 35 to 39. - Release notes - Changelog - Commits

--- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production

update-type: version-update:semver-major

...

Signed-off-by: dependabot[bot] support@github.com

  • deps: Bump tomli from 2.0.1 to 2.2.1 (1e4a806)

Bumps tomli from 2.0.1 to 2.2.1. - Changelog - Commits

--- updated-dependencies: - dependency-name: tomli dependency-type: direct:production

update-type: version-update:semver-minor

...

Signed-off-by: dependabot[bot] support@github.com

  • examples: Add alibaba@druid as new example (be3fc50)

  • main: Add DuckDB and Logging (a145e6e)

  • main: Add missing variable (26029ca)

  • main: Undo comments. (c4e1ae4)

  • main,environment: Remove spaces (255276b)

  • main,readme: Minor improvements (a2a4e9d)

  • monitor_params: Add class docstring (ffc5670)

  • readme: Fix typo (591dc56)

Documentation

  • Update mermaid diagram to requested flow wording (6512846)

  • Update notebook reference in README to point to new location (1ff8015)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Update README for UV/pyproject.toml migration and add Development section (f259aed)

  • Update Python badge from 3.11.4+ to 3.14+ - Replace Installation section: pyenv/pip/requirements.txt → UV + uv sync - Add Development section with Makefile commands table - Update run command to use 'uv run python main.py' - Add links to CONTRIBUTING.md and SECURITY.md in Contributors section - Fix stale TOC link for Installation

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

Features

  • Add CODEOWNERS, FUNDING, and labeler configuration files (d495232)

  • Add issue templates for bug reports and feature requests (ccbdb9e)

  • Add testing for environment functionality and improve maintainability (c01cd41)

Testing: + Add comprehensive unit tests for the Environment class, including core methods. + Verify scenario handling, prioritization, and file operations (e.g., save/load backups). + Ensure exception handling tests for critical methods like save_experiment and load_experiment. + Introduce mocks for agents, scenarios, metrics, and external resources.

Environment: + Add logging support for better issue tracking and debugging. + Improve method consistency by renaming parameter vsc to virtual_scenario for clarity. + Enhance exception handling in save_experiment to capture and log errors. # Fix potential issues with file handling when saving/loading backups. # Improve inline documentation for better readability and scalability.

Refactor: - Remove unused imports and parameters (e.g., DynamicBandit references). # Update method definitions and calls for improved readability and alignment with new logging.

Testing Tools: + Add pytest fixture files for mocking agents, metrics, and scenario providers. + Mock external resources (e.g., files, databases) to isolate test environments.

  • Adicionar extensões do VSCode para suporte a Python e Jupyter (879505c)

  • Adicionar workflows para validação de PR, revisão de dependências e geração de SLSA provenance (cdd1d63)

  • agent: Optimize action management and reduce execution time by 69% (9eee1bc)

  • Refactored the add_action method to eliminate redundancy by checking for the existence of actions before adding them. - Streamlined the update_actions method to handle obsolete and new actions efficiently, reducing unnecessary DataFrame manipulations. - Optimized random selection of actions in the choose method by using random.sample. - Enhanced update_action_attempts to map action indices efficiently with a dictionary for weights, minimizing computational overhead. - Overall performance improvement: Reduced experiment execution time from 92s to 28s (~69% reduction).

  • bandit: Improve performance of priority updates and arm addition (343f0b8)

  • Replaced lambda-based priority updates with numpy.vectorize for better performance in update_priority. - Added a check to prevent unnecessary pd.concat calls in add_arms if the arm list is empty. - Introduced validation for empty actions in EvaluationMetricBandit.pull.

  • bandit: Minor improvements to speed up bandit (f8cd99c)

  • codecov: Add codecov to github workflow (20d2257)

  • codecov: Use requirements instead of specific packages (89af3fc)

  • gh-action: Add test results to codecov (7a4fa9b)

  • monitor: Optimize data collection with row batching, boosting performance by 19,000x (de6f25f)

  • Refactored MonitorCollector to use row batching (temp_rows) instead of DataFrame operations for temporary storage, improving efficiency. - Replaced DataFrame concatenation logic with batched appends, minimizing memory overhead and computational costs. - Updated save logic to dynamically handle headers based on file existence and state. - Enhanced collect_from_temp to ensure DataFrame consistency while significantly reducing execution time. - Adjusted performance benchmarks to reflect improvements, confirming a remarkable 19,000x speed increase for large-scale experiment data processing.

Other changes: - Updated pytest performance tests and configurations. - Adjusted policies and configurations in config.toml for streamlined execution. - Included new dependencies (pytest-benchmark, pytest-cov) in requirements.txt.

Breaking changes: - Removed direct use of temporary DataFrame (temp_df), replacing it with a row-based batch system (temp_rows).

Benchmarks: - Small-scale tests (1,000 records): ~4ms (down from ~800ms). - Medium-scale tests (10,000 records): ~45ms (down from ~8,000ms). - Large-scale tests (100,000 records): ~579ms (down from ~83,000ms).

  • readme: Add codecov badge (d484eb2)

  • reward: Optimize RNFailReward and enhance tests (88842a8)

  • Improved the RNFailReward evaluation logic by directly iterating over detection ranks, reducing memory usage. - Updated RNFailReward to assign rewards directly, improving performance for large datasets. - Added performance tests for TimeRankReward and RNFailReward to ensure scalability and efficiency. - Enhanced unit test coverage for edge cases and performance scenarios. - Adjusted benchmark settings to validate the performance improvements.

  • statistics: Add test cases and restructure project layout (8cb0146)

  • Added unit tests for Vargha and Delaney's A index, including edge cases and different effect sizes. - Renamed and relocated evaluation_test.py and policy_test.py to align with the new project structure under tests/. - Introduced a new test file test_varga_delaney.py with comprehensive coverage. - Updated requirements with new dependencies: flake8, pytest-cov, snakeviz, and upgraded pyarrow. - Enhanced .gitignore to exclude coverage files (e.g., htmlcov/).

  • TimeRankReward: Enhance evaluate method with normalization logic (c7a1253)

  • Updated the evaluate method in the TimeRankReward class to normalize rewards by dividing them by the number of failing test cases (num_failing_tests). - Added detailed inline comments to explain the normalization logic, ensuring clarity and alignment with the TimeRank equation. - Enhanced docstring to document the parameters, process, and return value of the evaluate method.

Refactoring

  • Add UV pyproject.toml, pre-commit, Makefile, devcontainer, CI workflows, SECURITY, CONTRIBUTING, CITATION, CHANGELOG (0c52c88)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Aprimorar o fluxo de trabalho de lançamento automatizado com melhorias na configuração do Python e gerenciamento de versões (6e62bd3)

  • Atualizar configuração do projeto e melhorar a documentação (4e6f19e)

  • Clean up unused code and improve class initialization (9ccc515)

DynamicBandit: - Remove commented-out column conversion logic for clarity. - Simplify class initialization by removing redundant steps.

Maintenance: # Streamline reset and add_arms methods for better readability.

  • Improve test consistency and enhance randomization logic (b7eb93e)

Tests: - Remove commented-out test test_get_scenario_provider_hcs. # Update test test_environment to discard unused unpacked variables in method call. # Replace np.random.rand() with np.random.default_rng().random() for better randomization control. # Refactor helper method simulate_actions to use snake_case for argument include_q. # Adjust benchmark tests to align with updated helper function parameter naming.

Core Logic: - Remove unused commented code in coleman/scenarios.py to improve code clarity.

  • Migrate to UV, pyproject.toml, ruff, Zensical, and modern Python toolchain (88c55ed)

refactor!: migrate to UV, pyproject.toml, ruff, Zensical, and modern Python toolchain

  • Pandas to Polars migration (50decab)

refactor: Pandas to Polars migration

  • Rename VD_A/VD_A_DF to snake_case, use numpy.random.Generator, rename A_inv to a_inv (efafbb5)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Replace np.random with rng for random number generation in tests (3bb15e6)

Testing: # Update tests to use rng.integers instead of np.random.randint. # Ensure consistency and alignment with the updated random number generation API.

  • Simplify vd_a estimate variable naming (df25313)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • Standardize RNG usage and enhance test reproducibility (290e43e)

Test Configuration: + Add fixed random seed for reproducibility across all tests. + Initialize global RNG instance (rng) for consistent sampling.

Test Logic: # Replace direct np.random.default_rng() calls with rng. # Update test fixtures and agents to use standardized random values.

  • Streamline scenario management and enhance save functionality (89a8e49)

Scenario Management: - Remove has_variants method; inline logic to check scenario variants. # Update condition to explicitly check VirtualHCSScenario type and its variants.

Save Functionality: + Add interval parameter to save_periodically for configurable save frequency. # Refactor save logic to use dynamic interval instead of a fixed value.

Dependencies: - Remove unused imports from scenarios.py (e.g., lru_cache, build_py).

  • Streamline scenario management and enhance save functionality (a4cea07)

Scenario Management: - Remove has_variants method; inline logic to check scenario variants. # Update condition to explicitly check VirtualHCSScenario type and its variants.

Save Functionality: + Add interval parameter to save_periodically for configurable save frequency. # Refactor save logic to use dynamic interval instead of a fixed value.

Dependencies: - Remove unused imports from scenarios.py (e.g., lru_cache, build_py).

  • Update Codecov workflow to improve Python version handling and dependency installation (6651e6c)

  • Update README, convert notebook to marimo in notebooks/, add docs content (96d0964)

Co-authored-by: jacksonpradolima 7774063+jacksonpradolima@users.noreply.github.com

  • evaluation: Minor refactoring (7b14953)

  • pylint: Fix .pylintrc path (557d773)

  • test-bandit: Update imports (5a3e2ee)

Testing

  • Add comprehensive tests for main application logic (a85d92d)

Testing: + Add unit tests for core functions like logging, agent creation, and CSV merging. + Add integration tests for end-to-end workflows and component interactions. + Document tested functionalities, including dynamic class loading and scenario setup. + Include dependencies like pytest and unittest.mock for test coverage support.

  • Enhance Environment class unit tests (25f9484)

Testing: + Add comprehensive docstring outlining test cases for the Environment class. # Fix pickle.load mock return value for consistency in test_load_experiment.

  • Improve floating-point comparison precision in scenario tests (d92a0aa)

Testing: # Update assertions to use precise floating-point comparison with a tolerance of 1e-6.

  • Improve randomness consistency in policy tests (6fcb5db)

Policy Tests: # Update action sampling to use consistent RNG method with no replacement.

  • Minor improvements (2cfce08)

  • Refactor imports and add new policy test coverage (bd2df2a)

Policy Tests: + Add test coverage for SWLinUCBPolicy's choose_all method. - Remove redundant imports for LinUCBPolicy, SWLinUCBPolicy, EpsilonGreedyPolicy, GreedyPolicy, UCB1Policy, and FRRMABPolicy.

Benchmarking: # Fix formatting in simulation for consistency in test setup.

  • Update reward evaluation tests (9e7e242)

Testing: - Remove unnecessary trailing newline in test_reward.py.

  • agent: Add module docstring (852a84e)

  • bandit: Add tests for improved coverage and performance validation (d88d65e)

  • Added tests for update_priority with large datasets to benchmark and validate performance improvements. - Included tests for handling empty and invalid actions in EvaluationMetricBandit.pull. - Verified the correctness of the priority mapping logic with duplicate arm names.

  • evaluation: Add docstrings (24f2b3f)

  • evaluation: Added RunningEvaluationTests with comprehensive test cases for NAPFD and NAPFDVerdict metrics. (9570fc7)

  • monitor: Add missing docstring (dcf9eb4)

  • monitor: Add test case for empty batch_df in collect_from_temp (4aa0b77)

  • Added test_collect_from_temp_empty_batch_df to verify df remains unchanged when batch_df is empty or invalid. - Confirmed temp_rows is cleared even if batch_df is empty.

  • monitor: Add tests to improve branch coverage for temp_rows and save functionality (4ac5ad8)

  • Added test_save_with_empty_temp_rows to verify behavior when temp_rows is empty during save. - Added test_save_with_non_empty_temp_rows to ensure data in temp_rows is properly flushed and saved. - Improved coverage for if self.temp_rows: branch in save method and related scenarios.

  • monitor: Created a specific data class to collect the data for monitor (edd4dda)

  • monitor: Do not perform equality checks with floating point values. (ba9bcc7)

  • monitor: Improved docstring (d83fd9d)

  • monitor: Minor enhancements (15e3ca5)

  • policy: Disable policy test (ff4a4bb)

  • policy: Removed policy test (ae4ffdd)