feat: orchestrator enhancements, agent model refactor, dashboard UX improvements#10
Merged
Conversation
Add pr-review, run-unit-tests, and software-architect skills to expand agent capabilities. Update prepare-pr skill with a detailed verification checklist including ruff, pytest, bandit, and SPDX compliance. Refine writing-unit-tests skill by removing redundant test execution instructions. Improve pr_body_template.md formatting.
Update skill definitions to include the '// turbo-all' annotation to allow for uninterrupted execution of commands. Additionally, add explicit restrictions against using redirection operators ('>', '2>') to ensure safer and more compatible file operations.
Added the _TIMEZONE substitution with a default value of 'Europe/Vienna' to cloudbuild.yaml. This allows for configuring the timezone during deployment, ensuring consistent timekeeping across containers.
- Fix duplicate AgentRunResult import in agent_base.py (ruff F811) - Migrate str+Enum classes to StrEnum in orchestrator/models.py (ruff UP042) - Add usedforsecurity=False to hashlib.md5 calls (bandit B324) - Bump python-dotenv, requests, pytest, PyJWT to patched versions - Fix test mock setup for async HTTP client in vector_db_service tests - Fix placeholder assertions (== "MINIMAL", == "LOW") in orchestrator tests - Fix wrong patch target: Agent now in custom_llm_wrapper, not agent module - Fix _ensure_collection -> ensure_collection method name mismatch - Update README with new dashboard endpoints and features - Update prepare-pr skill: remove squash/temp-branch step Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…m lint Three test assertions had 'MINIMAL' string instead of 0, causing comparison failures. Also exclude .agents/skills/ template files from ruff to fix invalid-syntax errors caused by <placeholder> syntax in templates.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR delivers a broad set of enhancements across the orchestrator, agents, dashboard UI, deployment pipeline, and test coverage. It also introduces three new developer skills and fixes several bugs and test issues.
Changes
Features
LogViewernow supports "Load More" via infinite query; backend/api/dashboard/logsaddsoffsetparameterPOST /api/dashboard/discoveryendpoint and "Discover Agents" button in theAgentGridUICustomLlmWrapper.create_agent()factory replaces per-agentAgent(...)construction; thinking level injected via abstractget_thinking_level()method;model_settingsparameter removed fromAgentBaseCustomLlmWrappernow logs duration for every request and streaming callxray_client.pyextended withfetch_ready_for_execution_test_cases_by_labels,create_test_execution, and supporting helperscreate_test_plan, timestamp parsing, retry logic, and improved error handlingpr-review,run-unit-tests, andsoftware-architectskills with full templates, ADR/decision matrix resources, and implementation plan scaffoldingBug Fixes
EndpointFilterto usegetMessage()for reliable dashboard path matchingLOG_SEPARATTORtypo →LOG_SEPARATORRefactoring
MAX_RETRIESconstant (now usesconfig.RetryConfigeverywhere)AgentRunResultimport inagent_base.pyAgentStatus,BrokenReason,TaskStatusnow inherit fromStrEnumusedforsecurity=Falseadded to allhashlib.md5()calls (non-cryptographic use)Tests
mock_httpx_clientfixture to work with persistentAsyncClient(not context manager)_ensure_collection→ensure_collectionin two test filescommon.custom_llm_wrapper.Agent(wasagents...main.Agent)== "MINIMAL"→== 0,== "LOW"→== 1001allure_client,xray_methods,zephyr_methods,vector_db_service,utilsDocumentation
/api/dashboard/discovery,logs?offset=)Dependencies
python-dotenv1.2.1 → 1.2.2 (CVE-2026-28684)requests2.32.5 → 2.33.0 (CVE-2026-25645)pytest9.0.2 → 9.0.3 (CVE-2025-71176)PyJWT2.10.1 → 2.12.0 (CVE-2026-32597)Configuration
cloudbuild.yaml: Separated image build/push from Cloud Run deploy into distinct steps for better granularity and failure isolationcloudbuild.yaml: AddedTZ=$_TIMEZONEenv var to jira-mcp-server deploymentTesting
assertusage in tests)Notes
Indirect dependency vulnerabilities in
urllib3(2.6.3),python-multipart(0.0.26), andpip(26.0.1) exist but are not pinned directly — they will be resolved when parent packages pull updated transitive deps. Thetest_attachment_handler.pytest crashes due to a Windows-specificpython-magicDLL access violation; this is a pre-existing environment issue unrelated to these changes.