f4cea72248034c53bd517798453f7bf441bc209c
2480 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f4cea72248 |
fix(ci): update all merge_invariants callers to use 4-param signature
The PR #11143 adds action_invariants as a 4th parameter to merge_invariants() and InvariantSet.merge(), but two call sites were not updated: - benchmarks/invariant_merge_bench.py: 5 calls with 3 positional args - robot/helper_m3_e2e_verification.py: 2 calls using keyword args All call sites now pass action_invariants=[] for backward-compatible empty-action behavior. |
||
|
|
761622f746 |
fix(invariant): pass action_name in list_invariants when scope is ACTION
Fixes list_invariants(effective=True) to forward action_name to get_effective_invariants when scope is ACTION, ensuring action-scoped invariants are included in effective invariant lists. Also applies ruff formatting to the return statement in get_effective_invariants. Addresses reviewer observation about list_invariants gap. Refs: #9126 |
||
|
|
bf52a9c648 |
fix(invariant): restore ACTION scope in merge_invariants and InvariantSet.merge precedence chain
The 4-tier invariant precedence chain (plan > action > project > global) was broken at the domain layer — merge_invariants() and InvariantSet.merge() only accepted 3 parameters (plan, project, global), silently dropping all action- scoped invariants. Added action_invariants as a fourth parameter with proper backward compatibility (default to empty list). Updated module docstrings, InvariantScope docstring, and InvariantService.get_effective_invariants() to reflect the correct precedence chain. Added comprehensive BDD test scenarios covering four-tier merge precedence, action-before-project ordering, and effective invariant computation with all four scopes. ISSUES CLOSED: #9126 |
||
|
|
97c1007bb5
|
feat(events): wire domain services to emit missing EventBus events
CI / push-validation (pull_request) Successful in 48s
CI / build (pull_request) Successful in 1m17s
CI / helm (pull_request) Successful in 1m0s
CI / lint (pull_request) Successful in 1m54s
CI / quality (pull_request) Successful in 1m55s
CI / security (pull_request) Successful in 2m5s
CI / typecheck (pull_request) Successful in 2m4s
CI / integration_tests (pull_request) Successful in 5m1s
CI / unit_tests (pull_request) Successful in 5m10s
CI / docker (pull_request) Successful in 1m51s
CI / coverage (pull_request) Successful in 12m47s
CI / status-check (pull_request) Successful in 8s
CI / benchmark-publish (push) Has started running
CI / benchmark-regression (push) Failing after 1m15s
CI / typecheck (push) Has started running
CI / security (push) Has started running
CI / quality (push) Has started running
CI / integration_tests (push) Has started running
CI / unit_tests (push) Has started running
CI / e2e_tests (push) Has started running
CI / lint (push) Successful in 56s
CI / helm (push) Successful in 53s
CI / push-validation (push) Successful in 54s
CI / build (push) Successful in 1m24s
CI / coverage (push) Blocked by required conditions
CI / docker (push) Blocked by required conditions
CI / status-check (push) Blocked by required conditions
Add TokenAuthMiddleware to emit AUTH_SUCCESS/AUTH_FAILURE with spec-aligned audit details and wire it through the DI container using server.token resolution. Add Behave and Robot coverage for auth event emission and end-to-end audit persistence, and update audit subscriber producer notes and changelog. ISSUES CLOSED: #714 |
||
|
|
b0b28623a1 |
Merge pull request 'revert(acms): revert PR #11216 — _resolve_effective_budget reads wrong attribute' (#11228) from bugfix/m5-revert-acms-budget-assembler into master
CI / push-validation (push) Successful in 33s
CI / helm (push) Successful in 44s
CI / build (push) Successful in 1m13s
CI / lint (push) Successful in 1m21s
CI / quality (push) Successful in 1m43s
CI / e2e_tests (push) Successful in 1m46s
CI / typecheck (push) Successful in 1m56s
CI / security (push) Successful in 1m55s
CI / benchmark-regression (push) Failing after 1m30s
CI / integration_tests (push) Successful in 3m54s
CI / unit_tests (push) Successful in 6m50s
CI / docker (push) Successful in 1m29s
CI / coverage (push) Successful in 11m1s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h25m33s
CI / push-validation (pull_request) Successful in 48s
CI / helm (pull_request) Successful in 1m3s
CI / lint (pull_request) Successful in 1m48s
CI / build (pull_request) Successful in 1m34s
CI / typecheck (pull_request) Successful in 1m54s
CI / quality (pull_request) Successful in 1m47s
CI / security (pull_request) Successful in 2m2s
CI / integration_tests (pull_request) Failing after 21m0s
CI / unit_tests (pull_request) Failing after 21m2s
CI / coverage (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
Reviewed-on: #11228 Reviewed-by: Rui Hu <rui.hu@cleverthis.com> |
||
|
|
b4351ca78d |
Revert "Merge pull request 'fix(acms): use project-level hot_max_tokens in execute phase context assembly' (#11216) from bugfix/m5-acms-project-budget-override into master"
CI / push-validation (pull_request) Successful in 41s
CI / helm (pull_request) Successful in 50s
CI / build (pull_request) Successful in 1m13s
CI / lint (pull_request) Successful in 1m34s
CI / typecheck (pull_request) Successful in 1m40s
CI / quality (pull_request) Successful in 1m45s
CI / security (pull_request) Successful in 1m50s
CI / integration_tests (pull_request) Successful in 3m52s
CI / unit_tests (pull_request) Successful in 8m50s
CI / docker (pull_request) Successful in 1m39s
CI / coverage (pull_request) Successful in 12m1s
CI / status-check (pull_request) Successful in 6s
This reverts commit |
||
|
|
94622f467c |
Merge pull request 'fix(acms): use project-level hot_max_tokens in execute phase context assembly' (#11216) from bugfix/m5-acms-project-budget-override into master
CI / lint (push) Successful in 1m4s
CI / benchmark-publish (push) Has started running
CI / helm (push) Successful in 51s
CI / push-validation (push) Successful in 50s
CI / build (push) Successful in 1m13s
CI / quality (push) Successful in 1m29s
CI / benchmark-regression (push) Failing after 47s
CI / typecheck (push) Successful in 1m48s
CI / e2e_tests (push) Successful in 1m28s
CI / security (push) Successful in 2m7s
CI / integration_tests (push) Successful in 5m35s
CI / unit_tests (push) Successful in 5m39s
CI / docker (push) Successful in 1m38s
CI / coverage (push) Successful in 11m2s
CI / status-check (push) Successful in 2s
Reviewed-on: #11216 Reviewed-by: HAL9001 <hal9001@cleverthis.com> |
||
|
|
1baa888659 |
fix(acms): use project-level hot_max_tokens in execute phase context assembly
CI / lint (pull_request) Successful in 57s
CI / typecheck (pull_request) Successful in 1m24s
CI / quality (pull_request) Successful in 1m16s
CI / build (pull_request) Successful in 40s
CI / security (pull_request) Successful in 1m28s
CI / integration_tests (pull_request) Successful in 6m2s
CI / helm (pull_request) Successful in 24s
CI / push-validation (pull_request) Successful in 28s
CI / unit_tests (pull_request) Successful in 7m13s
CI / docker (pull_request) Successful in 1m29s
CI / coverage (pull_request) Successful in 11m50s
CI / status-check (pull_request) Successful in 7s
Added _resolve_effective_budget() method to ACMSExecutePhaseContextAssembler that reads each linked project's settings.hot_max_tokens and uses the maximum override value as the pipeline budget instead of the hardcoded global default. Updated assemble() to use the resolved effective budget for both CoreContextBudget and ContextRequest. Added Behave regression scenario with @tdd_issue @tdd_issue_11035 tags verifying the pipeline receives the project-level budget. Removed test artifact ANALYSIS.md left over from scenario 20. Fixes: #11035 Fixes: #11215 |
||
|
|
1196c726f2 |
fix(lint): remove broken step file and fix line-length violation
CI / helm (pull_request) Successful in 56s
CI / push-validation (pull_request) Successful in 1m1s
CI / build (pull_request) Successful in 1m59s
CI / lint (pull_request) Successful in 2m21s
CI / typecheck (pull_request) Successful in 2m49s
CI / quality (pull_request) Successful in 2m56s
CI / security (pull_request) Successful in 3m21s
CI / integration_tests (pull_request) Successful in 5m36s
CI / unit_tests (pull_request) Successful in 9m7s
CI / docker (pull_request) Successful in 1m49s
CI / coverage (pull_request) Successful in 16m22s
CI / status-check (pull_request) Successful in 4s
CI / build (push) Successful in 1m7s
CI / helm (push) Successful in 39s
CI / push-validation (push) Successful in 35s
CI / lint (push) Successful in 1m36s
CI / typecheck (push) Successful in 1m51s
CI / quality (push) Successful in 1m55s
CI / security (push) Successful in 2m8s
CI / e2e_tests (push) Successful in 1m7s
CI / benchmark-regression (push) Failing after 1m22s
CI / integration_tests (push) Failing after 17m27s
CI / unit_tests (push) Failing after 17m29s
CI / benchmark-publish (push) Successful in 1h37m6s
CI / coverage (push) Has been cancelled
CI / docker (push) Has been cancelled
CI / status-check (push) Has been cancelled
- Removed features/steps/plan_status_json_envelope_steps.py which contained invalid Python syntax (dummy content, not referenced by any feature) - Fixed line-length violation in execute_phase_context_assembler.py (CoreContextBudget constructor call exceeded 88-char limit) |
||
|
|
655cd7ebc2 |
fix: persist strategy decisions via DecisionService during strategize (#10813)
The plan tree command reported zero decision nodes after strategize because PlanExecutor.run_strategize() never persisted strategy decisions as domain Decision objects. Added _persist_strategy_decisions() to the PlanExecutor, wired decision_service from the DI container in _get_plan_executor(), and ensure each strategy decision is recorded with correct DecisionType mapping. ISSUES CLOSED: #10813 |
||
|
|
dbc382f3d9 |
Fix TypeError in infer_resource_slots() when properties is null
CI / lint (pull_request) Successful in 1m53s
CI / security (pull_request) Successful in 2m12s
CI / push-validation (pull_request) Successful in 48s
CI / quality (pull_request) Successful in 1m11s
CI / helm (pull_request) Successful in 48s
CI / typecheck (pull_request) Successful in 2m28s
CI / build (pull_request) Successful in 2m10s
CI / integration_tests (pull_request) Successful in 5m50s
CI / unit_tests (pull_request) Successful in 6m17s
CI / docker (pull_request) Successful in 1m39s
CI / coverage (pull_request) Successful in 12m32s
CI / status-check (pull_request) Successful in 3s
CI / lint (push) Successful in 1m11s
CI / helm (push) Successful in 1m7s
CI / push-validation (push) Successful in 41s
CI / build (push) Successful in 1m21s
CI / quality (push) Successful in 1m46s
CI / e2e_tests (push) Successful in 1m16s
CI / security (push) Successful in 1m54s
CI / typecheck (push) Successful in 2m5s
CI / benchmark-regression (push) Failing after 1m22s
CI / integration_tests (push) Successful in 5m1s
CI / unit_tests (push) Successful in 6m55s
CI / docker (push) Successful in 2m36s
CI / coverage (push) Successful in 13m15s
CI / status-check (push) Successful in 8s
CI / benchmark-publish (push) Has been cancelled
Fixed MCPToolAdapter.infer_resource_slots() to handle null values in JSON Schema by using instead of which returned None when the key exists with a null value. The @tdd_expected_fail tag was removed from TDD issue #10470 since the fix is now applied. |
||
|
|
fa95c518d5 |
fix(tui): rename ActorSelectionOverlay._render to avoid shadowing Textual Widget._render
CI / push-validation (pull_request) Successful in 33s
CI / helm (pull_request) Successful in 42s
CI / build (pull_request) Successful in 1m6s
CI / lint (pull_request) Successful in 1m12s
CI / security (pull_request) Successful in 1m47s
CI / quality (pull_request) Successful in 1m53s
CI / typecheck (pull_request) Successful in 2m15s
CI / integration_tests (pull_request) Successful in 3m39s
CI / unit_tests (pull_request) Successful in 7m14s
CI / docker (pull_request) Successful in 1m42s
CI / coverage (pull_request) Successful in 14m56s
CI / status-check (pull_request) Successful in 3s
CI / push-validation (push) Successful in 35s
CI / helm (push) Successful in 1m10s
CI / benchmark-regression (push) Failing after 1m12s
CI / build (push) Successful in 1m16s
CI / lint (push) Successful in 1m36s
CI / quality (push) Successful in 1m43s
CI / e2e_tests (push) Successful in 1m50s
CI / security (push) Successful in 2m7s
CI / typecheck (push) Successful in 2m10s
CI / integration_tests (push) Successful in 4m50s
CI / unit_tests (push) Successful in 5m23s
CI / docker (push) Successful in 1m37s
CI / benchmark-publish (push) Has started running
CI / coverage (push) Successful in 10m54s
CI / status-check (push) Successful in 3s
Rename ActorSelectionOverlay._render() to _refresh_display() to avoid shadowing Textual's Widget._render(), fixing a crash in textual >=1.0 where get_content_height() would receive None and raise AttributeError. ISSUES CLOSED: #11039 |
||
|
|
ef6829b6f8 |
chore(lint): remove unused pathlib.Path import in llm_actors.py
CI / benchmark-publish (push) Has started running
CI / helm (push) Successful in 40s
CI / push-validation (push) Successful in 39s
CI / benchmark-regression (push) Failing after 49s
CI / build (push) Successful in 1m12s
CI / lint (push) Successful in 1m29s
CI / quality (push) Successful in 1m35s
CI / typecheck (push) Successful in 1m44s
CI / security (push) Successful in 2m4s
CI / e2e_tests (push) Successful in 52s
CI / integration_tests (push) Successful in 5m23s
CI / unit_tests (push) Successful in 6m25s
CI / docker (push) Successful in 1m39s
CI / coverage (push) Successful in 11m21s
CI / status-check (push) Successful in 7s
CI / lint (pull_request) Successful in 1m45s
CI / quality (pull_request) Successful in 1m41s
CI / security (pull_request) Successful in 2m19s
CI / typecheck (pull_request) Successful in 2m46s
CI / build (pull_request) Successful in 38s
CI / helm (pull_request) Successful in 38s
CI / push-validation (pull_request) Successful in 25s
CI / integration_tests (pull_request) Successful in 3m58s
CI / unit_tests (pull_request) Successful in 7m35s
CI / docker (pull_request) Successful in 1m55s
CI / coverage (pull_request) Successful in 15m21s
CI / status-check (pull_request) Successful in 10s
|
||
|
|
a37b4e0ccb |
fix(security): use relpath containment instead of startswith to prevent prefix-collision bypass
CI / quality (pull_request) Successful in 1m29s
CI / integration_tests (pull_request) Failing after 1m27s
CI / typecheck (pull_request) Failing after 1m42s
CI / lint (pull_request) Failing after 1m45s
CI / security (pull_request) Failing after 1m45s
CI / build (pull_request) Successful in 32s
CI / helm (pull_request) Successful in 38s
CI / unit_tests (pull_request) Failing after 2m29s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 32s
CI / status-check (pull_request) Failing after 5s
|
||
|
|
4fdfee6150 |
fix(security): fix file_tools.py validate_path startswith bypass #7478
CI / build (push) Successful in 1m10s
CI / benchmark-regression (push) Failing after 1m2s
CI / helm (push) Successful in 1m10s
CI / lint (push) Successful in 1m35s
CI / quality (push) Successful in 1m29s
CI / push-validation (push) Successful in 35s
CI / typecheck (push) Successful in 2m9s
CI / security (push) Successful in 2m7s
CI / e2e_tests (push) Successful in 1m2s
CI / integration_tests (push) Successful in 11m50s
CI / unit_tests (push) Successful in 14m24s
CI / unit_tests (pull_request) Has started running
CI / build (pull_request) Successful in 1m5s
CI / lint (pull_request) Successful in 1m38s
CI / quality (pull_request) Successful in 1m38s
CI / docker (push) Successful in 1m46s
CI / helm (pull_request) Successful in 28s
CI / push-validation (pull_request) Successful in 27s
CI / security (pull_request) Successful in 1m51s
CI / typecheck (pull_request) Successful in 2m42s
CI / integration_tests (pull_request) Successful in 3m46s
CI / coverage (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
CI / coverage (push) Successful in 27m5s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Failing after 25m1s
Replace string-based startswith() path traversal guards with robust Path.relative_to() across three files to prevent prefix-collision bypass attacks. The old checks using str(target).startswith(str(root)) could be evaded by paths like /tmp/abc123-escape when root is /tmp/abc123. Files patched: - src/cleveragents/skills/builtins/file_ops.py (validate_sandbox_path) - src/cleveragents/resource/handlers/_base.py (_safe_resolve) - src/cleveragents/application/services/llm_actors.py (_write_to_sandbox) ISSUES CLOSED: #7478 |
||
|
|
b41f536da6 |
fix(automation): respect automation profile gates in lifecycle service and async jobs
CI / helm (push) Successful in 47s
CI / build (push) Successful in 1m11s
CI / push-validation (push) Successful in 40s
CI / benchmark-publish (push) Has started running
CI / lint (push) Successful in 1m26s
CI / typecheck (push) Successful in 1m55s
CI / e2e_tests (push) Successful in 1m12s
CI / quality (push) Successful in 2m6s
CI / security (push) Successful in 2m9s
CI / benchmark-regression (push) Failing after 1m28s
CI / integration_tests (push) Successful in 3m48s
CI / unit_tests (push) Successful in 7m31s
CI / coverage (push) Has started running
CI / docker (push) Successful in 1m35s
CI / helm (pull_request) Successful in 39s
CI / push-validation (pull_request) Successful in 39s
CI / build (pull_request) Successful in 1m13s
CI / lint (pull_request) Successful in 1m32s
CI / quality (pull_request) Successful in 1m49s
CI / typecheck (pull_request) Successful in 1m48s
CI / security (pull_request) Successful in 1m58s
CI / status-check (push) Has been cancelled
CI / integration_tests (pull_request) Successful in 4m48s
CI / unit_tests (pull_request) Successful in 5m11s
CI / coverage (pull_request) Has started running
CI / docker (pull_request) Successful in 1m44s
CI / status-check (pull_request) Has been cancelled
Add BDD regression tests for issue #4328 automation profile gates Tests verify that complete_strategize() and complete_execute() respect automation profile thresholds and do NOT unconditionally call auto_progress(). Covers 8 built-in profiles: manual, full-auto, supervised, auto, review_before_apply, ci, trusted ISSUES CLOSED: #4328 |
||
|
|
2f29f8352f |
chore: resolve merge conflicts and apply cosmetic fixes
CI / push-validation (push) Successful in 29s
CI / helm (push) Successful in 39s
CI / build (push) Successful in 1m9s
CI / lint (push) Successful in 1m23s
CI / typecheck (push) Successful in 1m34s
CI / quality (push) Successful in 1m39s
CI / security (push) Successful in 1m46s
CI / e2e_tests (push) Successful in 52s
CI / benchmark-regression (push) Failing after 40s
CI / integration_tests (push) Successful in 5m6s
CI / unit_tests (push) Successful in 6m7s
CI / docker (push) Successful in 1m28s
CI / coverage (push) Successful in 10m46s
CI / status-check (push) Successful in 7s
CI / benchmark-publish (push) Failing after 45m49s
CI / helm (pull_request) Successful in 45s
CI / build (pull_request) Successful in 1m8s
CI / lint (pull_request) Successful in 1m45s
CI / quality (pull_request) Successful in 1m39s
CI / security (pull_request) Successful in 2m11s
CI / typecheck (pull_request) Successful in 2m21s
CI / push-validation (pull_request) Successful in 22s
CI / integration_tests (pull_request) Successful in 4m19s
CI / unit_tests (pull_request) Successful in 5m5s
CI / docker (pull_request) Successful in 1m47s
CI / coverage (pull_request) Successful in 11m53s
CI / status-check (pull_request) Successful in 3s
- Resolve CHANGELOG.md conflict to include both entries, referencing issue #8164 instead of PR #11161 - Resolve CONTRIBUTORS.md conflict, fix leading space in new entry - Remove duplicate create_sequence_node function (dead code) Merges master into feat/structural-output-validation branch |
||
|
|
cc8e013f9b |
fix(actor): handle nested actor type and combined config.actor field in v3 YAML
CI / push-validation (push) Successful in 43s
CI / helm (push) Successful in 50s
CI / benchmark-regression (push) Failing after 1m28s
CI / build (push) Successful in 1m39s
CI / quality (push) Successful in 2m32s
CI / lint (push) Successful in 2m37s
CI / security (push) Successful in 2m40s
CI / typecheck (push) Successful in 2m47s
CI / e2e_tests (push) Successful in 2m43s
CI / integration_tests (push) Successful in 5m0s
CI / unit_tests (push) Successful in 8m3s
CI / docker (push) Successful in 1m52s
CI / coverage (push) Successful in 14m30s
CI / status-check (push) Successful in 6s
CI / helm (pull_request) Successful in 46s
CI / build (pull_request) Successful in 1m22s
CI / quality (pull_request) Successful in 1m39s
CI / lint (pull_request) Successful in 1m55s
CI / security (pull_request) Successful in 1m55s
CI / push-validation (pull_request) Successful in 1m40s
CI / typecheck (pull_request) Successful in 1m42s
CI / integration_tests (pull_request) Successful in 4m29s
CI / unit_tests (pull_request) Successful in 5m42s
CI / docker (pull_request) Successful in 1m38s
CI / coverage (pull_request) Successful in 10m50s
CI / status-check (pull_request) Successful in 4s
CI / benchmark-publish (push) Successful in 1h24m10s
Two defects in ActorConfiguration._extract_v3_actor() prevented YAML files
using the spec-canonical nested actors map format from being registered:
Defect A: The method looked for the 'type' field inside the 'config:' block
(config_block.get('type')) instead of at the actor-entry level
(first_entry.get('type')). Because the spec places 'type' at
actors.<name>.type — a sibling of 'config:', not a child of it — the v3
detection branch never fired for nested-actors-map YAMLs, causing
_extract_v3_actor() to return (None, None, None, False) immediately.
Defect B: Even if the type was found, the method only consulted separate
config.provider and config.model keys; it never parsed the combined
config.actor: 'provider/model' shorthand. Without the combined-field
fallback, provider and model remained None for all spec-canonical YAMLs
that use the shorthand, causing from_blob() to raise
'BadParameter: provider is required'.
Both defects had to be fixed together because Defect A blocked the code
from ever reaching the path where Defect B would otherwise have been
encountered.
The combined-format parser (config.actor split on first '/') is inserted
after the explicit config.provider / config.model lookups so that explicit
separate fields always take precedence over the shorthand when both are
present.
Parsing logic extracted into _parse_combined_actor_field() helper to
eliminate DRY violation. Both provider and model halves validated
consistently (empty provider half was previously silently inferred).
Adds Behave scenarios covering: nested actors map + combined config.actor
(success), explicit config.provider precedence over config.actor,
explicit config.model precedence over config.actor, genuinely missing
provider/model raising validation error, and malformed combined values
(empty model half, empty provider half, missing delimiter). Adds a Robot
integration test for the combined-actor YAML path with provider/model
assertions via show. Restores accidentally deleted TOOL and GRAPH Robot
integration tests. Mirrors provider/model extraction in
step_run_actor_update for assertion step compatibility.
ISSUES CLOSED: #11189
|
||
|
|
8c5dbf3f33 |
chore(contributors): add ACMS hot_max_tokens fix detail entry
CI / helm (pull_request) Successful in 43s
CI / build (pull_request) Successful in 1m15s
CI / push-validation (pull_request) Successful in 1m24s
CI / lint (pull_request) Successful in 1m34s
CI / security (pull_request) Successful in 1m47s
CI / quality (pull_request) Successful in 1m50s
CI / typecheck (pull_request) Successful in 2m7s
CI / integration_tests (pull_request) Successful in 4m0s
CI / unit_tests (pull_request) Successful in 10m3s
CI / docker (pull_request) Successful in 1m43s
CI / coverage (pull_request) Successful in 10m56s
CI / status-check (pull_request) Successful in 3s
CI / helm (push) Successful in 38s
CI / push-validation (push) Successful in 37s
CI / build (push) Successful in 1m9s
CI / lint (push) Successful in 1m34s
CI / quality (push) Successful in 1m34s
CI / security (push) Successful in 1m42s
CI / typecheck (push) Successful in 1m53s
CI / e2e_tests (push) Successful in 1m21s
CI / benchmark-regression (push) Failing after 45s
CI / integration_tests (push) Successful in 3m42s
CI / benchmark-publish (push) Has started running
CI / unit_tests (push) Successful in 6m23s
CI / docker (push) Successful in 1m50s
CI / coverage (push) Successful in 11m2s
CI / status-check (push) Successful in 3s
Adds contributor detail line for Hamza Khyari's ACMS execute-phase context assembler project-level budget override fix. ISSUES CLOSED: #11035 |
||
|
|
6d46baf552 |
fix: apply ruff format to step definitions file
CI / push-validation (pull_request) Successful in 35s
CI / helm (pull_request) Successful in 39s
CI / build (pull_request) Successful in 1m13s
CI / lint (pull_request) Successful in 1m17s
CI / quality (pull_request) Successful in 1m42s
CI / typecheck (pull_request) Successful in 1m49s
CI / security (pull_request) Successful in 2m4s
CI / integration_tests (pull_request) Successful in 3m38s
CI / unit_tests (pull_request) Successful in 4m57s
CI / docker (pull_request) Successful in 1m32s
CI / coverage (pull_request) Failing after 10m46s
CI / status-check (pull_request) Failing after 3s
|
||
|
|
ac81ea2ceb |
fix: replace Scenario Outline with literal steps to fix Behave-parallel parameter substitution bug
The Behevare-parallel runner in this project does not support inline
parameter substitution for '{param}' or '<param>' markers within
Scenario Outline Examples. All 4 original Scenario Outlines were failing
because parameters were not being substituted, causing UndefinedStep and
ValueError failures.
Fix: Convert all Scenario Outline scenarios to regular Scenarios with
explicit literal step definitions. Each unique Gherkin line gets its own
@Given/@When/@Then step definition matching the exact string.
Also fix pre-existing bugs identified in PR review #8719:
- Fix undefined step by quoting {{seq}} in feature (line 46)
- Fix ctx.decision_result → ctx.validation_result context variable (line 184)
- Fix ctx.struct_result → ctx.validation_result context variable (line 210)
- Replace # type: ignore[arg-type] with proper Callable[[Any], dict] type
- Add missing literal step definitions for structured_output tests
ISSUES CLOSED: #11161
|
||
|
|
80d27df9cc |
fix(changelog): correct PR #11161 references in CHANGELOG.md and CONTRIBUTORS.md
ISSUES CLOSED: #11147 |
||
|
|
b092ccac49 |
fix(ci): apply ruff formatting to validation.py and step definitions
ISSUES CLOSED: #11147 |
||
|
|
cdafcf73cf |
fix: detect duplicate sibling sequences in validate_plan_tree
ISSUES CLOSED: #11147 |
||
|
|
b59b2508af |
fix(ci): resolve remaining lint errors in __init__.py and step definitions
ISSUES CLOSED: #11147 |
||
|
|
dce30e85a2 |
fix(ci): resolve lint and typecheck failures in structural validation module
ISSUES CLOSED: #11147 |
||
|
|
f8e4f4a579 |
feat: implement structural component output validation
Replace exact character matching with structural component checking for output validation. Implements three validators covering plan tree output, decision CLI dicts, and structured session snapshots. - validate_plan_tree: validates node dicts for required keys (decision_id, type, sequence, question, children), ULID format, correct types, and sibling ordering - validate_decision_dict: validates decision CLI output against Decision.as_cli_dict() schema with field presence, type, ULID, confidence range [0..1], bool fields - validate_structured_output: validates StructuredOutput envelope for command, session_id (ULID), status membership, exit_code, elements integrity - validate_structured_component_output: unified dispatcher by target_type BDD tests in features/structural_validation.feature. ISSUES CLOSED: #11147 |
||
|
|
c768e8c4f5 |
fix(lsp): cleanup subprocess on failed initialization in StdioTransport.start()
CI / push-validation (pull_request) Successful in 35s
CI / helm (pull_request) Successful in 40s
CI / build (pull_request) Successful in 1m13s
CI / lint (pull_request) Successful in 1m26s
CI / quality (pull_request) Successful in 1m25s
CI / security (pull_request) Successful in 2m5s
CI / typecheck (pull_request) Successful in 2m4s
CI / integration_tests (pull_request) Successful in 4m47s
CI / unit_tests (pull_request) Successful in 5m43s
CI / docker (pull_request) Successful in 1m49s
CI / coverage (pull_request) Successful in 12m7s
CI / status-check (pull_request) Successful in 4s
CI / helm (push) Successful in 39s
CI / build (push) Successful in 1m8s
CI / push-validation (push) Successful in 1m7s
CI / lint (push) Successful in 1m39s
CI / quality (push) Successful in 1m38s
CI / security (push) Successful in 1m57s
CI / e2e_tests (push) Successful in 1m19s
CI / typecheck (push) Successful in 2m10s
CI / benchmark-regression (push) Failing after 1m40s
CI / integration_tests (push) Successful in 3m57s
CI / unit_tests (push) Successful in 6m46s
CI / docker (push) Successful in 1m53s
CI / coverage (push) Successful in 12m29s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Has been cancelled
|
||
|
|
39f9903f1a |
fix(tests): restore agent-evolution-pool-supervisor.md or remove its orphaned BDD scenarios
CI / helm (pull_request) Successful in 1m5s
CI / push-validation (pull_request) Successful in 1m14s
CI / build (pull_request) Successful in 1m15s
CI / lint (pull_request) Successful in 1m47s
CI / typecheck (pull_request) Successful in 1m56s
CI / quality (pull_request) Successful in 1m50s
CI / security (pull_request) Successful in 1m56s
CI / integration_tests (pull_request) Successful in 7m43s
CI / unit_tests (pull_request) Successful in 9m18s
CI / docker (pull_request) Successful in 1m35s
CI / coverage (pull_request) Successful in 24m0s
CI / status-check (pull_request) Successful in 4s
CI / push-validation (push) Successful in 46s
CI / helm (push) Successful in 1m0s
CI / lint (push) Successful in 1m17s
CI / build (push) Successful in 1m26s
CI / benchmark-publish (push) Has started running
CI / quality (push) Successful in 1m50s
CI / e2e_tests (push) Successful in 1m52s
CI / security (push) Successful in 1m59s
CI / typecheck (push) Successful in 2m3s
CI / benchmark-regression (push) Failing after 49s
CI / integration_tests (push) Successful in 4m53s
CI / unit_tests (push) Successful in 4m59s
CI / docker (push) Successful in 2m59s
CI / coverage (push) Successful in 13m4s
CI / status-check (push) Successful in 3s
Chose Option B (fallback): remove orphaned BDD scenarios for two retired agents.
Commit
|
||
|
|
a61a418b26 |
build: updated opencode.json
CI / lint (push) Successful in 1m13s
CI / quality (push) Successful in 1m21s
CI / helm (push) Successful in 40s
CI / security (push) Successful in 1m54s
CI / build (push) Successful in 1m2s
CI / typecheck (push) Successful in 1m56s
CI / benchmark-regression (push) Failing after 39s
CI / integration_tests (push) Successful in 4m22s
CI / unit_tests (push) Failing after 6m19s
CI / coverage (push) Has been skipped
CI / docker (push) Has been skipped
CI / push-validation (push) Successful in 20s
CI / e2e_tests (push) Successful in 58s
CI / status-check (push) Failing after 10s
CI / benchmark-publish (push) Successful in 1h23m17s
CI / lint (pull_request) Successful in 1m26s
CI / quality (pull_request) Successful in 1m38s
CI / build (pull_request) Successful in 1m17s
CI / helm (pull_request) Successful in 1m1s
CI / typecheck (pull_request) Successful in 2m8s
CI / security (pull_request) Successful in 2m4s
CI / push-validation (pull_request) Successful in 48s
CI / integration_tests (pull_request) Successful in 5m17s
CI / unit_tests (pull_request) Failing after 6m40s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 8s
|
||
|
|
ecd0a94be4 |
build: got auto-agents to a working state with deterministic starting
CI / helm (push) Successful in 46s
CI / build (push) Successful in 1m18s
CI / push-validation (push) Successful in 1m15s
CI / lint (push) Successful in 1m34s
CI / benchmark-publish (push) Has started running
CI / e2e_tests (push) Successful in 1m53s
CI / security (push) Successful in 2m8s
CI / quality (push) Successful in 1m45s
CI / typecheck (push) Successful in 2m15s
CI / benchmark-regression (push) Failing after 2m26s
CI / unit_tests (push) Failing after 5m33s
CI / docker (push) Has been skipped
CI / integration_tests (push) Has been cancelled
CI / coverage (push) Has been skipped
CI / status-check (push) Failing after 3s
|
||
|
|
3c8cf60110 |
build: got auto-agents to a working state with deterministic starting
CI / benchmark-publish (push) Has started running
CI / benchmark-regression (push) Failing after 1m19s
CI / push-validation (push) Successful in 34s
CI / lint (push) Successful in 1m34s
CI / build (push) Successful in 1m29s
CI / helm (push) Successful in 50s
CI / quality (push) Successful in 1m44s
CI / typecheck (push) Successful in 2m23s
CI / security (push) Successful in 2m34s
CI / e2e_tests (push) Successful in 1m38s
CI / integration_tests (push) Successful in 7m35s
CI / unit_tests (push) Failing after 9m5s
CI / coverage (push) Has been skipped
CI / docker (push) Has been skipped
CI / status-check (push) Failing after 7s
|
||
|
|
d31d9226f9 |
test(wf10_batch.robot): request that LLM not create files (#11133)
CI / push-validation (push) Successful in 32s
CI / helm (push) Successful in 44s
CI / build (push) Successful in 1m17s
CI / lint (push) Successful in 1m31s
CI / e2e_tests (push) Successful in 1m43s
CI / quality (push) Successful in 1m59s
CI / typecheck (push) Successful in 2m17s
CI / benchmark-regression (push) Failing after 40s
CI / security (push) Successful in 2m18s
CI / integration_tests (push) Successful in 3m45s
CI / unit_tests (push) Successful in 6m52s
CI / docker (push) Successful in 2m0s
CI / coverage (push) Successful in 12m43s
CI / status-check (push) Successful in 8s
CI / benchmark-publish (push) Successful in 1h23m7s
Closes: #11007 ## Description Asks LLM to not create files. ## Type of Change - [ X ] Bug fix (non-breaking change which fixes an issue) - [ X ] Test improvements ## Quality Checklist - [ ] Code follows the project's coding standards (see CONTRIBUTING.md) - [ ] All public/protected methods have argument validation - [ ] Static typing is complete (no `Any` unless justified) - [ ] `nox -s typecheck` passes with no errors - [ ] `nox -s lint` passes with no errors - [ ] Unit tests written/updated (Behave scenarios in `features/`) - [ ] Integration tests written/updated (Robot suites in `robot/`) if applicable - [ ] Coverage remains above 85% (`nox -s coverage_report`) - [ ] No security issues introduced (`nox -s security_scan`) - [ ] No dead code introduced (`nox -s dead_code`) - [ ] Documentation updated if behavior changed ## Testing Running in git.cleverthis.com is the only real test possible. ### Test Commands Run ```bash nox -s unit_tests # Behave tests nox -s typecheck # Type checking nox -s lint # Linting nox -s coverage_report # Coverage ``` ## Related Issues Closes #11007 Reviewed-on: #11133 Reviewed-by: Hamza Khyari <hamza.khyari@cleverthis.com> |
||
|
|
f5761912db |
fix(ci): make benchmark-regression resilient to missing S3 baselines
CI / lint (pull_request) Successful in 1m5s
CI / typecheck (pull_request) Successful in 1m11s
CI / security (pull_request) Successful in 1m10s
CI / helm (pull_request) Successful in 44s
CI / push-validation (pull_request) Successful in 44s
CI / build (pull_request) Successful in 58s
CI / quality (pull_request) Successful in 1m30s
CI / integration_tests (pull_request) Successful in 5m2s
CI / unit_tests (pull_request) Successful in 6m13s
CI / docker (pull_request) Successful in 1m28s
CI / coverage (pull_request) Successful in 10m38s
CI / status-check (pull_request) Successful in 3s
CI / lint (push) Successful in 1m14s
CI / quality (push) Successful in 1m11s
CI / typecheck (push) Successful in 1m16s
CI / security (push) Successful in 1m34s
CI / push-validation (push) Successful in 37s
CI / helm (push) Successful in 39s
CI / benchmark-regression (push) Failing after 46s
CI / build (push) Successful in 52s
CI / e2e_tests (push) Successful in 1m9s
CI / integration_tests (push) Successful in 4m53s
CI / unit_tests (push) Successful in 6m4s
CI / docker (push) Successful in 1m28s
CI / coverage (push) Successful in 11m26s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h23m10s
Squash of two overlapping fixes that both addressed ASV benchmark-regression CI failures due to missing S3 baseline data:> 1. Make the job skip when no S3 baseline exists ( |
||
|
|
4099872acd |
fix(events): restore exc_info=True in handler error logging
The exc_info=True parameter was accidentally removed from the event_handler_failed logging block during a previous formatting cleanup. This restores it to include full exception tracebacks in warning logs, which is required by existing integration tests. Refs: #10378 |
||
|
|
3459f821c5 |
fix(events): add close() method to ReactiveEventBus to complete RxPY subject
Add _closed flag and close() method to ReactiveEventBus to complete the RxPY Subject, preventing subscriber resource leaks. close() is idempotent and raises RuntimeError when called on a closed bus. Also adds: - emit() guard against post-close calls (RuntimeError) - __enter__/__exit__ context manager protocol for automatic cleanup - BDD scenarios in event_bus.feature and TDD tests in tdd_reactive_event_bus_close.feature ISSUES CLOSED: #10378 |
||
|
|
3fcfaee02d |
feat(mcp): implement StdioMCPTransport for JSON-RPC 2.0 stdio communication
CI / helm (push) Successful in 38s
CI / build (push) Successful in 1m3s
CI / push-validation (push) Successful in 30s
CI / lint (push) Successful in 1m22s
CI / quality (push) Successful in 1m31s
CI / security (push) Successful in 1m46s
CI / typecheck (push) Successful in 1m53s
CI / integration_tests (push) Successful in 3m41s
CI / e2e_tests (push) Failing after 4m5s
CI / unit_tests (push) Successful in 4m58s
CI / docker (push) Successful in 1m30s
CI / benchmark-regression (push) Failing after 45s
CI / coverage (push) Successful in 11m32s
CI / status-check (push) Successful in 5s
CI / benchmark-publish (push) Successful in 1h20m26s
Implements concrete StdioMCPTransport class that: - Spawns MCP server as subprocess and communicates via JSON-RPC 2.0 over stdio - Performs MCP handshake (initialize + notifications/initialized) - Supports tools/list and tools/call methods - Uses RLock for thread-safe concurrent access - Auto-selected when transport='stdio' in MCPServerConfig Adds BDD tests for stdio transport covering: - Connection lifecycle and error handling - Tool discovery and invocation - MCPToolAdapter integration ISSUES CLOSED: #4918 |
||
|
|
3368cba38f |
refactor(a2a): execute ACP to A2A module rename and symbol standardization (#10583)
CI / lint (push) Successful in 1m15s
CI / helm (push) Successful in 51s
CI / push-validation (push) Successful in 1m3s
CI / build (push) Successful in 1m17s
CI / quality (push) Successful in 1m45s
CI / typecheck (push) Successful in 2m14s
CI / security (push) Successful in 2m13s
CI / integration_tests (push) Successful in 3m48s
CI / e2e_tests (push) Successful in 4m21s
CI / unit_tests (push) Successful in 5m14s
CI / docker (push) Successful in 2m28s
CI / coverage (push) Successful in 11m51s
CI / status-check (push) Successful in 3s
CI / benchmark-regression (push) Has been cancelled
CI / benchmark-publish (push) Has been cancelled
Executes the systematic ACP -> A2A module rename per ADR-047. - Renamed all legacy ACP references to A2A throughout cleveragents.a2a module - Standardized all 22 exported symbols to A2A naming conventions - Added BDD test suite validating export completeness, zero ACP remnants, and documentation accuracy Closes #10583 Parent Epic: #8569 (A2A Standard Adoption) |
||
|
|
09c79eab73 |
chore(deps): upgrade PyYAML to address known security vulnerability (#9244)
CI / helm (push) Successful in 44s
CI / push-validation (push) Successful in 1m38s
CI / lint (push) Successful in 1m45s
CI / benchmark-publish (push) Has started running
CI / build (push) Successful in 2m3s
CI / typecheck (push) Successful in 2m5s
CI / quality (push) Successful in 2m7s
CI / security (push) Successful in 2m27s
CI / benchmark-regression (push) Failing after 43s
CI / integration_tests (push) Successful in 4m2s
CI / e2e_tests (push) Successful in 4m12s
CI / unit_tests (push) Successful in 5m25s
CI / docker (push) Successful in 1m27s
CI / coverage (push) Successful in 11m27s
CI / status-check (push) Successful in 15s
- Add explicit `pyyaml>=6.0.3` constraint to pyproject.toml dependencies with a security comment - Add a `\#\#\# Security` section to CHANGELOG.md documenting this dependency constraint update - Verify no unsafe yaml.load() calls exist in the codebase Co-authored-by: HAL 9000 <hal9000@cleverthis.com> ISSUES CLOSED: #9055 |
||
|
|
8ae754961a |
test(noxfile.py): turn off bold and colors (#11172)
CI / helm (push) Successful in 43s
CI / build (push) Successful in 1m9s
CI / push-validation (push) Successful in 55s
CI / lint (push) Successful in 1m37s
CI / quality (push) Successful in 1m39s
CI / typecheck (push) Successful in 1m57s
CI / security (push) Successful in 2m7s
CI / benchmark-regression (push) Failing after 40s
CI / integration_tests (push) Successful in 3m48s
CI / e2e_tests (push) Failing after 4m13s
CI / unit_tests (push) Successful in 5m13s
CI / docker (push) Successful in 1m27s
CI / coverage (push) Successful in 10m34s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Failing after 52m36s
ISSUES CLOSED: #11134 ## Description This turns off bold and colors in the terminal, making the output much easier to find substrings. ## Type of Change - [ X ] Bug fix (non-breaking change which fixes an issue) - [ X ] Test improvements ## Quality Checklist - [ ] Code follows the project's coding standards (see CONTRIBUTING.md) - [ ] All public/protected methods have argument validation - [ ] Static typing is complete (no `Any` unless justified) - [ ] `nox -s typecheck` passes with no errors - [ ] `nox -s lint` passes with no errors - [ ] Unit tests written/updated (Behave scenarios in `features/`) - [ ] Integration tests written/updated (Robot suites in `robot/`) if applicable - [ ] Coverage remains above 85% (`nox -s coverage_report`) - [ ] No security issues introduced (`nox -s security_scan`) - [ ] No dead code introduced (`nox -s dead_code`) - [ ] Documentation updated if behavior changed ## Testing I ran `nox -e unit_tests` locally, and I verified that the seven errors that had existed no longer exist. ### Test Commands Run ```bash nox -s unit_tests # Behave tests nox -s typecheck # Type checking nox -s lint # Linting nox -s coverage_report # Coverage ``` ## Related Issues ISSUES CLOSED: #11134 ## Implementation Notes This change to the terminal had been done outside the program in git.cleverthis.com, so the problems never showed up there. Reviewed-on: #11172 Reviewed-by: Luis Mendes <luis.mendes@cleverthis.com> |
||
|
|
9cfa1dd1d7 |
fix(subplan): propagate invariant_enforced decisions to child plans on spawn
CI / lint (pull_request) Successful in 1m25s
CI / typecheck (pull_request) Successful in 1m48s
CI / quality (pull_request) Successful in 1m52s
CI / security (pull_request) Successful in 1m52s
CI / push-validation (pull_request) Successful in 36s
CI / helm (pull_request) Successful in 38s
CI / build (pull_request) Successful in 46s
CI / integration_tests (pull_request) Successful in 3m55s
CI / unit_tests (pull_request) Successful in 6m46s
CI / docker (pull_request) Successful in 1m33s
CI / coverage (pull_request) Successful in 10m45s
CI / status-check (pull_request) Successful in 7s
CI / lint (push) Successful in 56s
CI / quality (push) Successful in 1m15s
CI / typecheck (push) Successful in 1m25s
CI / security (push) Successful in 1m30s
CI / build (push) Successful in 34s
CI / push-validation (push) Successful in 40s
CI / helm (push) Successful in 43s
CI / benchmark-regression (push) Failing after 45s
CI / integration_tests (push) Successful in 3m55s
CI / unit_tests (push) Successful in 4m21s
CI / e2e_tests (push) Successful in 4m26s
CI / docker (push) Successful in 1m28s
CI / coverage (push) Successful in 12m20s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h20m8s
SubplanService.spawn() now re-records all invariant_enforced decisions from the parent plan decision tree onto each child plan decision tree. This satisfies the spec requirement: 'recorded as invariant_enforced decisions that propagate to child plans.' (Glossary → Invariant) Previously, child plans started Strategize with a completely empty invariant set, violating the spec's propagation requirement. non_overridable global invariants enforced on the parent were not guaranteed to be enforced on child plans. The fix adds _propagate_invariant_decisions() to SubplanService which queries the parent plan's invariant_enforced decisions and re-records each one on the child plan using DecisionService.record_decision(). The DecisionService is already injected into SubplanService, so no new dependencies are required. BDD regression coverage added in features/tdd_invariant_propagation_subplan.feature with 4 scenarios covering: single invariant propagation, multiple invariant propagation, non_overridable invariant propagation, and clean spawn with no parent invariants. ISSUES CLOSED: #9131 |
||
|
|
3b83438e7d |
test(actor): add regression test for issue 4321 nested config extraction
CI / benchmark-regression (push) Failing after 49s
CI / lint (push) Successful in 1m13s
CI / quality (push) Successful in 1m21s
CI / typecheck (push) Successful in 1m31s
CI / security (push) Successful in 1m31s
CI / push-validation (push) Successful in 39s
CI / helm (push) Successful in 40s
CI / build (push) Successful in 48s
CI / integration_tests (push) Successful in 3m12s
CI / e2e_tests (push) Failing after 3m40s
CI / unit_tests (push) Successful in 6m34s
CI / docker (push) Successful in 1m48s
CI / coverage (push) Successful in 10m46s
CI / status-check (push) Successful in 4s
CI / helm (pull_request) Successful in 35s
CI / push-validation (pull_request) Successful in 34s
CI / build (pull_request) Successful in 55s
CI / lint (pull_request) Successful in 1m15s
CI / quality (pull_request) Successful in 1m17s
CI / typecheck (pull_request) Successful in 1m29s
CI / security (pull_request) Successful in 1m44s
CI / integration_tests (pull_request) Successful in 3m42s
CI / unit_tests (pull_request) Successful in 4m57s
CI / docker (pull_request) Successful in 1m29s
CI / coverage (pull_request) Successful in 10m34s
CI / status-check (pull_request) Successful in 3s
CI / benchmark-publish (push) Has started running
Add BDD regression test for Forgejo issue 4321: ActorRegistry.add()
fails to extract provider and model from nested actor config.
The test verifies that when type is only at the nested actors map level
(not at top level), provider and model are correctly extracted from the
nested config block.
This scenario is already handled correctly by the _extract_nested_v3_config()
function added in commit
|
||
|
|
1e385b8f61 |
Merge pull request 'feat(agents): add review-started notification to pr-review-worker' (#11029) from feature/review-started-notification into master
CI / benchmark-publish (push) Waiting to run
CI / helm (push) Successful in 50s
CI / build (push) Successful in 1m2s
CI / lint (push) Successful in 1m29s
CI / quality (push) Successful in 1m58s
CI / typecheck (push) Successful in 2m7s
CI / push-validation (push) Successful in 31s
CI / security (push) Successful in 2m28s
CI / e2e_tests (push) Successful in 3m27s
CI / integration_tests (push) Successful in 7m7s
CI / unit_tests (push) Successful in 9m26s
CI / docker (push) Successful in 1m49s
CI / coverage (push) Successful in 15m3s
CI / status-check (push) Successful in 3s
CI / benchmark-regression (push) Failing after 30s
Reviewed-on: #11029 Reviewed-by: Luis Mendes <luis.mendes@cleverthis.com> |
||
|
|
f37bfa01fe |
feat(agents): add review-started notification to pr-review-worker
CI / helm (pull_request) Successful in 47s
CI / build (pull_request) Successful in 57s
CI / lint (pull_request) Successful in 1m2s
CI / push-validation (pull_request) Successful in 28s
CI / quality (pull_request) Successful in 1m20s
CI / security (pull_request) Successful in 1m38s
CI / typecheck (pull_request) Successful in 1m40s
CI / integration_tests (pull_request) Successful in 3m24s
CI / unit_tests (pull_request) Successful in 6m48s
CI / docker (pull_request) Successful in 1m41s
CI / coverage (pull_request) Successful in 10m47s
CI / status-check (pull_request) Successful in 3s
Add Step 0 to both first_review and re_review modes — posts a comment on the PR immediately after parameter validation, before any reading or cloning. Gives the PR author instant visibility that a review is in progress. CI flag mode is unchanged (too lightweight to warrant a notification). ISSUES CLOSED: #11028 |
||
|
|
d82f5de2eb |
Merge pull request 'feat(agents): add work-started notification to task-implementor' (#11032) from feature/impl-started-notification into master
CI / status-check (push) Blocked by required conditions
CI / helm (push) Successful in 41s
CI / push-validation (push) Successful in 41s
CI / build (push) Successful in 1m4s
CI / lint (push) Successful in 1m14s
CI / quality (push) Successful in 1m29s
CI / typecheck (push) Successful in 1m57s
CI / security (push) Successful in 1m57s
CI / benchmark-regression (push) Failing after 37s
CI / integration_tests (push) Successful in 3m47s
CI / e2e_tests (push) Successful in 3m52s
CI / unit_tests (push) Successful in 5m9s
CI / coverage (push) Has started running
CI / docker (push) Successful in 1m31s
CI / benchmark-publish (push) Has started running
Reviewed-on: #11032 Reviewed-by: Rui Hu <rui.hu@cleverthis.com> |
||
|
|
39bbff0849 |
feat(agents): add work-started notification to task-implementor
CI / lint (pull_request) Successful in 51s
CI / helm (pull_request) Successful in 29s
CI / build (pull_request) Successful in 31s
CI / quality (pull_request) Successful in 1m21s
CI / typecheck (pull_request) Successful in 1m27s
CI / security (pull_request) Successful in 1m28s
CI / push-validation (pull_request) Successful in 20s
CI / integration_tests (pull_request) Successful in 4m43s
CI / unit_tests (pull_request) Successful in 6m5s
CI / docker (pull_request) Successful in 1m33s
CI / coverage (pull_request) Successful in 10m47s
CI / status-check (pull_request) Successful in 3s
Add Step 2 (notification) to issue_impl and pr_fix procedures — posts a comment on the issue/PR after reading it but before cloning, giving authors instant visibility that implementation work has started. Also update CHANGELOG.md with entry for #11031. ISSUES CLOSED: #11031 |
||
|
|
52830971f2 |
fix(plan): guard cleanup_stale against execute/complete plans awaiting apply
CI / push-validation (pull_request) Successful in 33s
CI / helm (pull_request) Successful in 48s
CI / build (pull_request) Successful in 1m10s
CI / lint (pull_request) Successful in 1m31s
CI / typecheck (pull_request) Successful in 1m53s
CI / quality (pull_request) Successful in 1m57s
CI / security (pull_request) Successful in 2m13s
CI / integration_tests (pull_request) Successful in 4m2s
CI / unit_tests (pull_request) Successful in 5m23s
CI / docker (pull_request) Successful in 1m28s
CI / coverage (pull_request) Successful in 10m41s
CI / status-check (pull_request) Successful in 3s
CI / benchmark-publish (push) Has started running
CI / helm (push) Successful in 52s
CI / push-validation (push) Successful in 56s
CI / benchmark-regression (push) Failing after 1m10s
CI / build (push) Successful in 1m18s
CI / lint (push) Successful in 1m51s
CI / quality (push) Successful in 1m51s
CI / typecheck (push) Successful in 1m58s
CI / security (push) Successful in 2m24s
CI / e2e_tests (push) Successful in 4m30s
CI / integration_tests (push) Successful in 5m20s
CI / unit_tests (push) Successful in 6m58s
CI / docker (push) Successful in 1m28s
CI / coverage (push) Successful in 10m41s
CI / status-check (push) Successful in 3s
Bug #11121: _create_sandbox_for_plan() called GitWorktreeSandbox.cleanup_stale() unconditionally, destroying the cleveragents/plan-<id> git branch when agents plan execute was re-invoked on a plan already in execute/complete state (awaiting apply). This caused plan apply to find zero artifacts. Fix: Add a phase/state guard inside _create_sandbox_for_plan() that returns the flat fallback early when the plan is execute/complete, preserving the worktree branch intact for plan apply to merge. - TDD regression test from issue #11120 (without @tdd_expected_fail) - Verified sandbox lifecycle tests still pass ISSUES CLOSED: #11121 |
||
|
|
9fe69c468c
|
test(plan): add tdd issue-capture test for cleanup_stale destroying execute output before apply
Add two Behave scenarios tagged @tdd_issue, @tdd_issue_11121, and @tdd_expected_fail that capture bug #11121: _create_sandbox_for_plan() calls GitWorktreeSandbox.cleanup_stale() unconditionally on every execute invocation, including when the plan is already in execute/complete state awaiting apply. Scenario 1 asserts that the cleveragents/plan-<id> branch survives a second call to _create_sandbox_for_plan() on an execute/complete plan. This assertion fails because cleanup_stale deletes the branch regardless of plan state. Scenario 2 asserts that plan apply would find at least one artifact after a re-invoked execute on an execute/complete plan. This assertion fails because the branch (holding execute output) was destroyed by cleanup_stale. Both scenarios use @tdd_expected_fail so CI passes while the bug is unfixed. The @mock_only tag ensures no database is created for these git-only tests. The companion fix is tracked in issue #11121. Additional CI fixes bundled in this commit: - Fixed PlanGenerationGraph recursion bug: _should_retry() was mutating state in-place but LangGraph conditional edge functions cannot persist state mutations. Replaced with a proper _handle_retry() node that increments retry_count via state returns, resolving the GraphRecursionError that was crashing the integration tests. Updated the graph to include handle_retry as the 5th node, routing validate→should_retry→handle_retry→analyze. - Fixed TDD quality gate (scripts/tdd_quality_gate.py): Renamed @tdd_bug_N tags to @tdd_issue_N to match the CONTRIBUTING.md specification. Added _diff_is_tdd_issue_capture() detection so that TDD issue-capture PRs (which add @tdd_expected_fail rather than remove it) pass the quality gate correctly. Updated all related tests (Behave unit tests, Robot integration tests, and test helpers) to use the new tag naming. ISSUES CLOSED: #11120 |
||
|
|
d25a060c58 |
Revert "feat(ci): implement TDD bug tag quality gate for bug fix PRs"
CI / lint (pull_request) Successful in 50s
CI / quality (pull_request) Successful in 1m2s
CI / push-validation (pull_request) Successful in 39s
CI / helm (pull_request) Successful in 43s
CI / typecheck (pull_request) Successful in 1m31s
CI / security (pull_request) Successful in 1m32s
CI / build (pull_request) Successful in 1m3s
CI / integration_tests (pull_request) Successful in 3m42s
CI / unit_tests (pull_request) Successful in 6m13s
CI / docker (pull_request) Successful in 2m2s
CI / coverage (pull_request) Successful in 11m15s
CI / status-check (pull_request) Successful in 3s
CI / build (push) Successful in 53s
CI / lint (push) Successful in 1m1s
CI / helm (push) Successful in 26s
CI / quality (push) Successful in 1m16s
CI / typecheck (push) Successful in 1m20s
CI / security (push) Successful in 1m37s
CI / benchmark-regression (push) Failing after 40s
CI / push-validation (push) Successful in 21s
CI / integration_tests (push) Successful in 3m17s
CI / unit_tests (push) Successful in 4m28s
CI / e2e_tests (push) Successful in 3m22s
CI / docker (push) Successful in 1m52s
CI / coverage (push) Successful in 12m50s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h20m0s
This reverts commit
|
||
|
|
d1328e562f |
Fix validation bypass for code longer than 10 characters — the length fallback was overriding LLM-based FAIL verdicts and rendering validation ineffective
CI / push-validation (push) Successful in 49s
CI / benchmark-regression (push) Failing after 1m36s
CI / benchmark-publish (push) Successful in 1h20m14s
CI / tdd_quality_gate (push) Has been skipped
CI / e2e_tests (push) Successful in 4m55s
CI / unit_tests (push) Successful in 8m57s
CI / lint (push) Failing after 26m11s
CI / integration_tests (push) Failing after 4m56s
CI / push-validation (pull_request) Successful in 48s
CI / tdd_quality_gate (pull_request) Failing after 1m19s
CI / integration_tests (pull_request) Failing after 4m36s
CI / e2e_tests (pull_request) Successful in 5m16s
CI / unit_tests (pull_request) Successful in 6m41s
CI / helm (push) Failing after 16m22s
CI / security (push) Failing after 16m52s
CI / quality (push) Failing after 16m52s
CI / build (push) Failing after 16m51s
CI / typecheck (push) Failing after 17m2s
CI / docker (push) Has been skipped
CI / coverage (push) Has been skipped
CI / status-check (push) Failing after 3s
CI / helm (pull_request) Failing after 16m0s
CI / build (pull_request) Failing after 16m31s
CI / security (pull_request) Failing after 16m38s
CI / lint (pull_request) Failing after 16m38s
CI / typecheck (pull_request) Failing after 16m41s
CI / quality (pull_request) Failing after 16m43s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 3s
|