Commit Graph

2746 Commits

Author SHA1 Message Date
HAL9000 e6878c2c30 fix(audit): protect AuditService._ensure_session() with threading.Lock
CI / coverage (push) Blocked by required conditions
CI / docker (push) Blocked by required conditions
CI / push-validation (push) Waiting to run
CI / status-check (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / lint (push) Successful in 45s
CI / typecheck (push) Successful in 1m11s
CI / unit_tests (push) Has started running
CI / integration_tests (push) Has started running
CI / quality (push) Successful in 1m5s
CI / security (push) Successful in 1m12s
CI / e2e_tests (push) Has started running
CI / build (push) Has started running
CI / helm (push) Has started running
2026-05-02 21:54:17 +00:00
HAL9000 3e85ff797d chore(deps): remove duplicate langchain-anthropic dependency and clean up stale backup file
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 1m3s
CI / quality (pull_request) Successful in 1m1s
CI / typecheck (pull_request) Successful in 1m21s
CI / security (pull_request) Successful in 1m19s
CI / build (pull_request) Successful in 50s
CI / helm (pull_request) Successful in 26s
CI / push-validation (pull_request) Successful in 19s
CI / e2e_tests (pull_request) Successful in 5m32s
CI / integration_tests (pull_request) Successful in 7m7s
CI / unit_tests (pull_request) Successful in 9m21s
CI / docker (pull_request) Successful in 1m37s
CI / coverage (pull_request) Successful in 15m50s
CI / unit_tests (push) Waiting to run
CI / integration_tests (push) Waiting to run
CI / e2e_tests (push) Waiting to run
CI / coverage (push) Blocked by required conditions
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
CI / helm (push) Waiting to run
CI / push-validation (push) Waiting to run
CI / status-check (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / lint (push) Has started running
CI / status-check (pull_request) Successful in 4s
CI / typecheck (push) Has started running
CI / security (push) Has started running
CI / quality (push) Has started running
- Remove duplicate langchain-anthropic>=0.2.0 from pyproject.toml dependencies
- Remove stale robot/core_cli_commands.robot.backup file (not covered by gitignore)

This cleanup eliminates a duplicate dependency declaration and removes an
untracked backup file from the testing directory.

ISSUES CLOSED: #0
2026-05-02 21:21:01 +00:00
freemo bfdf946776 build: fixed permission to script access for health checks
CI / push-validation (push) Successful in 36s
CI / helm (push) Successful in 42s
CI / build (push) Successful in 50s
CI / lint (push) Successful in 1m22s
CI / typecheck (push) Successful in 1m21s
CI / security (push) Successful in 1m27s
CI / quality (push) Successful in 1m28s
CI / e2e_tests (push) Successful in 4m6s
CI / integration_tests (push) Successful in 6m56s
CI / unit_tests (push) Successful in 8m50s
CI / docker (push) Failing after 0s
CI / coverage (push) Successful in 11m43s
CI / status-check (push) Failing after 3s
CI / benchmark-publish (push) Failing after 2m3s
CI / benchmark-publish (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 13m8s
CI / docker (pull_request) Successful in 1m48s
CI / integration_tests (pull_request) Successful in 5m36s
CI / e2e_tests (pull_request) Successful in 5m57s
CI / unit_tests (pull_request) Successful in 10m13s
CI / quality (pull_request) Successful in 1m51s
CI / helm (pull_request) Successful in 39s
CI / push-validation (pull_request) Successful in 41s
CI / security (pull_request) Successful in 2m27s
CI / build (pull_request) Successful in 1m25s
CI / lint (pull_request) Successful in 2m3s
CI / typecheck (pull_request) Successful in 2m11s
CI / status-check (pull_request) Successful in 3s
2026-05-02 15:38:08 -04:00
freemo ce396d2b43 build: reordered agent perms
CI / benchmark-publish (push) Waiting to run
CI / push-validation (push) Successful in 30s
CI / helm (push) Successful in 42s
CI / build (push) Successful in 47s
CI / quality (push) Successful in 1m14s
CI / lint (push) Successful in 1m25s
CI / typecheck (push) Successful in 1m35s
CI / security (push) Successful in 1m34s
CI / e2e_tests (push) Successful in 5m57s
CI / integration_tests (push) Successful in 7m11s
CI / unit_tests (push) Successful in 9m0s
CI / docker (push) Failing after 1s
CI / coverage (push) Successful in 12m23s
CI / status-check (push) Failing after 3s
2026-05-02 14:33:45 -04:00
freemo 6ee703fef5 script: disabled sequential thinking mcp
CI / benchmark-publish (push) Waiting to run
CI / helm (push) Successful in 40s
CI / build (push) Successful in 58s
CI / lint (push) Successful in 1m9s
CI / quality (push) Successful in 1m12s
CI / typecheck (push) Successful in 1m22s
CI / security (push) Successful in 1m34s
CI / push-validation (push) Successful in 18s
CI / e2e_tests (push) Successful in 4m14s
CI / integration_tests (push) Successful in 4m39s
CI / unit_tests (push) Successful in 6m32s
CI / docker (push) Failing after 0s
CI / coverage (push) Successful in 11m58s
CI / status-check (push) Failing after 3s
2026-05-02 14:11:55 -04:00
freemo 97ea5a26d8 script: reinforced auto-agent scripts
CI / status-check (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / push-validation (push) Successful in 40s
CI / helm (push) Successful in 53s
CI / build (push) Successful in 1m7s
CI / quality (push) Successful in 1m31s
CI / lint (push) Successful in 1m37s
CI / typecheck (push) Successful in 1m39s
CI / security (push) Successful in 1m46s
CI / integration_tests (push) Successful in 4m40s
CI / e2e_tests (push) Successful in 5m10s
CI / unit_tests (push) Successful in 7m10s
CI / docker (push) Waiting to run
CI / coverage (push) Has started running
2026-05-02 14:02:26 -04:00
freemo 0f08f63b17 build: fixed minor duplicate perms 2026-05-02 14:02:26 -04:00
HAL9000 c3752e6dd3 fix(ci): add unit_tests to coverage job needs to prevent misleading parallel results
CI / status-check (push) Blocked by required conditions
CI / push-validation (push) Successful in 35s
CI / lint (push) Successful in 1m18s
CI / helm (push) Successful in 51s
CI / build (push) Successful in 1m16s
CI / quality (push) Successful in 1m36s
CI / security (push) Successful in 1m58s
CI / typecheck (push) Successful in 2m3s
CI / e2e_tests (push) Successful in 4m19s
CI / integration_tests (push) Successful in 4m29s
CI / unit_tests (push) Successful in 6m11s
CI / docker (push) Successful in 1m30s
CI / lint (pull_request) Successful in 41s
CI / quality (pull_request) Successful in 1m21s
CI / typecheck (pull_request) Successful in 1m28s
CI / security (pull_request) Successful in 1m28s
CI / push-validation (pull_request) Successful in 37s
CI / helm (pull_request) Successful in 40s
CI / build (pull_request) Successful in 46s
CI / e2e_tests (pull_request) Failing after 3m36s
CI / coverage (push) Failing after 21m40s
CI / integration_tests (pull_request) Successful in 7m13s
CI / unit_tests (pull_request) Successful in 8m43s
CI / docker (pull_request) Successful in 1m36s
CI / coverage (pull_request) Successful in 12m3s
CI / status-check (pull_request) Failing after 3s
CI / benchmark-publish (push) Successful in 1h38m2s
CI / benchmark-publish (pull_request) Has been skipped
The coverage job in ci.yml previously only depended on [lint, typecheck,
security, quality], allowing it to run in parallel with unit_tests. This
meant coverage could report a pass even when unit tests were still running
or had already failed, wasting CI resources and producing misleading results.

Adding unit_tests to the coverage job's needs list ensures coverage only
starts after tests have passed, eliminating the redundant parallel test
execution and making coverage results meaningful.

ISSUES CLOSED: #10714
2026-05-02 01:36:49 +00:00
HAL9000 83acee552e chore: close stale automation tracking issues
CI / status-check (push) Blocked by required conditions
CI / docker (push) Blocked by required conditions
CI / helm (push) Waiting to run
CI / push-validation (push) Waiting to run
CI / lint (push) Waiting to run
CI / typecheck (push) Waiting to run
CI / security (push) Waiting to run
CI / quality (push) Waiting to run
CI / unit_tests (push) Waiting to run
CI / integration_tests (push) Waiting to run
CI / e2e_tests (push) Waiting to run
CI / coverage (push) Blocked by required conditions
CI / build (push) Waiting to run
CI / benchmark-publish (push) Waiting to run
Closes #10040
Closes #10041
Closes #10049
Closes #10055
2026-05-02 01:36:46 +00:00
HAL9000 9b9bb80e05 fix(container): remove devcontainer-file from CONTAINER_RESOURCE_TYPES
CI / lint (push) Waiting to run
CI / typecheck (push) Waiting to run
CI / security (push) Waiting to run
CI / quality (push) Waiting to run
CI / unit_tests (push) Waiting to run
CI / integration_tests (push) Waiting to run
CI / e2e_tests (push) Waiting to run
CI / coverage (push) Blocked by required conditions
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
CI / helm (push) Waiting to run
CI / push-validation (push) Waiting to run
CI / status-check (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
devcontainer-file is a read-only config file resource, not a running
container. Including it in CONTAINER_RESOURCE_TYPES causes
validate_container_available() to return True when only a config file
is linked, even though no actual container is available.

Closes #10598
2026-05-02 01:36:45 +00:00
freemo 9632ea55dd build: trying new qwen instruct model instead
CI / status-check (push) Blocked by required conditions
CI / lint (push) Successful in 48s
CI / typecheck (push) Successful in 1m15s
CI / security (push) Successful in 1m14s
CI / quality (push) Successful in 41s
CI / push-validation (push) Successful in 30s
CI / helm (push) Successful in 42s
CI / build (push) Successful in 47s
CI / integration_tests (push) Successful in 4m13s
CI / e2e_tests (push) Successful in 5m6s
CI / unit_tests (push) Successful in 6m25s
CI / docker (push) Successful in 1m46s
CI / coverage (push) Failing after 17m43s
CI / benchmark-publish (push) Has started running
2026-05-01 20:03:27 -04:00
freemo bdcc44cb09 build: read and write permissions set seperate edit since read seems to be getting denied as does write
CI / helm (push) Successful in 39s
CI / lint (push) Successful in 57s
CI / build (push) Successful in 53s
CI / quality (push) Successful in 1m24s
CI / typecheck (push) Successful in 1m30s
CI / security (push) Successful in 1m43s
CI / integration_tests (push) Successful in 3m31s
CI / e2e_tests (push) Failing after 3m49s
CI / push-validation (push) Successful in 25s
CI / unit_tests (push) Successful in 4m42s
CI / docker (push) Successful in 1m28s
CI / coverage (push) Successful in 10m44s
CI / status-check (push) Failing after 3s
CI / benchmark-publish (push) Successful in 1h30m7s
2026-05-01 17:58:29 -04:00
freemo 3a6d42ee79 build: fixed some bad permissions and no longer require prompt to be written to a file for supervisors
CI / status-check (push) Blocked by required conditions
CI / push-validation (push) Successful in 31s
CI / helm (push) Successful in 50s
CI / build (push) Successful in 56s
CI / lint (push) Successful in 1m12s
CI / security (push) Successful in 1m27s
CI / typecheck (push) Successful in 1m39s
CI / quality (push) Successful in 1m37s
CI / integration_tests (push) Successful in 3m46s
CI / e2e_tests (push) Successful in 4m10s
CI / unit_tests (push) Successful in 4m55s
CI / coverage (push) Has started running
CI / docker (push) Successful in 1m26s
CI / benchmark-publish (push) Has started running
2026-05-01 17:45:27 -04:00
freemo 9b34d47371 build: new models
CI / benchmark-publish (push) Has started running
CI / push-validation (push) Successful in 48s
CI / helm (push) Successful in 1m8s
CI / build (push) Successful in 1m9s
CI / lint (push) Successful in 1m29s
CI / quality (push) Successful in 1m32s
CI / typecheck (push) Successful in 1m36s
CI / security (push) Successful in 1m35s
CI / integration_tests (push) Successful in 5m21s
CI / unit_tests (push) Successful in 6m0s
CI / e2e_tests (push) Successful in 6m6s
CI / docker (push) Successful in 1m27s
CI / coverage (push) Successful in 23m45s
CI / status-check (push) Successful in 6s
2026-05-01 16:32:39 -04:00
HAL9000 0767e55bd3 fix(acms): make large-project hydration timeout CI-environment-aware
CI / helm (push) Successful in 40s
CI / build (push) Successful in 1m8s
CI / push-validation (push) Successful in 35s
CI / security (push) Successful in 1m27s
CI / lint (push) Successful in 1m27s
CI / quality (push) Successful in 1m28s
CI / typecheck (push) Successful in 1m31s
CI / integration_tests (push) Successful in 3m55s
CI / e2e_tests (push) Successful in 4m6s
CI / unit_tests (push) Successful in 6m21s
CI / docker (push) Successful in 1m34s
CI / coverage (push) Successful in 10m45s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h17m24s
CI / benchmark-publish (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 10m45s
CI / typecheck (pull_request) Successful in 1m33s
CI / e2e_tests (pull_request) Successful in 4m39s
CI / helm (pull_request) Successful in 41s
CI / build (pull_request) Successful in 59s
CI / push-validation (pull_request) Successful in 28s
CI / integration_tests (pull_request) Successful in 5m3s
CI / unit_tests (pull_request) Successful in 6m15s
CI / quality (pull_request) Successful in 1m12s
CI / lint (pull_request) Successful in 1m15s
CI / security (pull_request) Successful in 1m40s
CI / docker (pull_request) Successful in 1m26s
CI / status-check (pull_request) Has been cancelled
Replace the hard-coded 60-second wall-clock limit with an environment-
variable-controlled value (LARGE_IDX_TIMEOUT, default 120 s).  On CI
runners with many parallel Behave workers the runner is under heavy load
and legitimate indexing of 1,000 files (the CI-reduced fixture count)
can exceed the old 60-second limit, causing false timeout failures in
the unit_tests job while the sequential coverage_report job passes.

ISSUES CLOSED: #8726
2026-05-01 09:10:48 +00:00
HAL9000 b55900e818 format(acms): apply ruff formatting to large-project index steps
Run nox -s format which reformatted the BDD step definitions to
conform to the project ruff style rules.

ISSUES CLOSED: #10018
2026-05-01 09:10:48 +00:00
HAL9000 93324e4d91 perf(acms): make large-project fixtures CI-friendly by reducing file count when CI=true
The 10,000-file fixture per scenario was causing CI timeouts when running
in parallel with 32 workers. This adds CI-aware fixture creation that
reduces the actual file count to 1,000 when the CI env var is set, while
keeping the logical test assertions against 10,000 files.

The fix also adds _NUM_DIRS constant for cleaner subdirectory calculation,
imports os for environment variable access, and makes the mixed fixture
CI-aware.

Changes:
- features/steps/acms_large_project_index_steps.py: CI-aware file count, os import, _NUM_DIRS constant
- CHANGELOG.md: already updated in previous commit

Closes #8726
2026-05-01 09:10:48 +00:00
HAL9000 c38ff6bbc4 test(acms): add BDD coverage for 10,000+ file project indexing without timeout 2026-05-01 09:10:48 +00:00
HAL9000 739f7a17ad test(acms): add BDD coverage for 10,000+ file project indexing without timeout
Added a Behave feature file and complete step definitions that validate the
context tier hydrator can index projects with 10,000+ files without timing
out. Covers both the git ls-files (30-second timeout) path and the os.walk
fallback path, as well as binary file filtering and oversized file skipping.

Satisfies the v3.4.0 milestone acceptance criterion: "Projects with 10,000+
files index without timeout."

ISSUES CLOSED: #8726
2026-05-01 09:10:48 +00:00
hurui200320 5580d07419 fix(ci): fix uv install syntax
CI / lint (push) Successful in 39s
CI / security (push) Successful in 1m8s
CI / typecheck (push) Successful in 1m28s
CI / quality (push) Successful in 57s
CI / helm (push) Successful in 38s
CI / build (push) Successful in 42s
CI / push-validation (push) Successful in 24s
CI / e2e_tests (push) Successful in 3m27s
CI / integration_tests (push) Successful in 4m42s
CI / unit_tests (push) Successful in 6m1s
CI / docker (push) Successful in 1m51s
CI / coverage (push) Successful in 10m43s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h37m26s
CI / push-validation (pull_request) Successful in 32s
CI / helm (pull_request) Successful in 34s
CI / lint (pull_request) Successful in 56s
CI / build (pull_request) Successful in 54s
CI / quality (pull_request) Successful in 1m20s
CI / typecheck (pull_request) Successful in 1m24s
CI / security (pull_request) Successful in 1m31s
CI / benchmark-publish (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 3m30s
CI / e2e_tests (pull_request) Successful in 4m21s
CI / unit_tests (pull_request) Successful in 4m45s
CI / docker (pull_request) Successful in 1m26s
CI / coverage (pull_request) Successful in 10m53s
CI / status-check (pull_request) Successful in 3s
2026-05-01 03:04:09 +00:00
freemo b81c296a2b build: fixed model settings
CI / helm (push) Successful in 40s
CI / benchmark-publish (push) Failing after 49s
CI / build (push) Successful in 55s
CI / lint (push) Successful in 1m2s
CI / quality (push) Successful in 1m16s
CI / typecheck (push) Successful in 1m22s
CI / security (push) Successful in 1m45s
CI / integration_tests (push) Successful in 4m21s
CI / e2e_tests (push) Successful in 4m49s
CI / unit_tests (push) Successful in 5m3s
CI / push-validation (push) Successful in 22s
CI / docker (push) Successful in 1m35s
CI / coverage (push) Successful in 10m47s
CI / status-check (push) Successful in 3s
CI / push-validation (pull_request) Successful in 36s
CI / helm (pull_request) Successful in 41s
CI / build (pull_request) Successful in 58s
CI / lint (pull_request) Successful in 1m16s
CI / quality (pull_request) Successful in 1m24s
CI / security (pull_request) Successful in 1m33s
CI / typecheck (pull_request) Successful in 1m41s
CI / benchmark-publish (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 3m29s
CI / e2e_tests (pull_request) Successful in 4m10s
CI / unit_tests (pull_request) Successful in 7m18s
CI / docker (pull_request) Successful in 1m55s
CI / coverage (pull_request) Successful in 14m54s
CI / status-check (pull_request) Successful in 3s
2026-04-30 21:25:47 -04:00
HAL9000 80bc9c552d test: restore and enhance e2e test coverage
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 33s
CI / helm (pull_request) Successful in 45s
CI / build (pull_request) Successful in 1m4s
CI / lint (pull_request) Successful in 1m13s
CI / typecheck (pull_request) Successful in 1m31s
CI / quality (pull_request) Successful in 1m37s
CI / security (pull_request) Successful in 1m49s
CI / integration_tests (pull_request) Successful in 3m34s
CI / e2e_tests (pull_request) Successful in 5m6s
CI / unit_tests (pull_request) Successful in 6m14s
CI / docker (pull_request) Successful in 1m36s
CI / coverage (pull_request) Successful in 12m27s
CI / status-check (push) Blocked by required conditions
CI / coverage (push) Blocked by required conditions
CI / docker (push) Blocked by required conditions
CI / unit_tests (push) Has started running
CI / status-check (pull_request) Successful in 4s
CI / helm (push) Successful in 31s
CI / build (push) Successful in 53s
CI / lint (push) Successful in 1m3s
CI / quality (push) Successful in 1m13s
CI / typecheck (push) Successful in 1m46s
CI / security (push) Successful in 1m46s
CI / push-validation (push) Successful in 20s
CI / benchmark-publish (push) Failing after 43s
CI / e2e_tests (push) Successful in 4m9s
CI / integration_tests (push) Successful in 6m57s
Fix malformed imports in helper_m1_e2e_verification.py and
helper_m4_e2e_cli.py where 'from helpers_common import reset_global_state'
was incorrectly inserted inside a parenthesized import block, causing
Python syntax errors and breaking the lint and unit_tests CI gates.

Also fix import ordering in helper_m2_e2e_verification.py,
helper_m5_e2e_context.py, helper_m5_e2e_support.py, and
helper_m5_e2e_verification.py to satisfy ruff I001 import-sort rules
by placing helpers_common imports in the correct group alongside other
local robot/ helper imports.

ISSUES CLOSED: #8459
2026-05-01 00:59:02 +00:00
HAL9000 7aa50ac489 fix(e2e): restore M5/WF14 tests broken by JSON envelope and stale config
- Add NO_COLOR=1 to E2E Suite Setup and Test Environment to prevent
  Rich from injecting ANSI escape codes into JSON output, which breaks
  Extract JSON From Stdout and JSON assertions in M5/WF14 acceptance tests.

- Add reset_global_state() calls to all M1/M2/M4/M5 E2E verification
  helpers to clear Settings singleton, DI container, provider registry,
  and SQLAlchemy engine cache between parallel pabot worker runs.

- Propagate NO_COLOR=1 at suite-setup level in E2E and integration
  test resource files so all Run Process subprocesses inherit clean
  terminal output mode.

Root causes:
1. Missing NO_COLOR=1 caused Rich ANSI codes in CLI JSON output,
   making json.loads() failures in robot Extract JSON From Stdout
2. Stale Settings singleton carried provider keys and DB paths between
   pabot workers, causing UNIQUE constraint violations and stale config
   lookups in context policy and server mode E2E tests.

Related: PR #9912
2026-05-01 00:59:02 +00:00
freemo 816c16901b build: fixed uncensored model
CI / build (push) Successful in 1m4s
CI / lint (push) Successful in 1m15s
CI / quality (push) Successful in 1m20s
CI / typecheck (push) Successful in 1m43s
CI / security (push) Successful in 1m57s
CI / helm (push) Successful in 42s
CI / benchmark-publish (push) Failing after 36s
CI / integration_tests (push) Successful in 4m35s
CI / e2e_tests (push) Successful in 5m40s
CI / unit_tests (push) Successful in 6m11s
CI / push-validation (push) Successful in 23s
CI / docker (push) Successful in 1m37s
CI / coverage (push) Successful in 12m23s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 30s
CI / helm (pull_request) Successful in 35s
CI / build (pull_request) Successful in 1m4s
CI / lint (pull_request) Successful in 1m22s
CI / quality (pull_request) Successful in 1m23s
CI / security (pull_request) Successful in 1m38s
CI / typecheck (pull_request) Successful in 2m3s
CI / unit_tests (pull_request) Successful in 4m40s
CI / integration_tests (pull_request) Successful in 5m11s
CI / e2e_tests (pull_request) Successful in 5m38s
CI / docker (pull_request) Successful in 1m27s
CI / coverage (pull_request) Successful in 10m45s
CI / status-check (pull_request) Successful in 3s
2026-04-30 20:02:13 -04:00
freemo 516c600c0e build: updated and rename hosted models
CI / status-check (push) Blocked by required conditions
CI / lint (push) Successful in 49s
CI / typecheck (push) Successful in 1m25s
CI / security (push) Successful in 1m23s
CI / quality (push) Successful in 40s
CI / push-validation (push) Successful in 35s
CI / helm (push) Successful in 42s
CI / build (push) Successful in 54s
CI / benchmark-publish (push) Failing after 43s
CI / integration_tests (push) Successful in 4m41s
CI / e2e_tests (push) Successful in 5m9s
CI / unit_tests (push) Successful in 5m56s
CI / coverage (push) Has started running
CI / docker (push) Successful in 1m36s
2026-04-30 19:47:54 -04:00
freemo 8a2e7cda10 build: Updated availible endpoints
CI / status-check (push) Blocked by required conditions
CI / lint (push) Successful in 59s
CI / quality (push) Successful in 1m19s
CI / typecheck (push) Successful in 1m24s
CI / security (push) Successful in 1m39s
CI / benchmark-publish (push) Failing after 42s
CI / push-validation (push) Successful in 30s
CI / helm (push) Successful in 39s
CI / build (push) Successful in 41s
CI / integration_tests (push) Successful in 4m28s
CI / e2e_tests (push) Successful in 3m22s
CI / unit_tests (push) Successful in 6m7s
CI / docker (push) Successful in 1m51s
CI / coverage (push) Failing after 18m36s
2026-04-30 18:28:38 -04:00
HAL9000 4351848c51 fix(tui): extract _FALLBACK_BLOCK_WIDTH constant in LoadingThrobber
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 47s
CI / lint (pull_request) Successful in 1m8s
CI / build (pull_request) Successful in 1m4s
CI / quality (pull_request) Successful in 1m35s
CI / typecheck (pull_request) Successful in 1m47s
CI / security (pull_request) Successful in 1m48s
CI / push-validation (pull_request) Successful in 38s
CI / e2e_tests (pull_request) Successful in 5m15s
CI / integration_tests (pull_request) Successful in 5m52s
CI / unit_tests (pull_request) Successful in 10m28s
CI / docker (pull_request) Successful in 2m15s
CI / coverage (pull_request) Successful in 10m54s
CI / status-check (pull_request) Successful in 3s
CI / helm (push) Successful in 40s
CI / benchmark-publish (push) Failing after 51s
CI / build (push) Successful in 59s
CI / push-validation (push) Successful in 24s
CI / lint (push) Successful in 1m33s
CI / typecheck (push) Successful in 1m34s
CI / quality (push) Successful in 1m34s
CI / security (push) Successful in 1m50s
CI / integration_tests (push) Successful in 3m29s
CI / e2e_tests (push) Failing after 3m50s
CI / unit_tests (push) Successful in 6m8s
CI / docker (push) Successful in 1m37s
CI / coverage (push) Successful in 15m49s
CI / status-check (push) Failing after 3s
Replace magic number 30 with class constant _FALLBACK_BLOCK_WIDTH per reviewer recommendation. No functional change.

ISSUES CLOSED: #6357
2026-04-30 20:52:27 +00:00
HAL9000 90b6b2a43f fix(tui): fix Throbber Rejects Invalid Styles test indentation and add CHANGELOG entry
Use Fix Python Indentation + temp file in robot/tui_throbber.robot to correctly
reconstruct indentation stripped by Robot Framework's Catenate keyword in the
Throbber Rejects Invalid Styles test case. Add indentation_library.py to the
suite's Library imports. Add CHANGELOG.md fix entry for #6357.

ISSUES CLOSED: #6357
2026-04-30 20:52:27 +00:00
HAL9000 7be0078963 fix(tui): narrow exception handling and add test tags to throbber widget 2026-04-30 20:52:19 +00:00
HAL9000 f3ba86a520 fix(tui): restore LoadingThrobber widget and tui_throbber robot tests
The LoadingThrobber widget and its associated Robot Framework integration
tests were developed on the feat/issue-6357-tui-loading-states branch but
were never merged to master. This commit restores:

- robot/tui_throbber.robot: Integration tests for the LoadingThrobber widget
  covering show/hide cycle, style switching, and invalid style rejection
- src/cleveragents/tui/widgets/throbber.py: The LoadingThrobber implementation
  with rainbow and quotes animation styles
- src/cleveragents/tui/quotes.py: Quote loader module for the throbber
- src/cleveragents/tui/data/throbber_quotes.txt: Curated quote collection

The failing test 'Throbber Rejects Invalid Styles' in robot/tui_throbber.robot
was identified by UAT testing [AUTO-UAT-3] as failing because the production
code (LoadingThrobber) was missing from master while the test file was
expected to be present.

ISSUES CLOSED: #6357
2026-04-30 20:52:19 +00:00
freemo 1691def164 build: Moved to using new default qwen instance
CI / build (push) Successful in 1m0s
CI / lint (push) Successful in 1m17s
CI / quality (push) Successful in 1m24s
CI / typecheck (push) Successful in 1m32s
CI / security (push) Successful in 1m49s
CI / benchmark-publish (push) Failing after 39s
CI / push-validation (push) Successful in 24s
CI / helm (push) Successful in 25s
CI / integration_tests (push) Successful in 3m40s
CI / e2e_tests (push) Successful in 4m8s
CI / unit_tests (push) Successful in 4m53s
CI / docker (push) Successful in 1m42s
CI / coverage (push) Successful in 11m13s
CI / status-check (push) Successful in 3s
2026-04-30 16:12:38 -04:00
HAL9000 b747f1aab1 style: reformat cli_main_cov3_steps.py for ruff
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 31s
CI / helm (pull_request) Successful in 42s
CI / build (pull_request) Successful in 59s
CI / lint (pull_request) Successful in 1m7s
CI / typecheck (pull_request) Successful in 1m30s
CI / quality (pull_request) Successful in 1m31s
CI / security (pull_request) Successful in 1m39s
CI / integration_tests (pull_request) Successful in 4m6s
CI / unit_tests (pull_request) Successful in 4m32s
CI / e2e_tests (pull_request) Successful in 4m54s
CI / docker (pull_request) Successful in 1m28s
CI / coverage (pull_request) Successful in 11m22s
CI / status-check (push) Blocked by required conditions
CI / status-check (pull_request) Successful in 4s
CI / benchmark-publish (push) Failing after 53s
CI / lint (push) Successful in 59s
CI / quality (push) Successful in 1m18s
CI / build (push) Successful in 36s
CI / typecheck (push) Successful in 1m29s
CI / security (push) Successful in 1m37s
CI / helm (push) Successful in 35s
CI / push-validation (push) Successful in 20s
CI / integration_tests (push) Successful in 3m28s
CI / e2e_tests (push) Successful in 3m32s
CI / unit_tests (push) Successful in 4m39s
CI / coverage (push) Has started running
CI / docker (push) Successful in 1m56s
The get_err_console patch.object call was being split across lines
in a way ruff did not approve; format it the way ruff expects.
2026-04-30 19:40:33 +00:00
HAL9000 7db9fd1ab2 fix(test): evict sys.modules cache in _register_subcommands import error test 2026-04-30 19:40:33 +00:00
HAL9000 f27a21d0bb fix(correction): implement actual undo logic in _rollback_completed_actions
CI / benchmark-publish (push) Failing after 40s
CI / typecheck (push) Failing after 46s
CI / integration_tests (push) Failing after 40s
CI / quality (push) Failing after 50s
CI / unit_tests (push) Failing after 42s
CI / security (push) Failing after 45s
CI / e2e_tests (push) Failing after 40s
CI / lint (push) Failing after 49s
CI / coverage (push) Has been skipped
CI / docker (push) Has been skipped
CI / helm (push) Failing after 30s
CI / build (push) Failing after 39s
CI / push-validation (push) Successful in 19s
CI / status-check (push) Failing after 4s
CI / coverage (pull_request) Blocked by required conditions
CI / docker (pull_request) Blocked by required conditions
CI / status-check (pull_request) Blocked by required conditions
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 1m40s
CI / quality (pull_request) Successful in 1m52s
CI / build (pull_request) Successful in 39s
CI / security (pull_request) Successful in 2m5s
CI / typecheck (pull_request) Successful in 2m12s
CI / helm (pull_request) Successful in 48s
CI / push-validation (pull_request) Successful in 33s
CI / e2e_tests (pull_request) Successful in 5m12s
CI / integration_tests (pull_request) Failing after 15m26s
CI / unit_tests (pull_request) Failing after 15m28s
The _rollback_completed_actions method was a no-op that only logged
actions without actually performing any undo operations. This breaks
the atomic cascade guarantee described in its docstring.

When a cascade fails mid-way, _rollback_completed_actions is now
called in reverse order. For actions that rolled back a sandbox
(sandbox_rolled_back=True), the sandbox is re-rolled-back to ensure
it's left in a clean state before logging. This call is idempotent
since sandbox rollback is designed to be safe to call on already
clean sandboxes.

This restores the atomicity guarantee: all completed actions are
properly undone on failure, not just logged.
2026-04-30 19:16:01 +00:00
HAL9000 902a86723f fix(cross-plan-correction): implement actual undo logic in _rollback_completed_actions to restore atomic cascade guarantee
The _rollback_completed_actions method was only logging rollback
intent but never actually performing undo operations. On cascade
failure, completed actions were left in an applied state, violating
the atomic cascade guarantee documented in the service docstring.

For each completed action in reverse order, the rollback handler now:
 - Re-cancels the child plan (idempotent: cancelling an already-cancelled
   plan is a safe no-op).
   - If sandbox_rolled_back is true, also rolls back the sandbox.

Individual rollback step failures are logged and do not prevent other
rollback steps from being attempted (best-effort).

ISSUES CLOSED: #9435
2026-04-30 19:16:01 +00:00
HAL9000 7ece6f1530 docs(spec): rename checkpoint triggers on_tool_write → before/after_tool_execute
CI / helm (push) Successful in 30s
CI / build (push) Successful in 53s
CI / lint (push) Successful in 1m15s
CI / quality (push) Successful in 1m26s
CI / typecheck (push) Successful in 1m29s
CI / security (push) Successful in 1m35s
CI / push-validation (push) Successful in 22s
CI / benchmark-publish (push) Failing after 41s
CI / e2e_tests (push) Successful in 3m53s
CI / integration_tests (push) Successful in 5m19s
CI / unit_tests (push) Successful in 6m10s
CI / docker (push) Successful in 1m26s
CI / coverage (push) Successful in 10m40s
CI / status-check (push) Successful in 3s
CI / helm (pull_request) Successful in 45s
CI / push-validation (pull_request) Successful in 55s
CI / build (pull_request) Successful in 1m41s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 2m2s
CI / lint (pull_request) Successful in 2m11s
CI / typecheck (pull_request) Successful in 2m26s
CI / security (pull_request) Successful in 2m35s
CI / integration_tests (pull_request) Successful in 4m41s
CI / e2e_tests (pull_request) Failing after 5m7s
CI / unit_tests (pull_request) Successful in 5m46s
CI / docker (pull_request) Successful in 1m28s
CI / coverage (pull_request) Successful in 10m38s
CI / status-check (pull_request) Failing after 3s
Update the Automatic Checkpoint Triggers table and configuration reference
in docs/specification.md to use the trigger names that match the actual
implementation in ToolRunner and config_service.py:

- on_tool_write → before_tool_execute
- on_tool_write_complete → after_tool_execute

The implementation (PR #3474) chose before_/after_ prefix pattern for
consistency with event naming conventions and because _execute is more
precise than _write. The spec was not updated at that time.

ISSUES CLOSED: #4745
2026-04-30 17:48:19 +00:00
HAL9000 66bd3bf0cf fix(tui): set default THEME to dracula on TUI app class
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 1m0s
CI / build (pull_request) Successful in 27s
CI / quality (pull_request) Successful in 1m19s
CI / helm (pull_request) Successful in 34s
CI / security (pull_request) Successful in 1m26s
CI / typecheck (pull_request) Successful in 1m29s
CI / push-validation (pull_request) Successful in 20s
CI / integration_tests (pull_request) Successful in 4m33s
CI / e2e_tests (pull_request) Successful in 4m29s
CI / unit_tests (pull_request) Successful in 4m49s
CI / docker (pull_request) Successful in 1m28s
CI / coverage (pull_request) Successful in 12m16s
CI / status-check (pull_request) Successful in 3s
CI / benchmark-publish (push) Failing after 56s
CI / build (push) Successful in 59s
CI / lint (push) Successful in 1m20s
CI / push-validation (push) Successful in 35s
CI / typecheck (push) Successful in 1m27s
CI / quality (push) Successful in 1m25s
CI / helm (push) Successful in 44s
CI / security (push) Successful in 1m38s
CI / integration_tests (push) Successful in 3m45s
CI / e2e_tests (push) Successful in 3m51s
CI / unit_tests (push) Successful in 5m14s
CI / docker (push) Successful in 1m56s
CI / coverage (push) Successful in 11m0s
CI / status-check (push) Successful in 4s
The _TextualCleverAgentsTuiApp class was missing the THEME class
variable, causing Textual to use its default textual-dark theme
instead of the Dracula theme required by the spec (docs/specification.md
§TUI Theme). Added THEME: ClassVar[str] = "dracula" to the class and
a corresponding BDD scenario tagged @tdd_issue @tdd_issue_4742 to
verify the fix.

ISSUES CLOSED: #4742
2026-04-30 15:36:26 +00:00
hamza.khyari 435d63c64b Merge pull request 'fix(plan): preserve strategy_decisions_json in error_details during execute and report actual actor mode' (#10945) from bugfix/executor-error-details-overwrite into master
CI / benchmark-publish (push) Failing after 41s
CI / lint (push) Successful in 1m8s
CI / quality (push) Successful in 1m11s
CI / push-validation (push) Successful in 23s
CI / build (push) Successful in 54s
CI / helm (push) Successful in 44s
CI / typecheck (push) Successful in 1m38s
CI / security (push) Successful in 1m39s
CI / integration_tests (push) Successful in 3m48s
CI / e2e_tests (push) Successful in 4m44s
CI / unit_tests (push) Successful in 5m16s
CI / docker (push) Successful in 1m41s
CI / helm (pull_request) Successful in 31s
CI / coverage (push) Successful in 13m51s
CI / build (pull_request) Successful in 50s
CI / lint (pull_request) Successful in 55s
CI / quality (pull_request) Successful in 1m8s
CI / typecheck (pull_request) Successful in 1m29s
CI / security (pull_request) Successful in 1m33s
CI / status-check (push) Successful in 5s
CI / push-validation (pull_request) Successful in 25s
CI / benchmark-publish (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 3m32s
CI / e2e_tests (pull_request) Successful in 3m54s
CI / unit_tests (pull_request) Successful in 5m54s
CI / docker (pull_request) Successful in 1m27s
CI / coverage (pull_request) Successful in 11m18s
CI / status-check (pull_request) Successful in 4s
Reviewed-on: #10945
Reviewed-by: HAL9001 <hal9001@cleverthis.com>
Reviewed-by: HAL 9000 <HAL9000@cleverthis.com>
2026-04-30 15:13:28 +00:00
HAL9001 86e1cdf6ae fix(plan): apply merge pattern to _run_execute_with_runtime and improve docstring
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 34s
CI / push-validation (pull_request) Successful in 33s
CI / lint (pull_request) Successful in 1m7s
CI / quality (pull_request) Successful in 1m8s
CI / build (pull_request) Successful in 48s
CI / typecheck (pull_request) Successful in 1m21s
CI / security (pull_request) Successful in 1m44s
CI / integration_tests (pull_request) Successful in 3m36s
CI / e2e_tests (pull_request) Successful in 4m31s
CI / unit_tests (pull_request) Successful in 4m46s
CI / docker (pull_request) Successful in 1m52s
CI / coverage (pull_request) Successful in 11m9s
CI / status-check (pull_request) Successful in 7s
- Apply error_details merge pattern to _run_execute_with_runtime for
  consistency with _run_execute_with_actor (preserves strategy_decisions_json
  in runtime mode too)
- Expand _run_execute_with_actor docstring to clarify retry is controlled
  by ErrorRecoveryService.max_retries

Addresses remaining review findings from PR #10945.
2026-04-30 14:56:33 +00:00
hamza.khyari a740d9c15a fix: address PR review findings - narrow exception scope and fix test mocks
Address CoreRasurae's review comments:

1. Narrow exception scope in _build_decisions (line 846) to catch only
   json.JSONDecodeError and ValidationError instead of bare Exception.
   This prevents swallowing unintended errors like memory issues.

2. Update feature file section header and scenario titles from
   _run_execute_with_stub to _run_execute_with_actor for consistency.

3. Add spec to MagicMock in failing execute scenario (line 138) to
   match the pattern used in succeeding scenario (line 119).

Note: Master feature entry point - Behave auto-discovers all .feature
files, no explicit entry point needed. Tests run successfully.

ISSUES CLOSED: #10874
2026-04-30 14:56:33 +00:00
HAL9001 9e3d7c6622 fix(plan): preserve strategy_decisions_json in error_details during execute and report actual actor mode
Merge error_details instead of replacing them in _run_execute_with_actor
(formerly _run_execute_with_stub), preserving strategy_decisions_json
stored by run_strategize.  On execute retry, _build_decisions now finds
the full decision hierarchy instead of falling back to definition_of_done
parsing.

- Merge error_details on both success and failure paths
- Report type(self._execute_actor).__name__ instead of hardcoded 'stub'
- Rename _run_execute_with_stub to _run_execute_with_actor
- Add 4 Behave scenarios verifying preservation and mode reporting

ISSUES CLOSED: #10874
2026-04-30 14:56:33 +00:00
HAL9000 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.
2026-04-30 14:26:39 +00:00
hurui200320 8dc55655e9 feat(actor): make built-in actors virtual, resolved on-demand from provider registry
CI / push-validation (push) Successful in 41s
CI / helm (push) Successful in 42s
CI / benchmark-publish (push) Failing after 56s
CI / build (push) Successful in 1m6s
CI / lint (push) Successful in 1m13s
CI / quality (push) Successful in 1m34s
CI / typecheck (push) Successful in 2m12s
CI / security (push) Successful in 2m13s
CI / e2e_tests (push) Successful in 3m45s
CI / integration_tests (push) Successful in 3m57s
CI / unit_tests (push) Successful in 4m53s
CI / docker (push) Successful in 1m34s
CI / coverage (push) Successful in 11m27s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 32s
CI / push-validation (pull_request) Successful in 33s
CI / build (pull_request) Successful in 53s
CI / lint (pull_request) Successful in 59s
CI / quality (pull_request) Successful in 1m28s
CI / security (pull_request) Successful in 1m29s
CI / typecheck (pull_request) Successful in 1m32s
CI / e2e_tests (pull_request) Successful in 4m1s
CI / integration_tests (pull_request) Successful in 5m4s
CI / unit_tests (pull_request) Successful in 5m51s
CI / docker (pull_request) Successful in 1m27s
CI / coverage (pull_request) Successful in 11m51s
CI / status-check (pull_request) Successful in 3s
Replace the DB-persistence approach for built-in actors with in-memory virtual
resolution. Built-in actors (e.g. openai/gpt-4o, anthropic/claude-sonnet) are
now resolved on-demand from ProviderRegistry at query time and merged with
persisted custom actors — no database writes occur for built-in actors.

Key changes:
- Add ActorRegistry._resolve_virtual_builtin_actors(): generates virtual Actor
  objects in-memory from configured providers (is_built_in=True, id=None)
- ActorRegistry.list()/list_actors(): merges virtual built-ins with custom DB
  actors; custom actors win on name collision; result sorted alphabetically
- ActorRegistry.get()/get_actor(): DB-first, virtual built-in fallback,
  NotFoundError if neither
- ActorRegistry.remove()/remove_actor(): rejects virtual built-in names with
  ValidationError
- ActorRegistry.set_default_actor(): stores only the actor name string via new
  actor_preferences singleton table; no actor row created for virtual built-ins
- ActorRegistry.get_default_actor(): reads preference name, resolves via
  DB→virtual chain, returns actor with is_default=True
- Remove ensure_built_in_actors() entirely — 20+ call sites cleaned up including
  plan.py
- Remove ActorRepository.upsert_built_in() — no longer needed
- Remove is_built_in from ActorModel DB column (kept on Actor domain model for
  virtual actors)
- New Alembic migration m10_001_virtual_builtin_actors: drops is_built_in column,
  adds actor_preferences singleton table
- Add ActorService.set_default_actor_name() and get_default_actor_name() for
  preference storage without requiring a DB actor row
- Update 15+ Behave step files and 5 feature files; add new
  features/virtual_builtin_actors.feature with 8 scenarios covering list, show,
  remove, set-default, get-default, no-DB-writes guarantees
- Rewrite tests/actor/test_registry_builtin_yaml.py: TestEnsureBuiltInActorsWithYaml
  → TestResolveVirtualBuiltinActors plus new TestListActors, TestGetActor,
  TestRemoveActor, TestDefaultActor test classes

Quality gates: lint ✓, typecheck ✓, unit_tests ✓ (15674 scenarios), coverage ✓
(97.10%), integration_tests ✓ (1997 tests)

ISSUES CLOSED: #10923
2026-04-30 10:56:21 +00:00
hamza.khyari b04b9ba56e Merge pull request 'fix(plan): only cleanup worktree sandbox on execute failure, not success' (#10873) from bugfix/sandbox-cleanup-on-failure-only into master
CI / benchmark-publish (push) Failing after 45s
CI / lint (push) Successful in 1m1s
CI / build (push) Successful in 59s
CI / push-validation (push) Successful in 34s
CI / quality (push) Successful in 1m18s
CI / helm (push) Successful in 37s
CI / typecheck (push) Successful in 1m39s
CI / security (push) Successful in 1m43s
CI / integration_tests (push) Successful in 3m32s
CI / e2e_tests (push) Successful in 4m7s
CI / unit_tests (push) Successful in 4m47s
CI / docker (push) Successful in 1m31s
CI / coverage (push) Successful in 10m58s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 10m54s
CI / build (pull_request) Successful in 1m8s
CI / quality (pull_request) Successful in 1m55s
CI / integration_tests (pull_request) Successful in 5m37s
CI / e2e_tests (pull_request) Successful in 5m53s
CI / unit_tests (pull_request) Successful in 6m56s
CI / push-validation (pull_request) Successful in 36s
CI / docker (pull_request) Successful in 1m30s
CI / security (pull_request) Successful in 2m0s
CI / helm (pull_request) Successful in 39s
CI / lint (pull_request) Successful in 1m17s
CI / typecheck (pull_request) Successful in 2m1s
CI / status-check (pull_request) Successful in 3s
Reviewed-on: #10873
Reviewed-by: HAL 9000 <HAL9000@cleverthis.com>
2026-04-30 10:21:38 +00:00
HAL9001 1789f6323b fix(plan): only cleanup worktree sandbox on execute failure, not success
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 33s
CI / push-validation (pull_request) Successful in 28s
CI / lint (pull_request) Successful in 1m14s
CI / quality (pull_request) Successful in 1m36s
CI / typecheck (pull_request) Successful in 1m37s
CI / build (pull_request) Successful in 1m42s
CI / security (pull_request) Successful in 1m53s
CI / e2e_tests (pull_request) Successful in 3m49s
CI / integration_tests (pull_request) Successful in 3m53s
CI / unit_tests (pull_request) Successful in 6m33s
CI / docker (pull_request) Successful in 1m29s
CI / coverage (pull_request) Successful in 11m1s
CI / status-check (pull_request) Successful in 4s
Replace unconditional sandbox cleanup in execute_plan's finally block
with conditional cleanup gated on an explicit execute_succeeded flag.
On success the worktree branch survives until plan apply merges it
into the project (spec §13256-13260).

- Add execute_succeeded flag set after successful execution
- Guard finally-block cleanup with 'if not execute_succeeded'
- Remove unused _commit_exc variable in _commit_worktree_changes
- Add BDD test scenarios (sandbox_cleanup_conditional.feature)

ISSUES CLOSED: #10872
2026-04-30 10:03:08 +00:00
HAL9000 87f44e556a chore(agents): fix ca-test-infra-improver health comment spam
CI / lint (push) Successful in 59s
CI / quality (push) Successful in 1m16s
CI / build (push) Successful in 37s
CI / typecheck (push) Successful in 1m18s
CI / helm (push) Successful in 36s
CI / security (push) Successful in 1m24s
CI / push-validation (push) Successful in 22s
CI / benchmark-publish (push) Failing after 42s
CI / integration_tests (push) Successful in 4m48s
CI / e2e_tests (push) Successful in 4m48s
CI / unit_tests (push) Successful in 6m6s
CI / docker (push) Successful in 1m30s
CI / coverage (push) Successful in 11m52s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 39s
CI / lint (pull_request) Successful in 1m16s
CI / build (pull_request) Successful in 58s
CI / quality (pull_request) Successful in 1m45s
CI / typecheck (pull_request) Successful in 1m52s
CI / security (pull_request) Successful in 1m58s
CI / push-validation (pull_request) Successful in 23s
CI / e2e_tests (pull_request) Successful in 4m10s
CI / unit_tests (pull_request) Successful in 5m43s
CI / integration_tests (pull_request) Successful in 5m55s
CI / docker (pull_request) Successful in 1m32s
CI / coverage (pull_request) Successful in 11m12s
CI / status-check (pull_request) Successful in 3s
Replace fragile cycle-modulo health posting guard with timestamp-based
approach and state-change-only posting. The inner monitoring loop no
longer posts health comments — posting is gated by a 10-minute timer
OR meaningful state changes (worker completion, dispatch events).

Approved proposal: #3385
Pattern: workflow_fix
Evidence: Agent posted 44 of 52 session comments in 20 minutes, all
identical, drowning out other agent signals.
Fix: Timestamp-based health posting with state-change triggers.
2026-04-30 08:15:32 +00:00
freemo 602d56f347 chore(agents): fix ca-test-infra-improver health comment spam
Approved proposal: #3385
Pattern: workflow_fix
Evidence: Agent posted 44 of 52 comments in 20 minutes, drowning out all
other agent signals. The cycle % 60 guard was ambiguous and ignored by the
model.
Fix: Replace fragile modulo guard with explicit timestamp-based rate
limiting (10-minute minimum between health posts). Add prominent CRITICAL
warning about rate limiting. Clarify that health posting runs in the outer
loop, not the inner monitoring loop.

ISSUES CLOSED: #3385
2026-04-30 08:15:32 +00:00
HAL9000 3222fab6a4 feat(invariants): implement agents invariant remove CLI command
CI / lint (push) Successful in 54s
CI / quality (push) Successful in 1m16s
CI / build (push) Successful in 52s
CI / helm (push) Successful in 44s
CI / security (push) Successful in 1m27s
CI / typecheck (push) Successful in 1m46s
CI / push-validation (push) Successful in 29s
CI / benchmark-publish (push) Failing after 42s
CI / integration_tests (push) Successful in 3m30s
CI / e2e_tests (push) Successful in 5m44s
CI / unit_tests (push) Successful in 8m18s
CI / docker (push) Successful in 1m58s
CI / coverage (push) Successful in 14m48s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 1m7s
CI / typecheck (pull_request) Successful in 1m13s
CI / security (pull_request) Successful in 1m12s
CI / push-validation (pull_request) Successful in 34s
CI / helm (pull_request) Successful in 36s
CI / build (pull_request) Successful in 53s
CI / quality (pull_request) Successful in 1m30s
CI / e2e_tests (pull_request) Successful in 4m8s
CI / integration_tests (pull_request) Successful in 5m17s
CI / unit_tests (pull_request) Successful in 6m38s
CI / docker (pull_request) Successful in 1m40s
CI / coverage (pull_request) Successful in 10m51s
CI / status-check (pull_request) Successful in 3s
Implements the agents invariant remove CLI command with full specification compliance. The command allows users to remove invariants from agents with a confirmation prompt displaying the invariant ID before removal. The implementation includes support for format options (JSON/YAML) and a --yes flag to bypass confirmation.

The invariant remove command:
- Soft-deletes an invariant by ID via InvariantService.remove_invariant()
- Displays confirmation prompt before removal (bypassable with --yes/-y)
- Outputs the removed invariant ID on success
- Shows clear error message for unknown invariant IDs (NotFoundError)
- Supports --format flag for JSON and YAML output

Full BDD test coverage in features/invariant_cli_new_coverage.feature and Robot Framework integration tests in robot/invariant_cli.robot verify all acceptance criteria from issue #8530.

ISSUES CLOSED: #8530
2026-04-30 06:26:48 +00:00
hurui200320 caf146e132 fix(actor): resolve provider from explicit field in v3 YAML before inferring from model
CI / benchmark-publish (push) Failing after 39s
CI / helm (push) Successful in 38s
CI / build (push) Successful in 54s
CI / lint (push) Successful in 1m2s
CI / push-validation (push) Successful in 21s
CI / quality (push) Successful in 1m26s
CI / typecheck (push) Successful in 1m46s
CI / security (push) Successful in 1m51s
CI / integration_tests (push) Successful in 4m16s
CI / unit_tests (push) Successful in 4m56s
CI / e2e_tests (push) Successful in 4m56s
CI / docker (push) Successful in 1m49s
CI / coverage (push) Successful in 10m51s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 14m50s
CI / docker (pull_request) Successful in 1m58s
CI / quality (pull_request) Successful in 1m18s
CI / e2e_tests (pull_request) Successful in 3m53s
CI / integration_tests (pull_request) Successful in 6m34s
CI / unit_tests (pull_request) Successful in 8m47s
CI / push-validation (pull_request) Successful in 20s
CI / lint (pull_request) Successful in 1m19s
CI / typecheck (pull_request) Successful in 1m26s
CI / security (pull_request) Successful in 1m31s
CI / helm (pull_request) Successful in 36s
CI / build (pull_request) Successful in 43s
CI / status-check (pull_request) Successful in 5s
Two bugs prevented built-in LLM actors from working with models that lack a '/'
separator (e.g. claude-sonnet-4-20250514):

1. _generate_builtin_actor_yaml (actor/registry.py) was constructing the model
   field as '{provider}/{model}' (e.g. 'anthropic/claude-sonnet-4-20250514').
   The Anthropic API expects just the bare model ID, causing 404 errors. Fixed
   by using the bare model identifier and lowercasing the provider field to
   match ProviderType enum values.

2. _build_from_v3 (reactive/config_parser.py) always inferred the provider from
   the model string via infer_provider_from_model(). For models without a '/'
   separator this returned 'custom', an invalid ProviderType, causing
   'Unknown provider type: custom' at runtime. Fixed by checking for an
   explicit top-level 'provider' field in the v3 YAML data (per spec resolution
   order step 2) before falling back to inference.

As a side effect, these fixes also resolve issue #10861: agents actor run now
successfully invokes the LLM when using built-in actors. The @tdd_expected_fail
tag has been removed from features/tdd_actor_run_response.feature accordingly.

New BDD scenarios added to features/builtin_actor_v3_yaml.feature and
features/actor_v3_route_synthesis.feature validate both fixes and the fallback
inference behaviour for models with '/' separators.

All quality gates pass: lint, typecheck, 671 feature files (15673 scenarios),
1997 Robot integration tests, coverage 97.12%.

ISSUES CLOSED: #10926
2026-04-30 02:05:12 +00:00
HAL9000 0ade2526eb docs(cli): update agents validation attach synopsis to use --key value named option format
CI / helm (push) Successful in 30s
CI / benchmark-publish (push) Failing after 44s
CI / build (push) Successful in 51s
CI / lint (push) Successful in 1m15s
CI / quality (push) Successful in 1m20s
CI / push-validation (push) Successful in 35s
CI / typecheck (push) Successful in 1m35s
CI / security (push) Successful in 1m42s
CI / e2e_tests (push) Successful in 4m7s
CI / integration_tests (push) Successful in 4m10s
CI / unit_tests (push) Successful in 5m1s
CI / docker (push) Successful in 1m31s
CI / coverage (push) Successful in 11m28s
CI / status-check (push) Successful in 18s
CI / push-validation (pull_request) Successful in 24s
CI / helm (pull_request) Successful in 30s
CI / lint (pull_request) Successful in 54s
CI / build (pull_request) Successful in 52s
CI / quality (pull_request) Successful in 1m20s
CI / typecheck (pull_request) Successful in 1m24s
CI / security (pull_request) Successful in 1m34s
CI / benchmark-publish (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 4m15s
CI / integration_tests (pull_request) Successful in 5m8s
CI / unit_tests (pull_request) Successful in 6m2s
CI / docker (pull_request) Successful in 1m41s
CI / coverage (pull_request) Failing after 19m6s
CI / status-check (pull_request) Has been cancelled
Update docs/specification.md to clarify that agents validation attach
extra arguments use --key value named option format (not positional
[<ARGS>...] format). Updates synopsis, argument description, and all
inline references across the specification.

ISSUES CLOSED: #4747
2026-04-29 17:08:17 +00:00