Commit Graph

1788 Commits

Author SHA1 Message Date
freemo 0295a8104c perf(ci): optimize e2e_tests push job to reduce execution time
Reviewed and APPROVED. Closes #1860.
2026-04-05 21:14:07 +00:00
freemo 4b03d69770 refactor(tests): improve data variation in existing tests using factory and fixture system
Reviewed and APPROVED. Closes #2772.
2026-04-05 21:14:05 +00:00
freemo b565d86847 fix(cli): raise on subcommand registration failure instead of silently returning
Reviewed and APPROVED. Closes #2604.
2026-04-05 21:13:58 +00:00
freemo c92a65bc92 fix(resource): use namespace column instead of name heuristic in db_to_spec() for built_in field
Reviewed and APPROVED. Closes #3013.
2026-04-05 21:13:56 +00:00
freemo c3b2f59772 fix(sandbox): remove type: ignore in SandboxManager strategy assignment
Reviewed and APPROVED. Closes #2828.
2026-04-05 21:13:07 +00:00
freemo 78e146d169 fix(executor): implement automatic per-tool-write and event-based checkpoint triggers
Implements all four automatic checkpoint triggers defined in the specification
for the Execute phase of the plan lifecycle:

- before_tool_execute: Checkpoint created before any tool with writes=True runs
- after_tool_execute: Checkpoint created after a write tool completes successfully
- on_subplan_spawn: Checkpoint created immediately after a child plan is spawned
- on_error: Checkpoint created after any unrecoverable error in the Execute phase

Changes:
- tool/runner.py: Added optional CheckpointService and auto_checkpoint_triggers
  parameters to ToolRunner. Checkpoint hooks fire around write-tool execution
  when a CheckpointService is wired. Exported DEFAULT_AUTO_TRIGGERS as a public
  constant (single source of truth). Made is_trigger_active() public so callers
  can query the active trigger set without accessing private attributes.
- application/services/subplan_execution_service.py: Added optional
  CheckpointService, auto_checkpoint_triggers, and parent_plan_id parameters.
  on_subplan_spawn checkpoint fires in _execute_one_with_retry before the
  first execution attempt. Now imports DEFAULT_AUTO_TRIGGERS from runner.py
  (DRY fix).
- application/services/plan_executor.py: Added _is_auto_trigger_active() helper
  and on_error checkpoint hooks in both _run_execute_with_stub() and
  _run_execute_with_runtime() error paths. Delegates to
  ToolRunner.is_trigger_active() instead of accessing private attributes
  (module boundary fix).
- application/services/config_service.py: Registered new config key
  core.checkpoints.auto_create_on (default: all four triggers enabled) with
  env var CLEVERAGENTS_CHECKPOINT_AUTO_CREATE_ON.
- application/services/llm_actors.py: Replaced Any type for lifecycle_service
  with PlanLifecycleProtocol (typed Protocol) and tool_runner with ToolRunner
  type annotation. Eliminates Any usage for injected dependencies.

Tests:
- features/checkpoint_auto_triggers.feature: 15 Behave scenarios covering all
  four triggers, disable-trigger behavior, no-checkpoint-service fallback, and
  config key registration.
- features/steps/checkpoint_auto_triggers_tool_steps.py: Step definitions for
  ToolRunner and config service scenarios (split from original 519-line file).
- features/steps/checkpoint_auto_triggers_executor_steps.py: Step definitions
  for SubplanExecutionService and PlanExecutor scenarios (split from original).

Closes #3439

ISSUES CLOSED: #3439
2026-04-05 21:13:07 +00:00
freemo d747bfd7de chore(agents): improve ca-bug-hunter — prevent false positive infrastructure bug reports
Reviewed and APPROVED. Closes #1595.
2026-04-05 21:13:06 +00:00
freemo a3eb9ea9d1 fix(cli): add missing _log.debug call to session export/import/tell DatabaseError handlers
Reviewed and APPROVED. Closes #2788.
2026-04-05 21:13:04 +00:00
freemo 188ea031eb fix(resources): register fs-mount built-in resource type at startup
Reviewed and APPROVED. Closes #2911.
2026-04-05 21:13:02 +00:00
freemo b9c3ccee37 fix(robot): correct dedent logic for try...except...finally in indentation_library
Reviewed and APPROVED. Closes #2845.
2026-04-05 21:13:01 +00:00
freemo 24b34e6715 docs: update specification — fix invariant precedence chain (3-tier→4-tier) and document non_overridable flag
Reviewed and APPROVED. Closes #3064.
2026-04-05 21:12:59 +00:00
freemo 8f43352723 fix(resource-type): require letter-start for namespace/name in _NAMESPACED_RE
Reviewed and APPROVED. Closes #2983.
2026-04-05 21:12:17 +00:00
freemo 3d7f213527 fix(tdd): replace non-standard @tdd_bug tags with @tdd_issue per CONTRIBUTING.md
Reviewed and APPROVED. Closes #2779.
2026-04-05 21:12:14 +00:00
freemo 54285e0f33 fix(cli): correct session show rich output Session Summary panel field labels and fields
Reviewed and APPROVED. Closes #3040.
2026-04-05 21:12:13 +00:00
freemo 0b8152b9d0 fix(tui): show command descriptions in SlashCommandOverlay alongside command names
Reviewed and APPROVED. Closes #3437.
2026-04-05 21:12:09 +00:00
freemo b6959aeffe fix(actors): enforce --update flag in agents actor add to prevent silent overwrites
Reviewed and APPROVED. Closes #2609.
2026-04-05 21:11:55 +00:00
freemo c8b66c8294 fix(config): align Settings and alembic/env.py database_url defaults to spec-required ~/.cleveragents/cleveragents.db
Reviewed and APPROVED. Closes #2871.
2026-04-05 21:11:53 +00:00
freemo 6be538bd5c fix(resources): add overlay to ResourceTypeConfigSchema sandbox strategy validation
Reviewed and APPROVED. Closes #2827.
2026-04-05 21:11:50 +00:00
freemo cab263394c fix(resource-registry): implement get_parents() on ResourceDagMixin
Reviewed and APPROVED. Closes #2844.
2026-04-05 21:11:47 +00:00
freemo 1e3390f228 fix(a2a): update A2aVersionNegotiator to support JSON-RPC 2.0
Reviewed and APPROVED. Closes #2747.
2026-04-05 21:11:40 +00:00
freemo 31b8294f2d fix(tool): wire 6-level execution environment precedence chain in ToolRunner
Reviewed and APPROVED. Closes #2592.
2026-04-05 21:11:38 +00:00
freemo 2a541bb1e1 fix(cli): add Name and Updated columns to agents plan list table output
Reviewed and APPROVED. Closes #2611.
2026-04-05 21:11:36 +00:00
freemo 4aaf865420 fix(acms): implement real retrieval logic in all 6 spec-required context strategies
Reviewed and APPROVED. Priority/Critical fix. Closes #3500.
2026-04-05 21:11:34 +00:00
freemo 869777bb86 fix(tui): add plain text format support to session export command
Reviewed and APPROVED. Closes #3036.
2026-04-05 21:10:16 +00:00
freemo ef557a31a9 fix(a2a): change A2aErrorDetail.code to int and map error constants to JSON-RPC 2.0 integer codes
Reviewed and APPROVED. Closes #2746.
2026-04-05 21:10:14 +00:00
freemo e749513704 fix(persistence): persist reversion_count, last_completed_step, and last_checkpoint_id on LifecyclePlanModel
Reviewed and APPROVED. Closes #2864.
2026-04-05 21:10:10 +00:00
freemo 3470d3c061 chore(agents): improve ca-test-infra-improver — prevent massive duplicate issue creation
Reviewed and APPROVED. Closes #1802.
2026-04-05 21:09:53 +00:00
freemo 660a194012 fix(ci): update nightly workflow coverage minimum to 97% per project requirements
Reviewed and APPROVED. Closes #2773.
2026-04-05 21:09:50 +00:00
freemo 3acfe45b7b docs: add providers API reference, update index/architecture/changelog
Reviewed and APPROVED. Documentation-only PR.
2026-04-05 21:09:47 +00:00
freemo 86999ea959 fix(config): add server_url, server_token, format, and default_estimation_actor fields to Settings
Reviewed and APPROVED. Closes #2870.
2026-04-05 21:09:46 +00:00
freemo 920faa0dd8 fix(a2a): add A2A Python SDK as project dependency
Reviewed and APPROVED. Closes #2858.
2026-04-05 21:09:44 +00:00
freemo ddc6fb7372 docs: update session export panels and plan executor subplan wiring
- docs/reference/session_cli.md: add Rich output panels documentation
  for agents session export (Session Export, Contents, Integrity panels
  with example output); update success message to 'Export completed';
  add stdout export note and example (#3424)
- docs/reference/plan_execute.md: add Subplan Spawning section
  documenting SubplanService and SubplanExecutionService injection into
  PlanExecutor, execution flow (_spawn_subplans, _execute_subplans,
  _apply_subplan_results_to_plan), failure handling, and updated
  architecture diagram (#3561)
2026-04-05 21:09:42 +00:00
freemo 63ea4d5279 fix(cli): align actor context CLI with robot test
Reviewed and APPROVED. Closes #2793.
2026-04-05 21:09:42 +00:00
freemo f4233fb3bd fix(config): correct Settings.data_dir default from Path("data") to Path.home() / ".cleveragents"
Reviewed and APPROVED. Closes #2851.
2026-04-05 21:09:36 +00:00
freemo 539f500abe fix(skills): add lowercase-only namespace/name pattern validation to SkillConfigSchema and ActionConfigSchema
Reviewed and APPROVED. Closes #3029.
2026-04-05 21:09:24 +00:00
freemo 2e2202e52f fix(tests): add missing Behave feature file for coverage threshold config
Reviewed and APPROVED. Closes #2767.
2026-04-05 21:09:17 +00:00
freemo eb4ccc819c fix(cli): add NAME positional argument to agents actor add command per spec
Reviewed and APPROVED. Closes #2905.
2026-04-05 21:09:13 +00:00
freemo e5380eabdf fix(acms): align DEFAULT_SKELETON_RATIO default value with spec
Reviewed and APPROVED.
2026-04-05 21:09:10 +00:00
freemo a145986df6 fix(cli): promote --format to global CLI callback option per spec
Reviewed and APPROVED.
2026-04-05 21:09:07 +00:00
freemo e1fbcf6345 fix(sandbox): use spec-required cleveragents/plan- branch naming in git worktree
Reviewed and APPROVED. Closes #2601.
2026-04-05 21:09:04 +00:00
freemo 5824e7c0aa fix(database): move get_all_for_project call outside loop in LegacyDataMigrator
Reviewed and APPROVED. Closes #3047.
2026-04-05 21:08:47 +00:00
freemo db61d66d80 fix(cli): remove --namespace/-n option from agents plan list command
Reviewed and APPROVED. Closes #2986.
2026-04-05 21:08:40 +00:00
freemo 62f90d4db2 fix(a2a): rename A2aErrorDetail.details to data per JSON-RPC 2.0 spec
Reviewed and APPROVED. Closes #2745.
2026-04-05 21:08:36 +00:00
freemo 6e168fe300 fix(skills): replace get_tool() calls with get() in SkillRegistry
Reviewed and APPROVED. Closes #2914.
2026-04-05 21:08:35 +00:00
freemo 98994e8b84 docs(lsp): document LspLifecycleManager restart_server deadlock fix
Reviewed and APPROVED. Documentation-only PR.
2026-04-05 21:08:33 +00:00
freemo acb90b812c fix(exceptions): replace Any with str | os.PathLike | None for FileSystemError.path
Reviewed and APPROVED. Closes #3034.
2026-04-05 21:08:31 +00:00
freemo 6a458e0dbb chore(agents): add mandatory labels to supervisor tracking issue creation
Reviewed and APPROVED. Closes #3070.
2026-04-05 21:08:29 +00:00
freemo 5cc50f5ca1 fix(cli): build spec-required execute output dict with sandbox, worker, and progress fields
Reviewed and APPROVED. Closes #3435.
2026-04-05 21:08:27 +00:00
freemo cdc93dc3cd fix(resources): support multiple named devcontainer configurations
Reviewed and APPROVED. Closes #2615.
2026-04-05 21:07:42 +00:00
freemo 367a272b60 feat(cli): add devcontainer lifecycle state column to agents resource list output
Reviewed and APPROVED. Closes #2596.
2026-04-05 21:07:40 +00:00