freemo
94a774a1f0
feat(concurrency): add plan resume
...
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
1282bc03b3
Docs: Updated timeline
2026-02-24 17:18:02 -05:00
freemo
25c571541f
feat(skill): integrate agent skills discovery
...
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
...
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
freemo
c47e6445d0
feat(actor): compile hierarchical actor configs to LangGraph
...
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
23aa4280f2
Docs: fixed table values in timeline
2026-02-24 12:16:28 -05:00
freemo
5c66d718aa
Docs: Fixed bad formatting in implementation timeline documentation
2026-02-24 02:06:53 -05:00
freemo
b1637eb02e
Docs: Daily timeline update
2026-02-23 22:52:28 -05:00
freemo
67b4ddf5f8
Docs: Removed implementation-notes and migrated that information as comments on tickets
2026-02-23 21:48:07 -05:00
freemo
d9a492c3ff
docs: add missing reference pages to mkdocs navigation
...
Added decision_model, resource_handlers, and resources to the manually-authored
reference page nav entries in gen_ref_pages.py so mkdocs no longer warns about
pages existing in docs/reference/ but not included in the nav.
Refs: #408
2026-02-24 01:15:26 +00:00
freemo
09c2567d60
docs: Moved the last elements from implementation plan to their respective locations and deleted the plan from the repo
...
Refs: #408
2026-02-23 17:53:26 -05:00
freemo
fb7b20bd6b
docs: Moved the notes taken during implementation to its own document
...
Refs: #408
2026-02-23 17:53:02 -05:00
freemo
69b99d49e6
docs: Moved the implementation timeline out to its own document
...
Refs: #408
2026-02-23 17:52:59 -05: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
78213084ae
feat(resource): add resource registry and DAG metadata
2026-02-23 22:20:44 +00:00
khyari hamza
abcfba7e66
feat(decision): add decision domain and context snapshots
2026-02-23 22:19:19 +00:00
freemo
bb7612c0d3
Docs: Daily update to implementation plan
2026-02-23 12:31:07 -05:00
freemo
f69224e7e9
feat(cli): add action and plan CLI extensions
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
freemo
55f83771b9
Docs: Added gantt charts to Implementation Timeline section
2026-02-23 01:11:36 -05:00
brent.edwards
f48eb5a05f
feat(cli): add interactive repl
...
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
18b7cf8107
Docs: daily update to implementation plan
2026-02-22 17:12:54 -05: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
...
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
...
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
...
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
2026-02-22 11:07:35 +00:00
freemo
cbb985627d
feat(automation): add automation profiles and guards
2026-02-22 10:19:43 +00:00
freemo
50316e97be
feat(lsp): add registry and runtime stubs
2026-02-22 10:15:25 +00:00
freemo
2d4b330f75
feat(invariant): add invariant models and enforcement
2026-02-22 09:23:35 +00:00
freemo
c6d831b5ff
feat(actor): add tool-calling runtime for execution actors
2026-02-22 08:31:45 +00:00
freemo
e40dd75478
Docs: Fixed broken navigation menu on mobile
2026-02-22 01:15:07 -05:00
freemo
431f827ac4
Docs: Added implementation timeline to specification, seperate from the implementation plan itself.
2026-02-22 01:15:03 -05:00
freemo
e28f9a8597
Docs: Add resource DAG operational semantics, tool reachability, cross-mechanism coordination, container, and LSP resource type ADRs (036-040)
...
- ADR-036: Resource DAG Operational Semantics (10 purposes, sandbox boundary algebra)
- ADR-037: Tool Reachability and Access Projection (transitive reach, read/write routing)
- ADR-038: Cross-Mechanism Sandbox Coordination (coherence, write-then-sync, lazy materialization)
- ADR-039: Container and Execution Environment Resource Types (9 engine-agnostic types)
- ADR-040: Language Server Protocol Resource Types (lsp-server, lsp-workspace, lsp-document)
- Updated specification.md with 7 new subsections for operational semantics
- Updated resource_dag.md reference doc with operational semantics section
- Updated ADR-008, ADR-011, ADR-015, ADR-027 with cross-references
- Resolved merge conflicts from cherry-pick renumbering (033-037 -> 036-040)
- Fixed all stale display-text references across all files
2026-02-21 19:51:28 -05:00
freemo
b4c73505d8
Docs: Fixed some contradictions and ambiguity in the specification document
2026-02-21 18:04:15 -05:00
freemo
a3f4fba659
Docs: Clarified purpose of LSP server in specification
2026-02-21 18:04:12 -05:00
freemo
571d476493
Docs: Added decision tree recording and other details to the doc along with related ADR
2026-02-21 18:04:07 -05:00
CoreRasurae
e3ddf6c868
fix(security): remove eval-based config parsing
2026-02-21 16:32:03 +00:00
CoreRasurae
ca6dbd4576
feat(skill): add skill registry persistence
2026-02-21 16:30:40 +00:00
CoreRasurae
975fbba070
feat(skill): add git operation skills
2026-02-21 16:30:33 +00:00