docs: restructure [Unreleased] CHANGELOG and add entries for recent merged PRs #2050

Merged
freemo merged 2 commits from docs/update-changelog-unreleased-2026-04-03 into master 2026-04-03 04:16:19 +00:00
+53 -43
View File
@@ -13,49 +13,6 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
warning overlay before proceeding. Patterns cover destructive filesystem
operations, privilege escalation, network exfiltration, and more. (#1003)
### Changed
- **A2A — JSON-RPC 2.0 wire format compliance** (**BREAKING**): `A2aRequest`
and `A2aResponse` Pydantic models have been rewritten to use standard
JSON-RPC 2.0 field names. Callers constructing `A2aRequest` or reading
`A2aResponse` must update field references:
| Old field | New field | Model |
|-----------|-----------|-------|
| `a2a_version` | `jsonrpc` (fixed `"2.0"`) | both |
| `request_id` | `id` | both |
| `operation` | `method` | `A2aRequest` |
| `status` + `data` | `result` (success) | `A2aResponse` |
| `error` | `error` (unchanged) | `A2aResponse` |
| `timing_ms` | *(removed)* | `A2aResponse` |
| `auth` | *(removed — use `params` or HTTP headers)* | `A2aRequest` |
A `_result_xor_error` model validator enforces JSON-RPC 2.0 mutual exclusion
of `result` and `error`. (#1501)
- **CLI — Legacy/v3 plan workflow mixing disallowed**: `agents plan` commands
now detect and reject attempts to mix legacy plan commands with v3 plan
workflows in the same session, surfacing a clear error message with migration
guidance. (#1577)
### Fixed
- **CLI — `agents actor add` rich output**: The `actor add` command now renders
the full spec-required output including **Type**, **Config**, **Capabilities**,
and **Tools** panels, matching the output format of `actor show`.
- **Infra — E2E suite database initialization**: The common E2E Robot Framework
suite setup now centrally initializes the database before any CLI commands
run, eliminating per-suite and per-test `agents init` workarounds. Suite home
directory names are sanitized to prevent path-derived initialization failures
in isolated Robot runs. (#1023)
- **CI — Parallelized static analysis pipeline**: Lint, typecheck, security
scan, and code quality jobs now run in parallel in the CI pipeline, reducing
total pipeline time for static analysis stages.
### Added
- **TUI — First-run experience with actor selection overlay**: On first launch
(no personas configured), a centred `ActorSelectionOverlay` widget guides the
user to select an actor from a curated list (`anthropic/claude-4-sonnet`,
@@ -81,8 +38,61 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
the "persists across restarts" requirement. 47 new BDD scenarios cover typed
triples, temporal queries, and provenance. (#891)
### Changed
- **A2A — JSON-RPC 2.0 wire format compliance** (**BREAKING**): `A2aRequest`
and `A2aResponse` Pydantic models have been rewritten to use standard
JSON-RPC 2.0 field names. Callers constructing `A2aRequest` or reading
`A2aResponse` must update field references:
| Old field | New field | Model |
|-----------|-----------|-------|
| `a2a_version` | `jsonrpc` (fixed `"2.0"`) | both |
| `request_id` | `id` | both |
| `operation` | `method` | `A2aRequest` |
| `status` + `data` | `result` (success) | `A2aResponse` |
| `error` | `error` (unchanged) | `A2aResponse` |
| `timing_ms` | *(removed)* | `A2aResponse` |
| `auth` | *(removed — use `params` or HTTP headers)* | `A2aRequest` |
A `_result_xor_error` model validator enforces JSON-RPC 2.0 mutual exclusion
of `result` and `error`. (#1501)
- **CLI — Legacy/v3 plan workflow mixing disallowed**: `agents plan` commands
now detect and reject attempts to mix legacy plan commands with v3 plan
workflows in the same session, surfacing a clear error message with migration
guidance. (#1577)
- **Domain — `DomainBaseModel` shared Pydantic base class**: A new
`DomainBaseModel` base class in `cleveragents.domain.models.base` centralises
the common Pydantic `model_config` (`str_strip_whitespace`, `validate_assignment`,
`arbitrary_types_allowed=False`, `populate_by_name`, `use_enum_values`)
previously duplicated across 14 domain model classes. This is a pure
structural refactor with no behavioral changes. (#1941)
### Fixed
- **CLI — `agents actor add` rich output**: The `actor add` command now renders
the full spec-required output including **Type**, **Config**, **Capabilities**,
and **Tools** panels, matching the output format of `actor show`.
- **Infra — E2E suite database initialization**: The common E2E Robot Framework
suite setup now centrally initializes the database before any CLI commands
run, eliminating per-suite and per-test `agents init` workarounds. Suite home
directory names are sanitized to prevent path-derived initialization failures
in isolated Robot runs. (#1023)
- **CI — Parallelized static analysis pipeline**: Lint, typecheck, security
scan, and code quality jobs now run in parallel in the CI pipeline, reducing
total pipeline time for static analysis stages.
- **Tests — TDD bug-capture for #989 (JSON decode crash in persistence)**:
Added Behave TDD regression scenario (`@tdd_bug @tdd_bug_989 @tdd_expected_fail`)
that persists corrupt automation-profile JSON and verifies
`AutomationProfileRepository` reads do not leak raw `JSONDecodeError`.
Also stabilized `robot/resource_dag.robot` integration fixture by sharing a
single SQLAlchemy session in inline scripts. (#1094)
- `agents session list` rich output now includes a **Name** column and a **Summary** panel
showing total sessions, most recent, oldest, total messages, and storage usage. JSON output
also includes a `summary` section with the same statistics. (#1574, #1570)