Typer 0.24.0 CliRunner does not support the mix_stderr keyword
argument. This caused ASV benchmark discovery to fail with a
TypeError during the CI benchmark-regression job.
- Remove AutomationLevel imports from cli_robot_flow_bench.py and
persistence_robot_bench.py (enum was removed by master's automation
refactor); replace with AutomationProfileRef where needed.
- Use typer.echo() instead of console.print() for machine-readable
output (JSON/YAML/plain) in config.py and session.py to prevent
Rich from injecting ANSI escape codes that corrupt json.loads().
- Set NO_COLOR=1 in noxfile unit_tests, integration_tests, and
coverage_report sessions as a belt-and-suspenders safeguard for
all CLI commands that route format_output through Rich.
Add python -m compileall -q src/ step to the integration_tests nox
session before launching pabot. On CI runners with high core counts
(e.g. 32 processes) the first Robot test to spawn a Python subprocess
could fail because 30+ processes simultaneously cold-compile the
entire source tree from scratch. Pre-compiling eliminates the
thundering-herd race and lets all workers read cached .pyc files.
Master's refactor(automation) commit removed the AutomationLevel enum
and automation_level field from Plan. Update all behave steps, robot
helpers, and feature scenarios that referenced the removed type:
- cli_lifecycle_robot_alignment_steps.py: drop import and field assignment
- persistence_robot_alignment_steps.py: drop import and field assignment
- subplan_model_steps.py: drop import, parameter, and field assignment
- subplan_model.feature: replace automation level scenario with profile check
- helper_cli_lifecycle.py: drop import and field assignment
- helper_persistence_lifecycle.py: drop import, field assignment, and assertion