Commit Graph

344 Commits

Author SHA1 Message Date
Jeffrey Phillips Freeman 1fb91cba28 refactor(plan): remove legacy plan persistence 2026-02-17 00:38:33 +00:00
Jeffrey Phillips Freeman 44533444ed feat(service): persist plan lifecycle via repositories 2026-02-17 00:38:33 +00:00
Jeffrey Phillips Freeman d0f265ef62 feat(service): persist plan lifecycle via repositories 2026-02-17 00:37:53 +00:00
freemo ea76990bb6 Docs: Fixed some bugs int he ToC's javascript 2026-02-16 19:26:49 -05:00
freemo 155a5d7819 Docs: Updated ADRs and referenced them from the specification 2026-02-16 18:53:06 -05:00
Jeffrey Phillips Freeman f7d2f63ab8 feat(cli): add resource commands (core) 2026-02-16 16:46:54 -05:00
Jeffrey Phillips Freeman 36c571db83 feat(repo): add resource repositories 2026-02-16 21:35:54 +00:00
freemo c5617b0457 Build: Added even more MCP and LSP servers to the devcontainer 2026-02-16 16:29:30 -05:00
freemo 3240c94f9d Build: Updated devcontainer with relevant mcp servers on opencode 2026-02-16 15:07:35 -05:00
freemo 983eee7a37 Fix: Fixed failing unit tests due to outdated behave version and alembic typo, and other fixes. 2026-02-16 14:21:06 -05:00
Jeffrey Phillips Freeman e273b52769 feat(db): add projects and project links tables 2026-02-16 12:18:51 -05:00
Jeffrey Phillips Freeman dbca60c98e feat(db): add projects and project links tables 2026-02-15 11:04:18 -05:00
Jeffrey Phillips Freeman 5a7703473a feat(resource): add git-checkout and fs-directory resource types 2026-02-15 10:44:14 -05:00
Jeffrey Phillips Freeman 1f06bb2f76 feat(resource): add resource type model + schema loader 2026-02-15 15:19:09 +00:00
Jeffrey Phillips Freeman ae40bb24c0 feat(uow): wire lifecycle repositories 2026-02-15 09:04:17 +00:00
Jeffrey Phillips Freeman 5691858d46 feat(repo): add lifecycle plan repository 2026-02-15 08:29:31 +00:00
Jeffrey Phillips Freeman 6183ee3230 feat(db): rebaseline plan phase/state enums for Action and Apply terminal states 2026-02-15 06:16:19 +00:00
freemo d07e9903eb Docs: Reassigned blocking tasks to me. 2026-02-15 00:14:19 -05:00
freemo 039ab87b52 feat(domain): rebaseline plan phases and apply states 2026-02-15 00:12:07 -05:00
freemo 88e8957cba Docs: Updated implementation plan 2026-02-14 20:30:55 -05:00
Jeff (CTO) 2277ac1b8e feat(tool): add built-in file tools 2026-02-14 14:03:28 -05:00
freemo 2d345ae31c feat(tool): add tool lifecycle runtime
Implement the four-stage tool lifecycle (discover/activate/execute/deactivate)
with capability enforcement, per-plan activation caching, JSON Schema validation,
execution tracing, and cancellation propagation.

New modules:
- tool/context.py: ToolExecutionContext, BoundResource, Change, CancellationToken
- tool/lifecycle.py: ToolRuntime, ToolInstance protocol, ToolLifecycleCache
- tool/schema_validator.py: JSON Schema input/output validation

Tests: 57 Behave scenarios, 6 Robot smoke tests, 5 ASV benchmarks
Coverage: context 100%, schema_validator 100%, lifecycle 94%, overall 97%
2026-02-14 18:55:48 +00:00
Jeff (CTO) 156e3ffde9 feat(cli): stabilize action/plan output formats 2026-02-14 13:51:12 -05:00
Jeff (CTO) 18482b938f feat(tool): add tool runtime core 2026-02-14 13:46:10 -05:00
freemo 65988669a6 feat(cli): align plan use/list/status flags
- plan use: accept positional PROJECT args, add --automation-profile,
  --invariant (repeatable), and actor override flags
- lifecycle-list: add --state/--processing-state, --action filters,
  optional positional REGEX for name filtering, Action column in output
- plan status: enhanced detail view with processing state, project
  links, arguments order, automation profile provenance, actor
  overrides, automation level, and full timestamps
- Add docs/reference/plan_cli.md reference documentation
- Add Behave feature (17 scenarios) with mock service steps
- Add Robot smoke test (7 cases) with import-safe helper
- Add ASV benchmarks for plan use/list/status commands
2026-02-14 13:42:02 -05:00
Jeff (CTO) d98666651f feat(cli): align action commands to spec
- Enforce config-only 'action create --config <file>' (remove legacy
  inline flags: --name, --strategy-actor, --execution-actor,
  --definition-of-done, --arg)
- Load config via ActionConfigSchema.from_yaml_file() then
  Action.from_config() with clear validation error surfacing
- Remove 'action available' subcommand (no draft state; actions are
  available by default)
- Add REGEX positional arg to 'action list' for name filtering
- Add Short Name and Definition of Done summary to all CLI outputs
- Add 'action list --namespace/-n' and '--state/-s' filters
- Update existing tests to match new config-only create flow
- Add features/action_cli_spec_alignment.feature (19 scenarios)
- Add robot/action_cli_spec.robot smoke tests
- Add benchmarks/action_cli_bench.py ASV benchmarks
- Add docs/reference/action_cli.md
2026-02-14 12:16:39 -05:00
freemo a64687f2a2 Docs: Updated specification to clear up a few inconsistencies 2026-02-14 10:59:06 -05:00
freemo 7fde8fcd13 Docs: Updated implementation plan schedule for latest progress and spec 2026-02-14 00:19:20 -05:00
freemo fde631a453 Docs: Updated some left off check marks in the implementation plan 2026-02-13 23:16:00 -05:00
khyari hamza 6eee0a8835 fix(sandbox): fix CI failures in git_worktree and factory integration tests
- git_worktree: verify original_path is the git repo root, not just a
  subdirectory of an unrelated parent repo (fixes false-positive on CI
  where temp dirs are inside the workspace checkout)
- Robot helper: update factory tests to reflect B4 implementations
  (git_worktree and copy_on_write are now supported strategies)

Refs: TASK-006
2026-02-14 04:01:20 +00:00
khyari hamza 72a4a4080b feat(implementation): update checklist with completed tasks for Resource and Project models 2026-02-14 04:01:20 +00:00
khyari hamza cc45b5ff2c feat(sandbox): add git_worktree and copy_on_write sandbox strategies
Implement GitWorktreeSandbox (worktree creation, commit+merge, rollback,
cleanup, branch sanitization, git timeouts) and CopyOnWriteSandbox
(directory copy, diff-based commit, rollback, cleanup).

Update SandboxFactory to wire new strategies, remove stale overlay/
versioning constants, add snapshot placeholder, align resource type
mapping to spec types (git-checkout, fs-mount, fs-directory, fs-file).

Add 40 Behave scenarios (19 git_worktree + 21 copy_on_write) with gwt/cow
prefixed steps. Update existing sandbox_factory_coverage feature (21
scenarios) to reflect new factory behavior.

All quality gates pass: ruff, pyright, 2325 scenarios, 97% coverage.

TASK-006 / Stage B4
2026-02-14 04:01:20 +00:00
Jeff 20321f21ee feat(skill): add skill domain model and resolver 2026-02-14 03:54:14 +00:00
Jeff eb1638a84e feat(session): add session domain models and contracts 2026-02-14 03:50:40 +00:00
freemo da8e5f716d feat(db): add resource registry tables 2026-02-13 22:46:03 -05:00
Jeff dfb91781aa feat(tool): add tool and validation domain models 2026-02-14 00:35:04 +00:00
brent.edwards 4cf773703d Merge pull request 'feat(domain): add spec-aligned Resource and Project models' (#51) from feat/B1-v2-project-data-models into master
Reviewed-on: cleveragents/cleveragents-core#51
2026-02-13 22:53:40 +00:00
brent.edwards 2f27ddb3e8 Merge branch 'master' into feat/B1-v2-project-data-models 2026-02-13 22:31:34 +00:00
brent.edwards 6af3f69e3c Merge pull request 'docs(action): add action YAML schema and examples' (#47) from feature/m1-action-schema into master
Reviewed-on: cleveragents/cleveragents-core#47
2026-02-13 21:57:24 +00:00
khyari hamza f89c60595f feat(domain): add spec-aligned Resource and Project models
Implement the B1 (Project Data Models) domain models from scratch,
aligned with docs/specification.md:

- Resource model: ULID PK, PhysVirt enum (physical|virtual),
  SandboxStrategy enum (5 spec values), ResourceCapabilities,
  extensible resource_type_name, DAG relationships, frozen model

- NamespacedProject model: identified solely by [[server:]namespace/]name,
  LinkedResource for project-resource links, ContextConfig with memory
  tiers/retention/temporal scope, domain methods (link/unlink/get)

- parse_namespaced_name(): full namespace parsing with reserved/provider
  namespace validation, bare name defaulting to local/

- Extract legacy Project/ProjectSettings/ProjectStats to project_legacy.py

- 81 Behave scenarios (233 steps), all passing
- Lint (ruff), typecheck (pyright) clean
- Full existing test suite (2336 scenarios) unaffected
2026-02-13 21:54:31 +00:00
brent.edwards d451d05bcc Merge branch 'master' into feature/m1-action-schema
Resolve merge conflict in implementation_plan.md: keep master's
action-model commit (Jeff/A2b.alpha) and plan-model commit
(Luis/A2b.beta), then apply feature branch's completion of the
Aditya A2b.gamma action-schema COMMIT item.
2026-02-13 21:21:32 +00:00
brent.edwards fc6f4bfcf7 Merge pull request 'feat(domain): align plan model with spec' (#49) from feature/m1-plan-model into master
Reviewed-on: cleveragents/cleveragents-core#49
2026-02-13 20:50:30 +00:00
CoreRasurae f528d6c3a8 feat(domain): align plan model with spec
Step A2.beta
2026-02-13 20:34:57 +00:00
freemo 9b30421b34 feat(db): add spec-aligned action and plan tables with migrations, ORM models, and benchmarks 2026-02-13 13:05:20 -05:00
freemo fd6d41b371 feat(domain): align action model with spec 2026-02-13 09:41:28 -05:00
aditya 8da7bd1e56 docs(action): add action YAML schema and examples 2026-02-13 19:01:55 +05:30
freemo a9d3672e8a docs: updated imp plan, improved format 2026-02-13 01:41:12 -05:00
brent.edwards 7620a8365e Merge pull request 'feature/q0-min-ci' (#45) from feature/q0-min-ci into master
Reviewed-on: cleveragents/cleveragents-core#45
Reviewed-by: Jeffrey Phillips Freeman <jeffrey.freeman@cleverthis.com>
2026-02-13 05:34:27 +00:00
brent.edwards af67476b99 test: force unreadable agentsignore branch in coverage steps
Simulate PermissionError on .agentsignore reads so the
_load_agentsignore exception path is exercised even when CI
runs as root.
2026-02-13 05:21:08 +00:00
brent.edwards 434cad5d1a chore(lint): fix ruff findings in coverage step files
- Normalize import ordering and remove unused imports
- Replace non-ASCII dashes in comments with ASCII hyphens
- Clean up unused assignments and use contextlib.suppress
- Adjust unused variable name in plan_cli_streaming steps
2026-02-13 05:01:27 +00:00