feat(domain): add project data model foundation (B1) #43

Closed
hamza.khyari wants to merge 11 commits from feat/b1-data-models into master
Member
  • Implement ResourceType (6 values) and SandboxStrategy (6 values + helper properties) enums for classifying project resources and sandboxing behavior
  • Add Resource Pydantic model with ULID validation, frozen immutability, and computed properties (supports_sandbox, can_write, get_sandbox_path)
  • Add ValidationConfig model for project validation commands with get_all_commands() and has_any_validation() helpers
  • Add ContextConfig model for context indexing/filtering with default ignore patterns (.git/, node_modules/, etc.) that merge with user-provided patterns
  • Extend the existing Project model with project_id (ULID), namespace (validated, reserved names rejected), description, tags, resources, validation_config, and context_config -- all with defaults for full backward compatibility with existing code
- Implement `ResourceType` (6 values) and `SandboxStrategy` (6 values + helper properties) enums for classifying project resources and sandboxing behavior - Add `Resource` Pydantic model with ULID validation, frozen immutability, and computed properties (`supports_sandbox`, `can_write`, `get_sandbox_path`) - Add `ValidationConfig` model for project validation commands with `get_all_commands()` and `has_any_validation()` helpers - Add `ContextConfig` model for context indexing/filtering with default ignore patterns (`.git/`, `node_modules/`, etc.) that merge with user-provided patterns - Extend the existing `Project` model with `project_id` (ULID), `namespace` (validated, reserved names rejected), `description`, `tags`, `resources`, `validation_config`, and `context_config` -- all with defaults for full backward compatibility with existing code
hamza.khyari added this to the (deleted) milestone 2026-02-11 15:27:46 +00:00
- 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.
This should automatically check for problems on build.
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.
Removed `run-semgrep.sh` and automatically run setup-dev.sh
Many steps in ci were failing due to missing `node`.
ruff should now be version 0.15.
The version of ruff wasn't right in .pre-commit-config.yaml
Forgejo shows the following error: ::error::@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES.
No longer installing behave-parallel. Also removed other uploads that won't work.
The code was seeing the whole text as one path.
There had been over 100 behave tests failing. There should be none failing now.
Remove rich formatting from output
- Add DinD service container and docker:cli image so docker CLI is available
- Fix Dockerfile: remove missing uv.lock, fix build order (copy source before build)
- Remove helm job (k8s/ directory does not exist yet)
Forgejo act_runner service container networking fails with 'network not
found'. Use docker:dind directly with --privileged and start dockerd
inline to avoid the services networking issue.
behave-parallel pulls behave>=1.2.6 which resolves to 1.3.3. Behave
1.3.3 no longer strips trailing colons from step text before tables,
breaking the architecture.feature step matcher.
fix(nox): run asv machine --yes before benchmarks
Some checks failed
CI / lint (pull_request) Failing after 16s
CI / typecheck (pull_request) Failing after 25s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 15s
CI / build (pull_request) Successful in 11s
CI / behave (3.13) (pull_request) Successful in 3m50s
CI / docker (pull_request) Has been skipped
5cc6c78324
asv requires machine info to be configured before running benchmarks.
Without this, asv run fails on first use or in CI/containers.
hamza.khyari force-pushed feat/b1-data-models from 5cc6c78324
Some checks failed
CI / lint (pull_request) Failing after 16s
CI / typecheck (pull_request) Failing after 25s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 15s
CI / build (pull_request) Successful in 11s
CI / behave (3.13) (pull_request) Successful in 3m50s
CI / docker (pull_request) Has been skipped
to 93fe2c53e0
Some checks failed
CI / lint (pull_request) Failing after 16s
CI / typecheck (pull_request) Failing after 27s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 15s
CI / build (pull_request) Successful in 11s
CI / behave (3.13) (pull_request) Successful in 3m45s
CI / docker (pull_request) Has been skipped
2026-02-12 14:38:52 +00:00
Compare
chore: untrack working notes files
Some checks failed
CI / lint (pull_request) Failing after 16s
CI / typecheck (pull_request) Failing after 26s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 15s
CI / build (pull_request) Successful in 12s
CI / behave (3.13) (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
62e6243285
chore: reset implementation_plan.md to match master
Some checks failed
CI / typecheck (pull_request) Failing after 24s
CI / security (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 14s
CI / build (pull_request) Successful in 11s
CI / behave (3.13) (pull_request) Successful in 3m46s
CI / lint (pull_request) Failing after 14s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
ccacbcc64f
refactor: fix linting issues
Some checks failed
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Failing after 24s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 14s
CI / build (pull_request) Successful in 12s
CI / behave (3.13) (pull_request) Successful in 3m46s
CI / docker (pull_request) Has been skipped
aa9f9c4d0b
refactor: standardize Field defaults in project model classes
All checks were successful
CI / lint (pull_request) Successful in 18s
CI / typecheck (pull_request) Successful in 26s
CI / security (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 15s
CI / build (pull_request) Successful in 12s
CI / behave (3.13) (pull_request) Successful in 3m57s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 4m21s
99c29d5e66
feat: add scenarios for parsing namespaced project names and name validation
All checks were successful
CI / lint (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 25s
CI / security (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 15s
CI / build (pull_request) Successful in 13s
CI / behave (3.13) (pull_request) Successful in 3m46s
CI / docker (pull_request) Successful in 38s
CI / coverage (pull_request) Successful in 4m21s
80eeca540b
hamza.khyari changed title from [WIP] feat(domain): add project data model foundation (B1) to feat(domain): add project data model foundation (B1) 2026-02-12 15:21:03 +00:00
hamza.khyari closed this pull request 2026-02-13 22:00:56 +00:00
Member

Removed; all the work has been moved to #51 .

Removed; all the work has been moved to https://git.cleverthis.com/cleveragents/cleveragents-core/pulls/51 .
freemo modified the milestone from (deleted) to v3.0.0 2026-02-23 00:36:47 +00:00
Some checks are pending
CI / lint (pull_request) Successful in 17s
Required
Details
CI / typecheck (pull_request) Successful in 25s
Required
Details
CI / security (pull_request) Successful in 17s
Required
Details
CI / quality (pull_request) Successful in 15s
Required
Details
CI / build (pull_request) Successful in 13s
Required
Details
CI / behave (3.13) (pull_request) Successful in 3m46s
CI / docker (pull_request) Successful in 38s
Required
Details
CI / coverage (pull_request) Successful in 4m21s
Required
Details
CI / integration_tests*
Required
CI / unit_tests*
Required

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core!43
No description provided.