Compare commits

...

1 Commits

Author SHA1 Message Date
HAL9000 7ee4f1ec90 docs(changelog): add plan action arguments upsert fix to [Unreleased]
CI / lint (pull_request) Successful in 44s
CI / security (pull_request) Successful in 58s
CI / typecheck (pull_request) Successful in 1m22s
CI / quality (pull_request) Successful in 40s
CI / build (pull_request) Successful in 16s
CI / helm (pull_request) Successful in 24s
CI / push-validation (pull_request) Successful in 18s
CI / e2e_tests (pull_request) Successful in 4m57s
CI / unit_tests (pull_request) Successful in 5m32s
CI / integration_tests (pull_request) Successful in 5m29s
CI / docker (pull_request) Successful in 15s
CI / coverage (pull_request) Successful in 13m23s
CI / status-check (pull_request) Successful in 3s
Document the fix from PR #4197: plan use no longer crashes with
UNIQUE constraint violation when action arguments are already registered.

ISSUES CLOSED: #4174
2026-04-14 15:52:35 +00:00
+6
View File
@@ -202,6 +202,12 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- **`product-builder` Missing Supervisors**: Added missing `pr-fix-pool-supervisor` and
`pr-merge-pool-supervisor` to the product-builder's supervisor launch list (18 total
supervisors). Updated all numeric references, pre-flight checklists, and validation logic.
- **Plan action arguments UNIQUE constraint**: `agents plan use` no longer crashes with
`sqlite3.IntegrityError: UNIQUE constraint failed: action_arguments.action_name, name`
when an action has arguments already registered via `action create`. Root cause was
`ActionRepository.update()` using SQLAlchemy's `.clear()` + `.append()` pattern, which
deferred the DELETE and processed the INSERT first. Fixed by using an explicit upsert
(delete-then-insert) strategy. (#4174)
- `ActionRepository.update()` now uses explicit bulk `sa_delete()` + `session.flush()`
before re-inserting child rows for `action_arguments` and `action_invariants`, fixing