Commit Graph

112 Commits

Author SHA1 Message Date
khyari hamza d0cfdecdd5 feat(cli): register v3 project and resource commands in main.py + DI wiring (B2.9) 2026-02-13 21:13:58 +00:00
khyari hamza 659e6c00ac feat(service): add project service v3 (B5-ITEM-5)
- ProjectServicePersistent: create, list_all, list_by_namespace, show, delete
- Resource registration, link/unlink via ProjectResourceLinkRepository
- Validation attachment summary helpers
- Persistence-backed (repositories + session commit)
- 11/11 BDD scenarios passing, 0 regressions (197 total)
- pyright 0 errors, ruff all checks passed
2026-02-13 21:13:40 +00:00
khyari hamza 334e5559a7 feat(service): add resource registry service (B5-ITEM-4)
- ResourceRegistryService: register, remove, show, tree, link_child, auto_discover
- Name/ULID resolution for all operations
- Auto-discovery hook registers git-checkout resources (MVP)
- Wraps ResourceRepository with session-level commit management
- 11/11 BDD scenarios passing, 0 regressions (176 total)
- pyright 0 errors, ruff all checks passed
2026-02-13 21:13:37 +00:00
khyari hamza 13638b1862 feat(repo): add project repositories (B5-ITEM-3)
- Added get_by_namespace() and get_by_namespace_and_name() to ProjectRepository
  for namespace-based filtering and lookup
- Created ProjectResourceLinkRepository with link/unlink/list_links/
  list_links_with_details/get_validation_summary operations
- Duplicate link guard raises ValueError on re-link attempt
- 10/10 BDD scenarios passing, 0 regressions
- pyright 0 errors, ruff all checks passed
2026-02-13 21:13:33 +00:00
khyari hamza ed10d7d208 feat: add scenarios for parsing namespaced project names and name validation 2026-02-13 21:13:01 +00:00
khyari hamza 453b310460 refactor: fix linting issues 2026-02-13 21:12:54 +00:00
khyari hamza 8b2ad60c5b feat: Add ValidationConfig and ContextConfig models with step definitions
- Introduced ValidationConfig for project validation commands including test, lint, type-check, and build commands.
- Added ContextConfig for project context indexing and filtering, with support for ignore/include patterns and file size limits.
- Implemented step definitions for both models in project_config_model_steps.py.
- Enhanced Project model to include validation_config and context_config fields.
- Created comprehensive step definitions for Resource model, including validation and manipulation steps in resource_model_steps.py.
- Updated resource.py to define Resource model with necessary fields and validation.
- Refactored project.py to integrate new models and maintain backward compatibility.
2026-02-13 21:12:50 +00:00
khyari hamza 6200c9327a feat: add ResourceType and SandboxStrategy enums with associated tests 2026-02-13 21:12:45 +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
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
brent.edwards 5da6de97ac Merge branch 'master' into feature/q0-min-ci 2026-02-13 04:46:07 +00:00
freemo 30f8e08f7e tests: Further improved test to get that 97% coverage we want 2026-02-12 23:35:53 -05:00
freemo 36b4ec2b8d feat(domain): align plan model with spec 2026-02-12 22:58:15 -05:00
brent.edwards 321ab18a37 fix(ci): resolve unit_tests and integration_tests CI failures
- Fix Rich Console line-wrapping breaking assertions in
  context_unit_tests_steps.py: collapse newlines before checking for
  filenames and overflow summaries (CI temp paths exceed 80 columns)
- Fix features.mocks import failure in database_integration.robot:
  replace hardcoded sys.path '/app' with portable ${CURDIR}/..
- Fix --load-context help text assertions in load_context_test.robot:
  merge stderr into stdout via stderr=STDOUT and remove duplicate test
- Add standalone dead_code nox session running vulture directly
- Rename security nox session to security_scan to match CI references
- Restore --exclude discovery to integration_tests nox session (lost
  during merge conflict resolution)
2026-02-13 00:15:58 +00:00
brent.edwards 3e3530de48 ci(git-merge): Merging from master 2026-02-12 23:01:35 +00:00
brent.edwards e801eb1ee8 feat(ci): add nox-based PR validation workflow
- Rewrite .forgejo/workflows/ci.yml to route all jobs through nox sessions
- Fix coverage_report nox session: serial behave mode replaces broken parallel
  mode (22% -> 97% accuracy), raise fail-under from 85% to 97%
- Pass posargs through format nox session for CI --check support
- Add 11 CI workflow validation scenarios (Behave) + Robot smoke test + ASV bench
- Add 108 new Behave scenarios covering 6 largest coverage gaps to reach 97%:
  yaml_template_engine, actor/config, actor/registry, message_router,
  context_analysis, context_service
- Update docs/development/ci-cd.md with nox-based CI docs and 97% threshold
- Restore implementation_plan.md verbose style, check off completed CI tasks

Verified: 1673 scenarios pass, 97% coverage, lint clean, typecheck clean
2026-02-12 22:01:51 +00:00
CoreRasurae f2f7aa5dc9 feat(core): add v3 lifecycle models, automation levels, subplan support, and security hardening
Implement multiple Stage A/B/E/SEC milestones for the v3 lifecycle system:
- Stage A5.3+A5.4: Add LifecycleActionModel and LifecyclePlanModel SQLAlchemy
  models with to_domain()/from_domain() conversion methods
- Stage A5.6: Implement ActionRepository with full CRUD, namespace/state
  queries, referential integrity checks, and retry decorator
- Stage E1: Add subplan domain models (ExecutionMode, SubplanMergeStrategy,
  SubplanConfig, SubplanStatus, SubplanAttempt, SubplanFailureHandler) with
  computed properties on Plan (is_subplan, is_root_plan, depth, has_subplans)
- Stage A6: Add AutomationLevel enum (MANUAL, REVIEW_BEFORE_APPLY,
  FULL_AUTOMATION), settings integration, PlanLifecycleService auto-progression,
  pause/resume, and CLI commands (--automation-level, set-automation-level)
- Stage SEC1: Remove eval()/exec() from stream_router.py, replace with named
  operation and transform registries; code blocks and unregistered transforms
  now raise StreamRoutingError
- Add langchain-anthropic dependency
- Update BDD tests for security changes and relax ADR directory requirement
2026-02-12 20:19:42 +00:00
brent.edwards c9605c9381 test(features/steps): remove ansi codes
Remove rich formatting from output
2026-02-12 05:44:57 +00:00
brent.edwards d4a48caeec test(features/steps): fix features that depend on running as user not superuser 2026-02-12 05:23:29 +00:00
brent.edwards 17fe46d925 test(behave): fix behave tests
There had been over 100 behave tests failing. There should be none failing now.
2026-02-12 04:47:02 +00:00
brent.edwards c5004ae918 build(features/steps): fix 14 files to match new ruff format 2026-02-12 02:26:03 +00:00
brent.edwards 761db2518c test: harden code sandbox, add path traversal protection, and fix test mocks 2026-02-12 01:07:44 +00:00
brent.edwards 395df78b94 test(qa): add validation fixtures, edge-case scenarios, and quality baseline
Complete Brent QA tasks Q1.5, 10B.4, 10C.1, and 10C.4 on the Q0-quality-automation branch.

- Add edge_case_plan_scenarios.feature (26 scenarios) covering concurrent
  plan execution, resource conflicts, validation failure chains, and
  rollback edge cases
- Add validation_test_fixtures.feature (34 scenarios) covering AST
  security, lambda validation, content sanitization, project model
  validation, change-list coercion, and ActionArgument parsing
- Add branch protection rules documentation in docs/development/ci-cd.md
- Establish quality metrics baseline (96% coverage, 0 lint/type/security
  findings)
- Fix missing langchain-anthropic dependency in pyproject.toml
- Fix Rich table column wrapping in plan_lifecycle_cli_steps.py by
  patching console width during tests

Suite: 107 features, 1673 scenarios, 7777 steps — all passing.
2026-02-10 22:19:21 +00:00
brent.edwards 7ef5ebb695 feat: Add Q0: Pre-commit hooks setup.
This should automatically check for problems on build.
2026-02-10 16:04:17 +00:00
freemo e3f4db2076 tests: removed obsolete failing test 2026-02-10 08:38:22 -05:00
freemo 6eda182440 chore: Removed all references to plandex including old code 2026-02-08 11:43:49 -05:00
freemo 6886ee2383 tests: improved coverage to 97% 2026-02-08 11:33:30 -05:00
freemo 3a0b9ebfc7 tests: Fixed integration and unit tests, found several bugs and missing features 2026-02-07 23:02:50 -05:00
freemo bdd3250b5b Merge remote-tracking branch 'origin/new-spec' into run-imp 2026-02-05 10:33:26 -05:00
freemo 61cd406fbf feat: implemented new plan CLI commands 2026-02-05 10:33:02 -05:00
freemo d98d282f5f tests: fixed unit tests so they are now working 2026-02-05 09:56:08 -05:00
freemo 805140ce37 Merge branch 'master' into run-imp 2026-02-04 17:51:57 -05:00
freemo 3cf6a812ae feat: ported in run behavior as a subcommand of actor 2026-02-04 14:43:08 -05:00
freemo 12b91cef5e Finished port of v2 into actors, phase 7.5 complete 2026-02-02 18:46:33 -05:00
freemo 5fc006ea7f Added some additional stream router coverage 2026-02-01 21:08:28 -05:00
freemo e964c49aee test: Added some additional pure graph tests 2026-01-28 13:33:45 -05:00
freemo 2403f25252 feat: Ported the bulk of v2 w/tests 2026-01-27 21:55:06 -05:00
freemo fb0a34dd9a chore(tests): expand YAML/Jinja port coverage and log plan status 2026-01-24 12:06:18 -05:00
freemo 4a1183108a test: add actor-first v2 CLI/Jinja port feature 2026-01-24 10:15:16 -05:00
freemo 174be8d1e4 fix(cli,yaml): restore v2 parity and extend coverage 2026-01-17 12:54:03 -05:00
freemo edc566d5ab feat(actor): enforce actor-first plan resolution 2026-01-14 17:35:09 -05:00
freemo 6dfd41cafe Feat: Pulled in core engine from v2 for running configs 2025-12-29 21:25:14 -05:00
freemo 559aa15629 Feat: Wire actor invocation context through plan graph/providers and add streaming CLI coverage. 2025-12-24 18:50:34 -05:00
freemo bb25017773 Feat: Handle actor CLI option overrides 2025-12-24 14:04:34 -05:00
freemo 65ee1a2e96 Feat: Harden actor configuration handling with unsafe confirmations, graph descriptors, and actor-based plan coverage. 2025-12-23 20:57:14 -05:00
freemo 7430b6e743 Feat: Added basic scaffolding for actors 2025-12-23 17:12:16 -05:00
freemo 2de7640a4a Tests: improved coverage slightly to get us back over 98% 2025-12-22 11:18:57 -05:00