freemo
94a774a1f0
feat(concurrency): add plan resume
...
CI / lint (pull_request) Failing after 23s
CI / typecheck (pull_request) Successful in 59s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Successful in 58s
CI / quality (pull_request) Successful in 43s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 25s
CI / benchmark-regression (pull_request) Has been skipped
CI / integration_tests (pull_request) Failing after 3m51s
CI / unit_tests (pull_request) Failing after 23m31s
CI / docker (pull_request) Has been skipped
Implement step-level progress persistence and plan resume with graceful
shutdown handling.
- Add ResumeCheckpoint, ResumeMetadata, ResumeEligibility, ResumeSummary
domain models (resume.py)
- Add PlanResumeService with validate_eligibility(), build_resume_summary(),
resume_plan(dry_run), record_step_checkpoint(), record_shutdown()
- Add last_completed_step and last_checkpoint_id fields to Plan model
- Add 'plan resume' CLI command with --dry-run flag
- Update plan lifecycle docs (ADR-006) with resume behavior section
- Add Behave tests (24 scenarios in plan_resume.feature)
- Add Robot Framework integration tests (10 tests)
- Add ASV benchmarks for resume overhead
Closes #328
2026-02-25 03:31:25 +00:00
freemo
6c39cb6d2e
feat(concurrency): add plan and project locks
...
Implemented plan-level and project-level locking with configurable timeouts.
Added locks table via Alembic migration storing owner_id, resource_type,
resource_id, acquired_at, and expires_at. Locks enforced in
PlanLifecycleService transitions. Support for re-entrant acquisition,
lock renewal, graceful shutdown release, and startup cleanup of expired
locks. Added diagnostics check for stale lock reporting.
ISSUES CLOSED : #327
2026-02-25 03:31:08 +00:00
freemo
1cafe1de08
feat(changeset): persist changesets and diff artifacts
...
Add SQLite persistence for ChangeSet entries and ToolInvocation records
via new changeset_repository module implementing the ChangeSetStore protocol.
- Alembic migration d0_001 creates changeset_entries and tool_invocations tables
- SqliteChangeSetStore, ChangeSetEntryRepository, ToolInvocationRepository
- PlanApplyService.cleanup_changeset() for cancel/failure cleanup
- Behave tests (17 scenarios), Robot tests (5 cases), ASV benchmarks
- Reference documentation in docs/reference/changeset.md
Closes #163
2026-02-25 03:30:51 +00:00
freemo
1a1dfd6fd8
feat(provider): add cost controls and fallback
...
Add token/cost tracking, budget enforcement (per-plan and per-day),
provider fallback selection with capability filtering, and cost
metadata for plan models.
New modules:
- providers/cost_table.py: CostEntry + ProviderCostTable with default
pricing for OpenAI, Anthropic, Google, Groq, Together, Cohere, Mock
- providers/cost_tracker.py: BudgetStatus enum, BudgetCheckResult,
CostTracker with warn-at-90%/block-at-100% enforcement
- providers/fallback_selector.py: FallbackSelector with capability
filtering (tool_calls, streaming, vision, json_mode) and budget
- domain/models/core/cost_metadata.py: CostMetadata + BudgetExhaustionEvent
Modified:
- config/settings.py: budget_per_plan, budget_per_day, fallback_providers
- domain/models/core/plan.py: cost_metadata field + CLI dict surfacing
- providers/__init__.py: public exports for new classes
Testing:
- 71 Behave scenarios in features/cost_controls.feature (all pass)
- 6 Robot Framework integration tests (all pass)
- ASV benchmarks in benchmarks/cost_controls_bench.py
- nox lint, typecheck, format, docs, build, dead_code, security_scan pass
Closes #324
2026-02-25 03:30:51 +00:00
freemo
3c0251d90e
fix(provider): remove FakeListLLM defaults
2026-02-25 03:30:51 +00:00
freemo
25c571541f
feat(skill): integrate agent skills discovery
...
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 25s
CI / quality (pull_request) Successful in 33s
CI / security (pull_request) Successful in 36s
CI / typecheck (pull_request) Successful in 37s
CI / integration_tests (pull_request) Successful in 2m48s
CI / unit_tests (pull_request) Successful in 17m30s
CI / benchmark-regression (pull_request) Successful in 17m43s
CI / docker (pull_request) Successful in 1m2s
CI / coverage (pull_request) Successful in 46m42s
CI / lint (push) Successful in 13s
CI / quality (push) Successful in 26s
CI / security (push) Successful in 53s
CI / typecheck (push) Successful in 53s
CI / build (push) Successful in 33s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m2s
CI / benchmark-publish (push) Successful in 13m12s
CI / unit_tests (push) Successful in 20m41s
CI / docker (push) Successful in 1m14s
CI / coverage (push) Successful in 1h7m53s
Add agent skills discovery system that scans configurable filesystem
paths for Agent Skills Standard folders (containing SKILL.md with YAML
front-matter) and registers them as tools in ToolRegistry.
Core implementation:
- New skills/discovery.py module with path parsing, directory scanning,
SKILL.md front-matter parsing, ToolSpec building, and registration
with configurable conflict handling (skip/error/replace strategies)
- Config key skills.agent_skills_paths for comma-separated discovery paths
- ToolSpec extended with source and source_metadata fields for provenance
- ToolRegistry.list_tools() gains source filter parameter
- SkillRegistryService rewritten with discover_and_register() and
refresh_agent_skills() hooks for on-demand re-scanning
- CLI "agents skill tools" command updated with --refresh flag and
source metadata in JSON output
Testing:
- 27 Behave scenarios covering config key, path parsing, discovery,
ToolSpec building, registration, conflict handling, refresh, edge
cases (invalid YAML, empty front-matter, non-dict YAML, empty
descriptions, noop handler), and source metadata
- 10 Robot Framework integration tests for end-to-end discovery flow
- ASV benchmarks for discovery scan performance overhead
Documentation:
- docs/reference/skill_registry.md updated with Agent Skills Discovery
section covering config, algorithm, SKILL.md format, conflict
handling, refresh hook, CLI output, and service API
ISSUES CLOSED : #161
2026-02-24 19:41:29 +00:00
freemo
f7993d7309
feat(cli): align actor commands to YAML
...
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 32s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 54s
CI / integration_tests (pull_request) Successful in 4m48s
CI / unit_tests (pull_request) Successful in 15m53s
CI / docker (pull_request) Successful in 14s
CI / benchmark-regression (pull_request) Successful in 17m19s
CI / coverage (pull_request) Successful in 26m43s
CI / lint (push) Successful in 13s
CI / build (push) Successful in 15s
CI / quality (push) Successful in 16s
CI / security (push) Successful in 28s
CI / typecheck (push) Successful in 44s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m0s
CI / benchmark-publish (push) Successful in 12m5s
CI / unit_tests (push) Successful in 13m42s
CI / docker (push) Successful in 1m9s
CI / coverage (push) Has been cancelled
Align actor add/remove/list/show commands to YAML-first configs,
namespaced names, and --format json|yaml|plain output support.
Changes:
- Add --format option to list, show, add, and update commands
- Add --update flag to add command for updating existing actors
- Add _actor_spec_dict helper for structured output serialization
- Update _print_actor to support format_output rendering
- Add Behave feature tests for CLI format scenarios (11 scenarios)
- Add Robot Framework integration test for show output fields
- Add ASV benchmark for actor CLI parsing overhead
- Add CLI reference documentation for actor commands
ISSUES CLOSED : #288
2026-02-24 19:12:01 +00:00
brent.edwards
aa06b7aa37
Merge branch 'master' into fix/database-parallelism
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 22s
CI / build (pull_request) Successful in 23s
CI / quality (pull_request) Successful in 31s
CI / security (pull_request) Successful in 50s
CI / typecheck (pull_request) Successful in 56s
CI / integration_tests (pull_request) Successful in 2m42s
CI / unit_tests (pull_request) Successful in 15m24s
CI / docker (pull_request) Successful in 1m0s
CI / benchmark-regression (pull_request) Successful in 20m58s
CI / coverage (pull_request) Successful in 31m36s
2026-02-24 18:33:45 +00:00
freemo
c47e6445d0
feat(actor): compile hierarchical actor configs to LangGraph
...
CI / quality (pull_request) Successful in 19s
CI / lint (pull_request) Successful in 22s
CI / benchmark-publish (pull_request) Has been skipped
CI / security (pull_request) Successful in 33s
CI / build (pull_request) Successful in 26s
CI / typecheck (pull_request) Successful in 1m0s
CI / integration_tests (pull_request) Successful in 4m56s
CI / unit_tests (pull_request) Successful in 15m11s
CI / docker (pull_request) Successful in 1m33s
CI / benchmark-regression (pull_request) Successful in 20m55s
CI / coverage (pull_request) Successful in 33m42s
CI / lint (push) Successful in 13s
CI / build (push) Successful in 15s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 28s
CI / typecheck (push) Successful in 32s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 3m3s
CI / benchmark-publish (push) Successful in 10m8s
CI / unit_tests (push) Successful in 12m42s
CI / docker (push) Successful in 39s
CI / coverage (push) Has been cancelled
Add ActorCompiler module that translates GRAPH-type ActorConfigSchema
definitions into LangGraph NodeConfig/Edge structures with LSP binding
metadata. Includes subgraph resolution with cross-actor cycle detection,
entry/exit validation, and CompilationMetadata for diagnostics.
New files:
- src/cleveragents/actor/compiler.py: Core compiler with compile_actor()
- features/actor_compiler.feature: 13 Behave scenarios
- features/steps/actor_compiler_steps.py: Step definitions
- robot/actor_compiler.robot: 4 Robot smoke tests
- benchmarks/actor_compiler_bench.py: ASV performance benchmarks
- docs/reference/actor_compiler.md: Compilation pipeline reference
Modified:
- src/cleveragents/actor/__init__.py: Export compiler types
- vulture_whitelist.py: Whitelist new public API
ISSUES CLOSED : #158
2026-02-24 17:57:18 +00:00
freemo
55aee7cf22
fix(test): commit after each add_skill to prevent session GC rollback, and improved coverage.
...
CI / lint (pull_request) Successful in 18s
CI / quality (pull_request) Successful in 21s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 14s
CI / security (pull_request) Successful in 49s
CI / typecheck (pull_request) Successful in 56s
CI / integration_tests (pull_request) Successful in 2m35s
CI / unit_tests (pull_request) Successful in 14m30s
CI / docker (pull_request) Successful in 55s
CI / benchmark-regression (pull_request) Successful in 21m11s
CI / coverage (pull_request) Successful in 34m22s
CI / lint (push) Successful in 12s
CI / build (push) Successful in 16s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 1m0s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m54s
CI / benchmark-publish (push) Successful in 11m48s
CI / unit_tests (push) Successful in 16m30s
CI / docker (push) Successful in 28s
CI / coverage (push) Successful in 25m45s
The step_register_skills_table step called add_skill in a loop but only
committed once at the end. Because SkillRepository.create() obtains a
new session per call and only flushes (never commits), the intermediate
sessions could be garbage-collected before the final commit, rolling
back their transactions on the shared SQLite :memory: connection. Moving
_commit_pending inside the loop ensures each skill is durably committed
before the next session is created.
ISSUES CLOSED : #418
2026-02-24 12:19:04 -05:00
brent.edwards
c402e6402b
Merge branch 'master' into fix/database-parallelism
CI / quality (pull_request) Successful in 17s
CI / lint (pull_request) Successful in 20s
CI / benchmark-publish (pull_request) Has been skipped
CI / typecheck (pull_request) Successful in 30s
CI / build (pull_request) Successful in 18s
CI / security (pull_request) Successful in 50s
CI / integration_tests (pull_request) Successful in 3m34s
CI / unit_tests (pull_request) Successful in 6m43s
CI / docker (pull_request) Successful in 1m4s
CI / benchmark-regression (pull_request) Successful in 20m59s
CI / coverage (pull_request) Successful in 25m3s
2026-02-24 16:02:53 +00:00
freemo
aa008ba5d7
feat(cli): add action and plan CLI extensions
...
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 18s
CI / build (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 30s
CI / security (pull_request) Successful in 32s
CI / integration_tests (pull_request) Successful in 4m2s
CI / unit_tests (pull_request) Successful in 7m26s
CI / docker (pull_request) Successful in 9s
CI / benchmark-regression (pull_request) Successful in 16m11s
CI / coverage (pull_request) Successful in 23m7s
CI / lint (push) Successful in 26s
CI / quality (push) Successful in 19s
CI / typecheck (push) Successful in 1m4s
CI / build (push) Successful in 39s
CI / security (push) Successful in 1m2s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m15s
CI / benchmark-publish (push) Successful in 11m19s
CI / unit_tests (push) Successful in 14m6s
CI / docker (push) Successful in 9s
CI / coverage (push) Successful in 37m7s
Add extended CLI flags and output rendering for plan and action
commands in the v3 plan lifecycle.
Plan use command:
- --automation-profile flag validates against BUILTIN_PROFILES and
persists to plan metadata with PLAN provenance
- --invariant flag (repeatable) passes PlanInvariant objects with
InvariantSource.PLAN to PlanLifecycleService.use_action()
- --strategy-actor, --execution-actor, --estimation-actor, and
--invariant-actor flags validate namespace/name format via
validate_namespaced_actor() before setting on the plan
Plan status/list output:
- Profile and Invariants columns added to plan status summary table
- Profile and Invariants columns added to lifecycle-list table
- _plan_spec_dict includes estimation_actor, invariant_actor, and
invariants fields in all output formats (json, yaml, plain, table)
- _print_lifecycle_plan rich panel displays invariants with source
provenance tags
Action show output:
- _print_action displays estimation_actor, invariant_actor,
invariants list, inputs_schema, and automation_profile when present
- _action_spec_dict conditionally includes estimation_actor,
invariant_actor, and inputs_schema fields
Documentation:
- docs/reference/plan_cli.md documents all extended flags, actor
override validation, and usage examples
- docs/reference/action_cli.md documents extended output fields and
YAML configuration options
Tests:
- 29 Behave scenarios in features/cli_extensions.feature covering
automation profile, invariant flags, actor override validation,
plan status/list rendering, and action show extended fields
- 5 Robot Framework integration tests in robot/cli_extensions.robot
for plan use with invariants, profiles, and actor validation
- 6 ASV benchmark suites in benchmarks/cli_extensions_bench.py
measuring parsing overhead for all new flags and rendering paths
ISSUES CLOSED : #325
2026-02-24 13:41:11 +00:00
brent.edwards
dd963daeaa
Merge branch 'master' into fix/database-parallelism
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 33s
CI / integration_tests (pull_request) Successful in 3m53s
CI / unit_tests (pull_request) Successful in 7m31s
CI / docker (pull_request) Successful in 16s
CI / benchmark-regression (pull_request) Successful in 18m4s
CI / coverage (pull_request) Successful in 23m36s
2026-02-24 00:45:01 +00:00
brent.edwards
f2b9ccfde4
fix(test): isolate parallel behave subprocesses with per-scenario temp databases
...
Each behave-parallel worker previously resolved to the same file-based
SQLite database (cleveragents.db or .cleveragents/db.sqlite) because
before_scenario removed the CLEVERAGENTS_DATABASE_URL env var and the
fallback paths are shared across processes. Under parallel execution
this caused intermittent 'database is locked' and duplicate-project
errors—most visibly in the coverage_report nox session.
Replace the env-var removal in before_scenario with unique temp database
paths via tempfile.mktemp(), giving every scenario its own isolated
database file. Temp files are cleaned up in after_scenario.
Also fix cli_streaming_steps.py where a Background + duplicate Given
sequence triggered a duplicate project name collision, and update
coverage_boost_steps.py so Settings-default assertions explicitly clear
the env vars before testing pydantic defaults.
2026-02-24 00:41:01 +00:00
khyari hamza
2c46a0be5a
revert(test): remove StaticPool from skill registry in-memory db
...
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 18s
CI / security (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 32s
CI / integration_tests (pull_request) Successful in 2m25s
CI / unit_tests (pull_request) Successful in 6m52s
CI / docker (pull_request) Successful in 42s
CI / benchmark-regression (pull_request) Successful in 16m35s
CI / coverage (pull_request) Successful in 23m1s
Reverts the StaticPool fix (68bc068) as it is no longer needed on
develop-hamza-2. Restores the original SingletonThreadPool default
for sqlite:///:memory: engine creation.
2026-02-23 22:20:44 +00:00
khyari hamza
1eb028402c
fix(test): use StaticPool for skill registry in-memory db
...
The default SingletonThreadPool for sqlite:///:memory: can
non-deterministically lose flushed data when multiple sessions are
created without closing (as in the bulk-register table step).
Under CI with coverage --parallel-mode and behave-parallel --processes 32,
this caused list_all() to return 2 skills instead of 3.
StaticPool guarantees all sessions share the exact same DBAPI connection,
which is the SQLAlchemy-recommended pattern for :memory: test databases.
2026-02-23 22:20:44 +00:00
khyari hamza
1a0a501f66
refactor(resource): address PR review feedback for handler runtime
...
- extract BaseResourceHandler to eliminate ~90% duplication between
GitCheckoutHandler and FsDirectoryHandler
- raise RuntimeError when sandbox.context is None instead of silent
empty string fallback
- add threading.Lock to resolver handler cache for thread safety
- type resource_lookup/type_lookup as Callable instead of Any
- log original HandlerResolutionError at DEBUG before fallback
- use behave.runner.Context in step definitions per repo convention
2026-02-23 22:20:44 +00:00
khyari hamza
bfc6ab0fb1
feat(resource): add handler runtime for git-checkout and fs-directory
2026-02-23 22:20:44 +00:00
khyari hamza
229dbc8925
refactor(decision): address PR review feedback
...
- add with_superseded_by() helper for frozen model mutation
- document frozen model + superseded_by interaction in docstring
- clarify sequence_number uniqueness is a persistence concern
- add scenario for invalid corrects_decision_id ULID validation
- add scenario for with_superseded_by copy behavior
- type step helper dict as dict[str, Any]
2026-02-23 22:20:03 +00:00
khyari hamza
abcfba7e66
feat(decision): add decision domain and context snapshots
2026-02-23 22:19:19 +00:00
freemo
76375134f1
Fix: linting errors fixed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 21s
CI / build (pull_request) Successful in 23s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 35s
CI / unit_tests (pull_request) Successful in 7m26s
CI / docker (pull_request) Successful in 1m0s
CI / benchmark-regression (pull_request) Successful in 20m7s
CI / coverage (pull_request) Successful in 48m7s
CI / integration_tests (pull_request) Successful in 2m21s
CI / quality (push) Successful in 18s
CI / lint (push) Successful in 21s
CI / build (push) Successful in 29s
CI / security (push) Successful in 36s
CI / typecheck (push) Successful in 59s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m8s
CI / benchmark-publish (push) Successful in 11m33s
CI / unit_tests (push) Successful in 13m16s
CI / docker (push) Successful in 59s
CI / coverage (push) Successful in 23m28s
2026-02-23 09:47:00 -05:00
freemo
f69224e7e9
feat(cli): add action and plan CLI extensions
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 15s
CI / quality (pull_request) Successful in 17s
CI / build (pull_request) Successful in 17s
CI / security (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 31s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 3m44s
CI / unit_tests (pull_request) Successful in 7m4s
CI / docker (pull_request) Has been skipped
2026-02-23 10:46:53 +00:00
freemo
999013a4a4
feat(plan): add phase reversion state machine
2026-02-23 10:45:01 +00:00
freemo
234a2fe52a
feat(config): add config service with multi-level resolution
2026-02-23 10:44:58 +00:00
brent.edwards
f48eb5a05f
feat(cli): add interactive repl
...
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 19s
CI / build (pull_request) Successful in 24s
CI / security (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 43s
CI / integration_tests (pull_request) Successful in 2m37s
CI / unit_tests (pull_request) Successful in 6m12s
CI / docker (pull_request) Successful in 1m1s
CI / benchmark-regression (pull_request) Successful in 15m33s
CI / coverage (pull_request) Successful in 21m54s
Implement `agents repl` command providing an interactive read-eval-print
loop that dispatches to existing CLI commands without the `agents` prefix.
Features:
- Command dispatch via existing Typer app
- readline history with --no-history opt-out (default: ~/.cleveragents/history)
- Tab-completion for all CLI commands and built-in commands
- !! last-command repetition
- Prompt context from CLEVERAGENTS_PROJECT / CLEVERAGENTS_PLAN env vars
- Ctrl+C (continue) and Ctrl+D (exit) signal handling
- Multi-line input with \ continuation
- :help and :exit/:quit built-in commands
Test coverage:
- 15 Behave scenarios (features/repl.feature)
- 10 Robot Framework smoke tests (robot/repl_smoke.robot)
- ASV benchmark suite (benchmarks/repl_bench.py)
- All nox sessions pass: lint, typecheck, unit_tests, integration_tests
- Coverage: 97.2% (threshold: 97%)
2026-02-23 03:11:12 +00:00
freemo
e24c7bf731
Fix: Fixed lint again
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 23s
CI / build (pull_request) Successful in 25s
CI / security (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 29s
CI / integration_tests (pull_request) Successful in 2m40s
CI / unit_tests (pull_request) Successful in 6m8s
CI / docker (pull_request) Successful in 58s
CI / benchmark-regression (pull_request) Successful in 15m39s
CI / coverage (pull_request) Successful in 22m8s
CI / lint (push) Successful in 13s
CI / build (push) Successful in 17s
CI / quality (push) Successful in 18s
CI / typecheck (push) Successful in 28s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 35s
CI / integration_tests (push) Successful in 3m22s
CI / unit_tests (push) Successful in 6m44s
CI / docker (push) Successful in 40s
CI / benchmark-publish (push) Successful in 9m50s
CI / coverage (push) Successful in 22m26s
2026-02-22 16:15:49 -05:00
freemo
41ca082022
Tests: Improved coverage to get us back above 97%
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 13s
CI / quality (pull_request) Successful in 17s
CI / build (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 34s
CI / security (pull_request) Successful in 33s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 2m31s
CI / unit_tests (pull_request) Successful in 6m43s
CI / docker (pull_request) Has been skipped
2026-02-22 15:29:41 -05:00
freemo
029f09db1c
fix: update M4.1 scenarios for M4.2 allowing empty/whitespace guidance in request_correction
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 14s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 29s
CI / typecheck (pull_request) Failing after 31s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / integration_tests (pull_request) Failing after 3m41s
CI / unit_tests (pull_request) Successful in 6m31s
CI / docker (pull_request) Has been skipped
2026-02-22 17:56:18 +00:00
freemo
8182ac2917
fix: update M4.1 tests for M4.2 CorrectionRequest empty guidance now allowed
2026-02-22 17:41:10 +00:00
freemo
50e5bd6f9b
fix: update M4.1 step file to use target_decision_id matching M4.2 CorrectionService API
2026-02-22 17:38:43 +00:00
freemo
787ee5d0dd
fix: rename ACP 'a ValueError should be raised' step to avoid AmbiguousStep with LSP step
2026-02-22 17:22:52 +00:00
freemo
f1f68804ed
fix: rename 'I try to get correction' step to 'correction flow' prefix to avoid AmbiguousStep
2026-02-22 17:15:51 +00:00
freemo
dd3c70665e
Merge remote-tracking branch 'origin/feature/m6-acp-stubs' into feature/jeff-combined-day14-batch2
2026-02-22 17:05:00 +00:00
freemo
ee67ecb7cb
merge: resolve M4.1+M4.2 conflicts (M4.2 supersedes M4.1 models/service)
2026-02-22 17:04:03 +00:00
freemo
e2fa756be4
merge: resolve M1.2 conflict in services/__init__.py
2026-02-22 16:54:36 +00:00
freemo
9371992525
Merge remote-tracking branch 'origin/feature/m5-automation-profiles' into feature/jeff-combined-day14-batch2
2026-02-22 16:50:42 +00:00
freemo
5946dcc636
merge: resolve M3.5+M4.1 conflict in services/__init__.py
2026-02-22 16:49:56 +00:00
freemo
62605bc6f8
merge: resolve M2.7+M3.5 conflict in cli/main.py
2026-02-22 16:46:07 +00:00
freemo
dc2a42889a
Merge remote-tracking branch 'origin/feature/m2-lsp-stubs' into feature/jeff-combined-day14-batch2
2026-02-22 16:43:52 +00:00
freemo
33a5adcfee
feat(M4.2): Correction service with revert/append BFS + dry-run
...
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 17s
CI / build (pull_request) Successful in 22s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 33s
CI / integration_tests (pull_request) Successful in 2m25s
CI / unit_tests (pull_request) Successful in 5m43s
CI / docker (pull_request) Successful in 58s
CI / benchmark-regression (pull_request) Successful in 17m48s
CI / coverage (pull_request) Successful in 19m18s
Adds CorrectionRequest, CorrectionResult, CorrectionMode,
CorrectionPatch, CorrectionDryRunReport, CorrectionNotFoundError,
and CorrectionConflictError domain models.
Implements CorrectionService with BFS-based revert (marks decisions
as rolled back and restores via inverse changes) and append mode
(spawns a child correction plan). Includes request_correction()
with dry-run support and dispatch_correction() convenience method.
33 Behave scenarios, 8 Robot smoke tests, ASV benchmark suite,
and reference documentation.
Ref: Day-14 Rebaseline – M4.2 Decision-correction flows [Jeff]
2026-02-22 16:40:06 +00:00
freemo
a2da043cbd
feat(M1.2): PlanExecutionContext, RuntimeExecuteActor, and runtime mode
...
CI / lint (pull_request) Successful in 25s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 21s
CI / typecheck (pull_request) Successful in 39s
CI / security (pull_request) Successful in 37s
CI / build (pull_request) Successful in 26s
CI / integration_tests (pull_request) Successful in 4m43s
CI / unit_tests (pull_request) Successful in 11m2s
CI / docker (pull_request) Successful in 58s
CI / benchmark-regression (pull_request) Successful in 18m58s
CI / coverage (pull_request) Successful in 24m24s
Adds PlanExecutionContext carrying plan metadata and delegating
changeset ops to ChangeSetStore. RuntimeExecuteResult captures
execution output (changeset_id, tool_call_count, sandbox_refs,
decision_ids_processed, execution_duration_ms).
RuntimeExecuteActor dispatches StrategyDecision lists through
ToolRunner with full changeset capture and optional streaming
callbacks. PlanExecutor gains execution_context param with
has_runtime / changeset_store / execution_context properties
and _run_execute_with_runtime / _run_execute_with_stub split.
31 Behave scenarios, 5 Robot smoke tests, ASV benchmark suite,
and reference documentation.
Ref: Day-14 Rebaseline – M1.2 Plan-execute runtime wiring [Jeff]
2026-02-22 15:13:43 +00:00
freemo
7153050211
feat(M6.1): ACP facade stubs with transport, events, and versioning
...
CI / lint (pull_request) Successful in 24s
CI / quality (pull_request) Successful in 24s
CI / benchmark-publish (pull_request) Has been skipped
CI / typecheck (pull_request) Successful in 34s
CI / security (pull_request) Successful in 50s
CI / build (pull_request) Successful in 27s
CI / integration_tests (pull_request) Successful in 3m33s
CI / unit_tests (pull_request) Successful in 17m30s
CI / docker (pull_request) Successful in 1m1s
CI / benchmark-regression (pull_request) Successful in 19m12s
CI / coverage (pull_request) Successful in 29m22s
Adds cleveragents.acp package with seven modules: models (AcpMessage,
AcpEnvelope, AcpCapability, AcpPeerInfo), errors (AcpError hierarchy),
facade (AcpFacade with register/discover/send/receive), transport
(AcpTransportBase, LoopbackTransport), events (AcpEventBus),
and versioning (AcpVersion with compatible_with check).
44 Behave scenarios, 5 Robot smoke tests, ASV benchmark suite,
and reference documentation.
Ref: Day-14 Rebaseline – M6.1 ACP-facade stubs [Jeff]
2026-02-22 15:02:19 +00:00
freemo
67bd287a6c
feat(correction): add correction model and CLI hooks
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 34s
CI / integration_tests (pull_request) Successful in 2m51s
CI / unit_tests (pull_request) Successful in 14m31s
CI / docker (pull_request) Successful in 43s
CI / benchmark-regression (pull_request) Successful in 14m49s
CI / coverage (pull_request) Successful in 42m41s
2026-02-22 11:07:35 +00:00
freemo
cbb985627d
feat(automation): add automation profiles and guards
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 21s
CI / lint (pull_request) Successful in 22s
CI / security (pull_request) Successful in 36s
CI / typecheck (pull_request) Successful in 37s
CI / integration_tests (pull_request) Successful in 4m49s
CI / unit_tests (pull_request) Successful in 5m54s
CI / docker (pull_request) Successful in 38s
CI / benchmark-regression (pull_request) Successful in 15m25s
CI / coverage (pull_request) Successful in 41m50s
2026-02-22 10:19:43 +00:00
freemo
50316e97be
feat(lsp): add registry and runtime stubs
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 15s
CI / quality (pull_request) Successful in 20s
CI / build (pull_request) Successful in 23s
CI / security (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 36s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 2m23s
CI / unit_tests (pull_request) Failing after 5m47s
CI / docker (pull_request) Has been skipped
2026-02-22 10:15:25 +00:00
freemo
2d4b330f75
feat(invariant): add invariant models and enforcement
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 14s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 30s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / security (pull_request) Successful in 33s
CI / integration_tests (pull_request) Successful in 2m49s
CI / unit_tests (pull_request) Successful in 5m25s
CI / docker (pull_request) Has been skipped
2026-02-22 09:23:35 +00:00
freemo
c6d831b5ff
feat(actor): add tool-calling runtime for execution actors
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 16s
CI / quality (pull_request) Successful in 21s
CI / build (pull_request) Successful in 24s
CI / security (pull_request) Successful in 27s
CI / typecheck (pull_request) Successful in 40s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 2m26s
CI / unit_tests (pull_request) Successful in 5m40s
CI / docker (pull_request) Has been skipped
2026-02-22 08:31:45 +00:00
freemo
ca1c341b18
Tests: Significantly improved coverage of the unit tests
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 32s
CI / integration_tests (pull_request) Successful in 2m39s
CI / unit_tests (pull_request) Successful in 5m22s
CI / docker (pull_request) Successful in 38s
CI / benchmark-regression (pull_request) Successful in 17m47s
CI / coverage (pull_request) Successful in 19m6s
CI / lint (push) Successful in 14s
CI / build (push) Successful in 15s
CI / quality (push) Successful in 20s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 36s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 3m23s
CI / unit_tests (push) Successful in 9m12s
CI / docker (push) Successful in 16s
CI / benchmark-publish (push) Successful in 10m4s
CI / coverage (push) Successful in 19m27s
2026-02-22 00:43:08 -05:00
CoreRasurae
d37cfbe769
test(robot): fix failing integration tests related to safe.directory config and git version
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 17s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 18s
CI / typecheck (pull_request) Successful in 31s
CI / security (pull_request) Successful in 38s
CI / integration_tests (pull_request) Successful in 3m58s
CI / unit_tests (pull_request) Successful in 5m59s
CI / docker (pull_request) Successful in 38s
CI / benchmark-regression (pull_request) Successful in 16m0s
CI / coverage (pull_request) Successful in 16m29s
CI / lint (push) Successful in 14s
CI / build (push) Successful in 15s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 32s
CI / typecheck (push) Successful in 37s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 2m44s
CI / unit_tests (push) Successful in 5m27s
CI / docker (push) Successful in 39s
CI / benchmark-publish (push) Successful in 9m11s
CI / coverage (push) Successful in 16m23s
2026-02-21 18:11:31 +00:00
CoreRasurae
e3ddf6c868
fix(security): remove eval-based config parsing
2026-02-21 16:32:03 +00:00