aditya
f8bc02869a
Merge branch 'master' into feature/m3-agent-skills-loader
2026-02-26 14:43:52 +00:00
aditya
cb82fc51df
feat(skill): add agent skills loader
...
Implemented AgentSkillSpec loader that parses SKILL.md frontmatter and
progressive disclosure sections (discover/activate/deactivate) into
structured SkillStep objects with stable 1-based ordering.
Mapped Agent Skills to AgentSkillToolDescriptor with namespaced naming
(namespace/short_name), source="agent_skill", read-only defaults, and
AgentSkillResourceSlot bindings for scripts/, references/, and assets/
directories. All resource slots are unconditionally read_only.
Added explicit validation for missing frontmatter fields (name,
description) and invalid namespace format with actionable error messages.
Added docs/reference/agent_skills.md covering folder layout, SKILL.md
parsing rules, progressive disclosure model, and tool mapping.
Added Behave scenarios covering valid/invalid SKILL.md parsing,
namespaced naming, step ordering, missing frontmatter errors, progressive
disclosure lifecycle, tool mapping, and resource binding slots.
Added Robot Framework integration tests using the deploy-to-staging
example skill folder (robot/agent_skills_loader.robot).
Added ASV benchmarks for parsing throughput, folder load, progressive
disclosure lifecycle, and resource listing
(benchmarks/agent_skills_loader_bench.py).
ISSUES CLOSED : #160
2026-02-26 09:10:35 +00:00
aditya
b8d7c4c893
Merge branch 'master' into feature/m2-actor-yaml
2026-02-26 06:21:39 +00:00
freemo
e3fcce413b
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-26 02:47:14 +00:00
brent.edwards
d055b59d7c
Merge branch 'master' into develop-brent-4
2026-02-25 20:05:18 +00:00
brent.edwards
3b58432ecc
docs(merge): merge new docs into branch
2026-02-25 19:41:56 +00:00
freemo
c4f71e930d
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 14:00:04 -05:00
freemo
134dce896a
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 12:08:01 -05:00
freemo
7a298ede6e
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 10:48:05 -05:00
aditya
913fd31e07
Merge branch 'master' into feature/m2-actor-yaml
2026-02-25 10:31:07 +00:00
aditya
e476d2de0e
feat(actor): extend hierarchical actor YAML schema and loader
...
Extend actor YAML schema to support hierarchical graphs with explicit
node types (agent, tool, conditional, subgraph), per-node LSP bindings
(lsp_binding with server, languages, auto, capabilities), and tool-source
references (skills, mcp_servers, agent_skills).
Add schema validation for namespaced actor references, duplicate node IDs,
edge target existence, and graph reachability — all nodes must be reachable
from entry_node via explicit edges or conditional node routing targets.
Update loader to report YAML parse errors with precise line/column positions
and schema validation errors with dotted field paths and remediation hints
pointing to docs/reference/actor_config.md.
Add docs/reference/actor_config.md as the practical configuration reference
covering hierarchical graph examples, node type table, topology rules, and
common error cases with fix guidance.
Refresh examples/actors/graph_workflow.yaml to replace deprecated actor_path
with actor_ref. Add benchmarks/actor_yaml_bench.py for schema load overhead.
Tests: 95 Behave scenarios, 10 Robot smoke tests (including hierarchical
loader smoke test), security scan clean, coverage 99% (threshold 97%).
ISSUES CLOSED : #157
2026-02-25 10:30:42 +00:00
CoreRasurae
a7dc917021
fix(security): harden template rendering
...
ISSUES CLOSED : #319
2026-02-25 10:06:27 +00:00
CoreRasurae
8604bc66b6
fix(security): enforce explicit exception handling
...
ISSUES CLOSED : #320
2026-02-25 10:05:57 +00:00
CoreRasurae
d70a5d84ae
feat(plan): add error recovery patterns and CLI hints
...
ISSUES CLOSED : #186
2026-02-25 10:05:10 +00:00
CoreRasurae
fe69d132f1
feat(dod): enforce definition-of-done gating
...
ISSUES CLOSED : #178
2026-02-25 10:04:31 +00:00
CoreRasurae
4874f2ad6f
feat(validation): add validation pipeline and results model
...
ISSUES CLOSED : #175
2026-02-25 10:03:57 +00:00
CoreRasurae
57fcc880c3
feat(apply): run validation attachments
...
ISSUES CLOSED : #176
2026-02-25 10:03:21 +00:00
CoreRasurae
95b6ed57c2
feat(change): add diff review artifacts
...
ISSUES CLOSED : #303
2026-02-25 10:02:38 +00:00
CoreRasurae
ab6a3fd732
feat(apply): add validation-gated apply pipeline
...
ISSUES CLOSED : #155
2026-02-25 10:01:57 +00:00
brent.edwards
e230700857
Merge feature/m1-e2e-sourcecode into develop-brent-4
2026-02-25 06:36:45 +00:00
brent.edwards
dbc9be9fc0
Merge feature/m2-actor-tool-smoke into develop-brent-4
2026-02-25 06:35:44 +00:00
brent.edwards
5bf1908708
Merge branch 'master' into feature/m1-e2e-sourcecode
2026-02-25 06:07:09 +00:00
brent.edwards
0397a00eb6
test(e2e): add M1 source-code plan lifecycle suite
2026-02-25 04:50:43 +00:00
brent.edwards
9bf87a20d9
chore(pr): address code review feedback for PR #421
...
- Added CHANGELOG.md entry for M2 E2E test suite (CONTRIBUTING.md §6)
- Added Brent E. Edwards to CONTRIBUTORS.md (CONTRIBUTING.md §8)
- Fixed docs/development/testing.md: corrected M2 Behave scenario count
from 11 to 10 to match actual feature file
- Added standard explanatory comments to benchmark sys.path setup
for consistency with project convention (advisory)
- Replaced untyped lambda handler with typed _m2_noop_handler function
in step definitions (advisory)
All nox stages pass: lint, typecheck, format, unit_tests (280 features /
5846 scenarios / 0 failures), integration_tests (682 passed),
coverage_report (97.2%).
ISSUES CLOSED : #169
2026-02-25 04:13:55 +00:00
brent.edwards
d5c7780a53
Merge branch 'master' into feature/m2-actor-tool-smoke
2026-02-25 03:08:57 +00:00
brent.edwards
3a66ce4d02
Merge branch 'master' into feature/m4-cli-extension-tests
2026-02-25 02:58:58 +00:00
freemo
1282bc03b3
Docs: Updated timeline
2026-02-24 17:18:02 -05:00
brent.edwards
a2a91c3d9c
Merge branch 'master' into feature/m2-actor-tool-smoke
2026-02-24 21:59:58 +00:00
brent.edwards
c8434e21f3
Merge branch 'master' into feature/m4-cli-extension-tests
2026-02-24 21:56:43 +00:00
brent.edwards
093a74953f
test(e2e): add M2 actor + tool source smoke suite
...
Add comprehensive E2E test suite for M2 (Actor Graphs + Tool Sources) epic:
- Behave BDD: 10 scenarios covering actor YAML loading, skill registry,
tool lifecycle (discover/activate/execute/deactivate), and MCP stub
- Robot Framework: 6 integration tests via CLI helper script
- ASV benchmarks: 12 benchmarks for actor loading, skill registry,
tool lifecycle, and MCP stub performance baselines
- MCP stub server mock: in-process fake with 3 tools (search/fetch/transform)
- Fixtures: hierarchical graph actor YAML + skill pack with tool refs and
inline tools
- Docs: updated testing.md with M2 smoke suite section
Closes #169
2026-02-24 21:55:24 +00:00
brent.edwards
2c21611ad5
test(cli): cover action and plan extensions
...
Added comprehensive test coverage for CLI extension features from #325 :
- Behave scenarios for automation_profile resolution, invariant ordering,
and actor override error cases
- Output snapshot assertions for JSON/YAML/table formats
- Robot integration test for action show with optional actors/invariants
- ASV benchmark for extended CLI scenario runtime baseline
- Updated testing.md with CLI extension test fixture documentation
ISSUES CLOSED : #326
2026-02-24 20:11:42 +00: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