Commit Graph

476 Commits

Author SHA1 Message Date
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
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