Files
cleveragents-core/CONTRIBUTORS.md
HAL9000 876a2c6916
CI / benchmark-publish (push) Has started running
CI / lint (push) Successful in 55s
CI / quality (push) Successful in 1m6s
CI / typecheck (push) Successful in 1m27s
CI / helm (push) Successful in 31s
CI / push-validation (push) Successful in 32s
CI / security (push) Successful in 1m55s
CI / build (push) Successful in 49s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 3m35s
CI / e2e_tests (push) Successful in 3m43s
CI / unit_tests (push) Successful in 4m34s
CI / docker (push) Successful in 1m28s
CI / coverage (push) Successful in 10m37s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m36s
CI / coverage (pull_request) Successful in 11m39s
CI / helm (pull_request) Successful in 45s
CI / lint (pull_request) Successful in 1m59s
CI / quality (pull_request) Successful in 2m10s
CI / typecheck (pull_request) Successful in 2m19s
CI / security (pull_request) Successful in 2m24s
CI / e2e_tests (pull_request) Successful in 4m56s
CI / integration_tests (pull_request) Successful in 5m15s
CI / unit_tests (pull_request) Successful in 6m56s
CI / docker (pull_request) Successful in 1m35s
CI / build (pull_request) Successful in 1m18s
CI / push-validation (pull_request) Successful in 42s
CI / status-check (pull_request) Successful in 3s
fix(data-integrity): Replace unconditional commit with flush in LLMTraceRepository.save()
Implement dual-path session management in LLMTraceRepository.save():
- UoW mode (explicit session provided): flush only, caller controls commit
- Standalone mode (no session): flush + commit + close for durable persistence

This resolves three data-integrity violations:
1. Premature commit of outer UoW transactions
2. Loss of rollback capability for subsequent failures
3. Mismatch between class docstring and implementation

Also adds:
- Input validation: trace must not be None
- Updated BDD step definitions to pass session explicitly in UoW scenarios
- close() method to _BrokenSession mock for proper cleanup path coverage
- CHANGELOG.md entry for issue #7505
- CONTRIBUTORS.md credit for HAL 9000

ISSUES CLOSED: #7505
2026-05-05 09:57:46 +00:00

4.3 KiB

Contributors

Details

Below are some of the specific details of various contributions.

  • Jeffrey Phillips Freeman has acted as Lead Developer, daily contributor, and Project Owner.
  • Brent E. Edwards has contributed quality assurance, test coverage, and CI pipeline improvements.
  • HAL 9000 has contributed automated implementation, bug fixes, and feature development as part of the CleverAgents automation pool.
  • HAL 9000 has contributed concurrency safety improvements, including thread-safe context tier management (issue #7547) for parallel plan execution.
  • HAL 9000 has contributed the plan concurrency race-condition fix (#7989): wired LockService into the plan lifecycle, guarding execute_plan() and apply_plan() with plan-level advisory locks and unique per-invocation owner identities to prevent silent concurrent state corruption.
  • HAL 9000 has contributed the bug-hunt-pool-supervisor non-blocking tracking fix: updated step 5 to be best-effort and added rule 9 to prevent the automation-tracking-manager call from blocking the main supervisor loop.
  • HAL 9000 has contributed the plugin entry point security hardening fix (#7476): enforced entry point allowlist validation before importing plugin modules to prevent malicious plugin loading.
  • HAL 9000 has contributed the benchmark workflow separation (#9040): moved the benchmark-regression job out of the default PR workflow into a dedicated scheduled workflow, reducing median PR CI turnaround time from 99-132 minutes to under 30 minutes.
  • HAL 9000 has contributed the agent-evolution-pool-supervisor PR metadata assignment (#7888): the supervisor now automatically looks up the Type/Automation label and earliest open milestone before dispatching improvement PR creation workers, ensuring all generated improvement PRs have correct Type labels and milestone assignments.
  • This project was made possible thanks to considerable donation of time, money, and resources by CleverThis, Inc.
  • HAL 9000 has contributed automated bug fixes, CLI output formatting improvements, and ongoing maintenance as part of the CleverAgents automation system.
  • HAL 9000 has contributed the file edit encoding parameter fix (PR #8258 / issue #7559).
  • HAL 9000 has contributed the architecture-pool-supervisor milestone assignment feature (PR #8188 / issue #7521): added forgejo_update_pull_request permission and documented the PR workflow for major spec changes, enabling automatic milestone assignment for specification PRs.
  • HAL 9000 has contributed the git worktree TOCTOU race condition fix (PR #8178 / issue #7507): replaced the unsafe mkdtemp() + rmdir() pattern with a parent-directory approach to eliminate the race window in concurrent git worktree operations.
  • HAL 9000 has contributed the git_tools TOCTOU race condition fix (PR #8255 / issue #7619): eliminated the Time-Of-Check-To-Time-Of-Use race in _get_base_env() by adding double-checked locking with a module-level threading.Lock, preventing concurrent threads from writing conflicting environment snapshots.
  • HAL 9000 has contributed comprehensive milestone documentation for v3.6.0 (Advanced Concepts & Deferred Features) and v3.7.0 (TUI Implementation) (PR #9903): split into sub-documents covering context strategies, LLM backends, resource types, A2A rename, container tool execution, scope chain resolution, cost/safety budgets, E2E workflow tests, code review examples, plugin architecture, TUI layout, persona system, reference/command input, session management, configuration, and TuiMaterializer integration.
  • HAL 9000 has contributed the LLMTraceRepository data-integrity fix (PR #8185 / issue #7505): replaced the unconditional session.commit() in LLMTraceRepository.save() with a dual-path implementation that respects the UnitOfWork pattern — flushing only when an external session is provided, and flushing + committing + closing when operating standalone. This eliminates premature transaction commits, loss of rollback capability, and a docstring/implementation mismatch.