v5.0.0
v5.0.0 — AES 0 violations, consumer-first surface fixes, shared prompt-flow refactor
Quality gates (all green)
lint-arwaky-cli scan .→ 0 violations (was 9: 2× AES305, 5× AES401, 2× AES203)ruff format/ruff checkclean ·mypystrict clean (62 files) · fullpytestpassing (3.12 & 3.13) ·uv buildOK
Architecture (AES)
- New
IPromptFlowAggregatecontract +SharedFlowOrchestratoragent — de-duplicates direct/file/attachment orchestrators via contract aggregate + DI (no agent→agent imports) taxonomy_core_constant.pynow pure constants (AES401);get_playwright_browsers_path()moved toutility_core_paths.py- Unused imports removed (AES203); legacy
DEFAULT_TODOdeleted
Consumer-first fixes (UI/UX audit)
- MCP: failed runs return typed error envelopes (
AUTH_REQUIRED/EXECUTION_ERROR) instead ofsuccess: true; tool schemas documented (descriptions, 100 MB limit, blocked extensions) - TUI: red
FAILEDrender on failure, Enter-key misfire fixed, async session badge, Cancel Run + quit guard - CLI: working
--jsonoutput, exit code2forAuthRequiredError,--headlessremoved fromlogin,-v/--verboseflag - SKILL.md:
.qwen-web/workspace rule, orphan-process cleanup, no-external-timeout policy
Security (Codacy review)
UpdateManager: subprocess hardened against shell metacharacter/path injection + https-only URL scheme + github repo allowlistdelete_sessionpath-safety strengthened
Review
- Codacy findings resolved · cubic SUCCESS · CodeRabbit skipped · PR #143 merged
What's Changed
- v5.0.0: AES 0 violations, consumer-first surface fixes, shared prompt-flow refactor by @rakaarwaky in #143
Full Changelog: v4.4.0...v5.0.0