a7cc3a9ff6f911d2060b1c7c29acc96072ef5fb7
6 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
2165e82d72 |
fix(cli): add Progress, Timing, Execution Detail, and Cost panels to agents plan status output
Restore all five required Rich output panels to _print_lifecycle_plan(): - Plan Status panel: Processing State, Projects, Arguments, Automation Profile, actors (Strategy/Execution/Estimation/Invariant), Execution Environment, Created/Updated timestamps, Description, Definition of Done, DoD evaluation, Invariants, resume metadata, multi-project scopes, error message - Progress panel: Strategize/Execute/Apply step indicators - Timing panel: Started, Elapsed, ETA (using estimation_result when available), and all phase timestamps (Strategize Started/Completed, Execute Started/Completed, Applied At) - Execution Detail panel: Sandbox, Tool Calls (N/A), Files Modified (N/A), Child Plans, Checkpoints - Cost panel: Tokens Used, Cost So Far, Estimated Total Cost - Footer: ✓ OK Status refreshed Also fixes: - tool_calls semantic bug: display N/A instead of total_tokens - files_modified: display N/A (not available in cost_metadata) - ETA calculation: use estimation_result.estimated_time_seconds or N/A - In-function import: moved Plan as LifecyclePlan to top of file - Import sorting: split aliased import per ruff isort rules Adds BDD scenarios for all five panels in plan_lifecycle_cli_coverage.feature with step definitions in plan_lifecycle_cli_coverage_steps.py. Updates CHANGELOG.md with user-facing output changes. ISSUES CLOSED: #9341 |
||
|
|
02250473ad |
fix(ci): restore all CI quality gates to passing on master
Fix all failing CI quality gates (lint, unit_tests, format) without suppressing any quality enforcement. Root causes and fixes: 1. Format: features/steps/plan_namespaced_name_tdd_steps.py had trailing whitespace; fixed by running ruff format. 2. Unit tests - A2A JSON-RPC 2.0 migration (commit |
||
|
|
35e1807f95 |
fix(cli): restore phase-aware execution in plan execute command
CI / lint (pull_request) Successful in 14s
CI / typecheck (pull_request) Successful in 37s
CI / security (pull_request) Successful in 37s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 41s
CI / build (pull_request) Successful in 22s
CI / integration_tests (pull_request) Successful in 2m44s
CI / unit_tests (pull_request) Successful in 3m44s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 5m3s
CI / e2e_tests (pull_request) Successful in 5m28s
CI / benchmark-regression (pull_request) Failing after 22m0s
Consolidate the execute_plan CLI handler to eliminate a redundant service.get_plan() call (the separate read-only pre-check now reuses the same current_plan reference used for phase detection), update the command-table description from the stale 'Transition to Execute phase' to 'Run phase-aware plan execution', and replace the static post-execution hint with a state-aware message that distinguishes execute/complete (ready for apply) from other states (continue executing). Update corresponding Behave test mocks to match the reduced get_plan call sequence and the updated output panel title. ISSUES CLOSED: #967 |
||
|
|
ff2d824f17
|
fix(cli): share PlanLifecycleService instance between CLI handler and PlanExecutor
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / lint (pull_request) Successful in 19s
CI / quality (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 43s
CI / security (pull_request) Successful in 50s
CI / unit_tests (pull_request) Successful in 3m11s
CI / integration_tests (pull_request) Successful in 3m37s
CI / e2e_tests (pull_request) Successful in 3m52s
CI / docker (pull_request) Successful in 56s
CI / coverage (pull_request) Successful in 5m57s
CI / build (push) Successful in 14s
CI / lint (push) Successful in 20s
CI / quality (push) Successful in 25s
CI / typecheck (push) Successful in 49s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 52s
CI / unit_tests (push) Successful in 3m18s
CI / integration_tests (push) Successful in 3m31s
CI / docker (push) Successful in 55s
CI / e2e_tests (push) Successful in 4m42s
CI / coverage (push) Successful in 6m0s
CI / benchmark-publish (push) Successful in 20m10s
CI / benchmark-regression (pull_request) Successful in 37m16s
_get_plan_executor() created a second PlanLifecycleService Factory instance with its own in-memory _plans cache. After the executor's run_strategize() advanced the plan to execute/queued (via auto_progress), the CLI handler's separate service instance returned stale strategize/queued state from its cache, causing spurious "Plan is not in an executable state" errors. Fix: _get_plan_executor() now accepts an optional lifecycle_service parameter; the plan execute handler passes its own service instance so both share the same cache. Also addressed review feedback: - Improved type safety: lifecycle_service parameter typed as PlanLifecycleService | None instead of Any | None. - Added BDD regression test verifying the lifecycle service is shared between the CLI handler and the executor. - Updated reference documentation to reflect the type annotation change. ISSUES CLOSED: #1026 |
||
|
|
f2f7aa5dc9
|
feat(core): add v3 lifecycle models, automation levels, subplan support, and security hardening
Implement multiple Stage A/B/E/SEC milestones for the v3 lifecycle system: - Stage A5.3+A5.4: Add LifecycleActionModel and LifecyclePlanModel SQLAlchemy models with to_domain()/from_domain() conversion methods - Stage A5.6: Implement ActionRepository with full CRUD, namespace/state queries, referential integrity checks, and retry decorator - Stage E1: Add subplan domain models (ExecutionMode, SubplanMergeStrategy, SubplanConfig, SubplanStatus, SubplanAttempt, SubplanFailureHandler) with computed properties on Plan (is_subplan, is_root_plan, depth, has_subplans) - Stage A6: Add AutomationLevel enum (MANUAL, REVIEW_BEFORE_APPLY, FULL_AUTOMATION), settings integration, PlanLifecycleService auto-progression, pause/resume, and CLI commands (--automation-level, set-automation-level) - Stage SEC1: Remove eval()/exec() from stream_router.py, replace with named operation and transform registries; code blocks and unregistered transforms now raise StreamRoutingError - Add langchain-anthropic dependency - Update BDD tests for security changes and relax ADR directory requirement |
||
|
|
6886ee2383
|
tests: improved coverage to 97% |