master
4 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f808abff86 |
chore(ci): fix pre-commit hook failures
Fix JSON syntax errors in .devcontainer/devcontainer.json (removed
invalid JS-style // comments) and .devcontainer/opencode.json (removed
90+ trailing commas). Apply auto-fixes for end-of-file and trailing
whitespace issues across 100+ files. Fix SIM105 ruff violations in
benchmarks/core_circuit_breaker_bench.py (use contextlib.suppress).
Note: The security fix from issue #7478 (validate_path startswith bypass)
was already delivered to master in commit
|
||
|
|
3e13411fcf
|
fix(actors): distinguish namespace/name from provider/model in actor name parsing
CI / lint (pull_request) Successful in 1m17s
CI / typecheck (pull_request) Successful in 2m2s
CI / security (pull_request) Successful in 2m5s
CI / quality (pull_request) Successful in 1m12s
CI / push-validation (pull_request) Successful in 47s
CI / helm (pull_request) Successful in 1m1s
CI / build (pull_request) Successful in 1m8s
CI / integration_tests (pull_request) Successful in 4m52s
CI / unit_tests (pull_request) Failing after 6m20s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 3s
When action YAML references actors using namespace/name format (e.g. `strategy_actor: local/my-strategist`), `_parse_actor_name()` incorrectly treated the namespace prefix as a provider name, causing `ValueError: Unknown provider type: local`. Changes: - `_is_known_provider()`: New utility function (strategy_resolution.py) that checks whether a slash-separated first segment matches a known `ProviderType` value (openai, anthropic, etc.). Consolidated into a single implementation; llm_actors.py now imports from strategy_resolution.py. - `_parse_actor_name()`: When the first segment IS a known provider, preserves existing behaviour (provider/model). When it is NOT a known provider, treats the input as namespace/name and returns the full name as the model identifier with the default provider. Callers SHOULD pre-resolve namespace/name references via the actor registry before calling this function. Both implementations (strategy_resolution.py and llm_actors.py) updated; ProviderType import moved to top level. - `PlanLifecycleService.resolve_actor_provider_model()`: New method that resolves a namespaced actor name (e.g. local/my-strategist) to provider/model format by looking up the actor record and extracting its provider and model fields. - `LifecycleService` Protocol (strategy_resolution.py): Added `resolve_actor_provider_model` to the protocol, eliminating the need for `# type: ignore[union-attr]` at call sites. - `PlanLifecycleProtocol` (llm_actors.py): Added `resolve_actor_provider_model` to the protocol. - Caller pre-resolution: StrategyActor, LLMStrategizeActor, LLMExecuteActor, SessionWorkflow._resolve_llm(), and CLI session commands now pre-resolve actor names through the lifecycle service or via injected actor_resolver callables before calling `_parse_actor_name()`, ensuring namespace/name references are correctly mapped to their underlying LLM providers. - `_build_actor_resolver()` (cli/commands/session.py) and `_build_actor_resolver_for_session_workflow()` (a2a/facade.py): Moved `_is_known_provider` imports to top level; removed redundant `except (NotFoundError, Exception)`; added warning logging for outer exception handlers. - `make_mock_lifecycle()` (mock_strategy_llm.py) and `_make_mock_lifecycle()` (llm_actors_coverage_steps.py): Added `resolve_actor_provider_model` to mock lifecycle services for test compatibility. - Added `@tdd_issue @tdd_issue_11254` tags to all new BDD scenarios related to namespace/name disambiguation in llm_actors_coverage, strategy_actor_llm, and plan_lifecycle_service_coverage_boost_r4 feature files. - Updated docs/CHANGELOG.md with the fix entry. ISSUES CLOSED: #11254 |
||
|
|
8548644819
|
fix(cli): wire SubplanExecutionService in _get_plan_executor() to enable child plan execution
CI / push-validation (pull_request) Successful in 1m1s
CI / helm (pull_request) Successful in 1m12s
CI / lint (pull_request) Successful in 2m22s
CI / build (pull_request) Successful in 2m17s
CI / typecheck (pull_request) Successful in 3m2s
CI / security (pull_request) Successful in 3m1s
CI / quality (pull_request) Successful in 57s
CI / integration_tests (pull_request) Successful in 5m0s
CI / unit_tests (pull_request) Successful in 6m8s
CI / docker (pull_request) Successful in 1m30s
CI / coverage (pull_request) Successful in 11m51s
CI / status-check (pull_request) Successful in 6s
CI / push-validation (push) Successful in 31s
CI / helm (push) Successful in 37s
CI / build (push) Successful in 1m7s
CI / lint (push) Successful in 1m28s
CI / quality (push) Successful in 1m30s
CI / typecheck (push) Successful in 1m44s
CI / security (push) Successful in 1m49s
CI / benchmark-regression (push) Failing after 40s
CI / e2e_tests (push) Successful in 54s
CI / integration_tests (push) Successful in 3m33s
CI / unit_tests (push) Successful in 5m21s
CI / docker (push) Successful in 1m29s
CI / coverage (push) Successful in 11m6s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h39m32s
Wire subplan_service from the DI container into _get_plan_executor() so PlanExecutor can spawn child plans during the Execute phase. When SubplanService is available but SubplanExecutionService is not explicitly injected, _execute_subplans() now lazily creates a SubplanExecutionService on-the-fly using the parent plan's subplan_config and the new _execute_child_plan callback. - _get_plan_executor(): retrieve subplan_service from container, pass to PlanExecutor constructor - _execute_subplans(): lazily build SubplanExecutionService when only SubplanService is wired (Forgejo #10268) - _execute_child_plan(): new PlanExecutor method that runs a child plan's strategize + execute phases, registered as executor_fn callback ISSUES CLOSED: #10268 |
||
|
|
d7f03ee0a6 |
docs: add CHANGELOG.md and CONTRIBUTING.md to docs tree
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 1m7s
CI / helm (pull_request) Successful in 36s
CI / push-validation (pull_request) Successful in 36s
CI / quality (pull_request) Successful in 1m15s
CI / build (pull_request) Successful in 46s
CI / security (pull_request) Successful in 1m22s
CI / typecheck (pull_request) Successful in 1m29s
CI / integration_tests (pull_request) Successful in 3m31s
CI / e2e_tests (pull_request) Successful in 4m18s
CI / unit_tests (pull_request) Successful in 5m24s
CI / docker (pull_request) Successful in 1m38s
CI / coverage (pull_request) Successful in 11m28s
CI / status-check (pull_request) Successful in 4s
CI / benchmark-publish (push) Failing after 39s
CI / build (push) Successful in 52s
CI / helm (push) Successful in 32s
CI / lint (push) Successful in 1m6s
CI / quality (push) Successful in 1m23s
CI / push-validation (push) Successful in 40s
CI / typecheck (push) Successful in 1m42s
CI / security (push) Successful in 1m49s
CI / integration_tests (push) Successful in 3m41s
CI / e2e_tests (push) Successful in 3m56s
CI / unit_tests (push) Successful in 4m41s
CI / docker (push) Successful in 1m32s
CI / coverage (push) Successful in 12m34s
CI / status-check (push) Successful in 3s
Add mirrored versions of root CHANGELOG.md and CONTRIBUTING.md to the docs tree. Add migration headers noting these are mirrors of the authoritative root files. Update mkdocs.yml navigation to include both new pages between FAQ and Reference. |