Commit Graph

761 Commits

Author SHA1 Message Date
brent.edwards 2f27ddb3e8 Merge branch 'master' into feat/B1-v2-project-data-models 2026-02-13 22:31:34 +00:00
brent.edwards bb3c4ffaef fix(qa): resolve merge conflicts with master and fix coverage threshold test
Merged master into feature/q0-min-coverage. Resolved conflicts in:
- benchmarks/coverage_report_bench.py: combined AST and regex benchmarks
- docs/development/testing.md: merged both versions into comprehensive guide
- robot/coverage_threshold.robot: merged test cases from both branches
- implementation_plan.md: kept both Brent and Luis notes

Fixed coverage_threshold_config test that failed because it expected
a literal --fail-under=97 but our noxfile uses the COVERAGE_THRESHOLD
constant via f-string. Updated step to resolve the constant via AST.
2026-02-13 22:25:16 +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
CoreRasurae f528d6c3a8 feat(domain): align plan model with spec
Step A2.beta
2026-02-13 20:34:57 +00:00
brent.edwards 75dc57845a feat(qa): align security scans with nox 2026-02-13 19:24:24 +00:00
brent.edwards 35c74d1a52 feat(qa): enforce coverage >=97% in CI 2026-02-13 18:54:15 +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
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
freemo 0d95e3c326 Tests: Increase subprocess timeouts from 5-10s to 30s in test steps to fix intermittent CLI command timeout failures 2025-12-22 10:45:44 -05:00