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
Implements the missing output panels for the 'agents plan status' command as specified in the product specification. The command now renders five panels:
1. Plan Status - Plan ID, Phase, State, Action, Project, Automation, Attempt
2. Progress - Strategize/Execute/Apply step progress with status indicators (✓, ⏳, •)
3. Timing - Started, Elapsed, ETA
4. Execution Detail - Sandbox strategy, Tool Calls, Files Modified, Child Plans, Checkpoints
5. Cost - Tokens Used, Cost So Far, Estimated
Also adds the '✓ OK Status refreshed' footer line as required by the specification.
ISSUES CLOSED: #9341