develop-hamza-2 #385

Merged
hamza.khyari merged 11 commits from develop-hamza-2 into master 2026-02-23 22:44:38 +00:00
Member

Summary

This PR introduces the decision domain model with context snapshots, resource registry with DAG metadata, and resource handler runtime for git-checkout and fs-directory resource types.

Changes

  • Decision Domain Model: Add decision domain and context snapshots for capturing decision-making logic within agents
  • Resource Registry: Add resource registry with DAG metadata support
  • Resource Handler Runtime: Add pluggable handler system with git-checkout and fs-directory handlers, including protocol, base handler, and resolver
  • Minor fixes: Use StaticPool for skill registry in-memory DB; add worktrees/ to .gitignore

Depends on

Closes #170
Closes #162
Closes #154

## Summary This PR introduces the decision domain model with context snapshots, resource registry with DAG metadata, and resource handler runtime for git-checkout and fs-directory resource types. ## Changes - **Decision Domain Model**: Add decision domain and context snapshots for capturing decision-making logic within agents - **Resource Registry**: Add resource registry with DAG metadata support - **Resource Handler Runtime**: Add pluggable handler system with git-checkout and fs-directory handlers, including protocol, base handler, and resolver - **Minor fixes**: Use StaticPool for skill registry in-memory DB; add `worktrees/` to `.gitignore` ## Depends on Closes #170 Closes #162 Closes #154
feat(resource): add handler runtime for git-checkout and fs-directory
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 23s
CI / quality (pull_request) Successful in 29s
CI / security (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 40s
CI / integration_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
c6f5e5805e
docs(plan): mark M1.resource-handlers checkboxes complete
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 20s
CI / quality (pull_request) Successful in 27s
CI / security (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 53s
CI / integration_tests (pull_request) Successful in 3m43s
CI / unit_tests (pull_request) Successful in 6m57s
CI / docker (pull_request) Successful in 38s
CI / coverage (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
b0f5722015
refactor(resource): address PR review feedback for handler runtime
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 29s
CI / security (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 31s
CI / integration_tests (pull_request) Successful in 4m8s
CI / unit_tests (pull_request) Successful in 6m32s
CI / docker (pull_request) Successful in 1m1s
CI / benchmark-regression (pull_request) Successful in 17m2s
CI / coverage (pull_request) Failing after 31m57s
544f4ffc00
- extract BaseResourceHandler to eliminate ~90% duplication between
  GitCheckoutHandler and FsDirectoryHandler
- raise RuntimeError when sandbox.context is None instead of silent
  empty string fallback
- add threading.Lock to resolver handler cache for thread safety
- type resource_lookup/type_lookup as Callable instead of Any
- log original HandlerResolutionError at DEBUG before fallback
- use behave.runner.Context in step definitions per repo convention
feat(decision): add decision domain and context snapshots
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 26s
CI / security (pull_request) Successful in 28s
CI / quality (pull_request) Successful in 35s
CI / typecheck (pull_request) Successful in 37s
CI / integration_tests (pull_request) Successful in 2m31s
CI / unit_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
67b37109a6
refactor(decision): address PR review feedback
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 24s
CI / quality (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 44s
CI / security (pull_request) Successful in 57s
CI / integration_tests (pull_request) Successful in 3m4s
CI / coverage (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
a9a879fc42
- add with_superseded_by() helper for frozen model mutation
- document frozen model + superseded_by interaction in docstring
- clarify sequence_number uniqueness is a persistence concern
- add scenario for invalid corrects_decision_id ULID validation
- add scenario for with_superseded_by copy behavior
- type step helper dict as dict[str, Any]
chore: add worktrees/ to gitignore
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 19s
CI / quality (pull_request) Successful in 23s
CI / build (pull_request) Successful in 22s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 32s
CI / integration_tests (pull_request) Successful in 2m42s
CI / unit_tests (pull_request) Successful in 12m15s
CI / docker (pull_request) Successful in 39s
CI / benchmark-regression (pull_request) Successful in 15m47s
CI / coverage (pull_request) Successful in 32m9s
6eff956c55
feat(resource): add resource registry and DAG metadata
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 17s
CI / lint (pull_request) Successful in 20s
CI / security (pull_request) Successful in 49s
CI / typecheck (pull_request) Successful in 55s
CI / integration_tests (pull_request) Successful in 4m11s
CI / unit_tests (pull_request) Successful in 13m22s
CI / docker (pull_request) Successful in 39s
CI / benchmark-regression (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
1dc2a196ed
fix(test): use StaticPool for skill registry in-memory db
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / lint (pull_request) Successful in 20s
CI / quality (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 32s
CI / security (pull_request) Successful in 37s
CI / integration_tests (pull_request) Successful in 4m37s
CI / unit_tests (pull_request) Successful in 17m42s
CI / docker (pull_request) Successful in 1m1s
CI / benchmark-regression (pull_request) Successful in 18m21s
CI / coverage (pull_request) Successful in 40m20s
90a9e5a7d2
The default SingletonThreadPool for sqlite:///:memory: can
non-deterministically lose flushed data when multiple sessions are
created without closing (as in the bulk-register table step).
Under CI with coverage --parallel-mode and behave-parallel --processes 32,
this caused list_all() to return 2 skills instead of 3.

StaticPool guarantees all sessions share the exact same DBAPI connection,
which is the SQLAlchemy-recommended pattern for :memory: test databases.
refactor(benchmark): clean up resource registry bench per review
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 21s
CI / build (pull_request) Successful in 16s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 39s
CI / integration_tests (pull_request) Successful in 3m59s
CI / unit_tests (pull_request) Successful in 7m13s
CI / docker (pull_request) Successful in 1m0s
CI / benchmark-regression (pull_request) Successful in 20m13s
CI / coverage (pull_request) Successful in 23m21s
17d78551a4
- remove unused imports (UTC, datetime, ResourceKind, SandboxStrategy)
- remove dead code (_bench_ulid, _CB32, _BENCH_CTR)
- use StaticPool for in-memory SQLite consistency
freemo force-pushed develop-hamza-2 from d64b919f25
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 17s
CI / build (pull_request) Successful in 20s
CI / security (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 34s
CI / integration_tests (pull_request) Successful in 2m26s
CI / unit_tests (pull_request) Successful in 12m0s
CI / docker (pull_request) Successful in 38s
CI / benchmark-regression (pull_request) Successful in 20m13s
CI / coverage (pull_request) Successful in 28m43s
to 68bc0685af
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 17s
CI / build (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 48s
CI / quality (pull_request) Successful in 48s
CI / security (pull_request) Successful in 50s
CI / integration_tests (pull_request) Successful in 3m21s
CI / unit_tests (pull_request) Successful in 16m30s
CI / docker (pull_request) Successful in 38s
CI / benchmark-regression (pull_request) Successful in 16m36s
CI / coverage (pull_request) Failing after 51m24s
2026-02-23 17:00:43 +00:00
Compare
freemo scheduled this pull request to auto merge when all checks succeed 2026-02-23 17:01:13 +00:00
freemo canceled auto merging this pull request when all checks succeed 2026-02-23 17:02:38 +00:00
freemo left a comment

You did not mark as complete the commit "feat(decision): add decision domain and context snapshots" despite including it in your branch as a completed commit.

You did not mark as complete the commit "feat(decision): add decision domain and context snapshots" despite including it in your branch as a completed commit.
freemo added this to the v3.2.0 milestone 2026-02-23 17:12:40 +00:00
hamza.khyari scheduled this pull request to auto merge when all checks succeed 2026-02-23 20:43:37 +00:00
hamza.khyari force-pushed develop-hamza-2 from 4a99ee6f4c
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 19s
CI / typecheck (pull_request) Successful in 30s
CI / security (pull_request) Successful in 31s
CI / integration_tests (pull_request) Successful in 3m43s
CI / unit_tests (pull_request) Successful in 7m8s
CI / docker (pull_request) Successful in 1m1s
CI / benchmark-regression (pull_request) Successful in 20m44s
CI / coverage (pull_request) Successful in 24m51s
to 0a39cefa3a
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / lint (pull_request) Successful in 20s
CI / quality (pull_request) Successful in 21s
CI / typecheck (pull_request) Successful in 31s
CI / security (pull_request) Successful in 47s
CI / integration_tests (pull_request) Successful in 2m51s
CI / unit_tests (pull_request) Successful in 12m59s
CI / docker (pull_request) Successful in 1m5s
CI / benchmark-regression (pull_request) Successful in 20m9s
CI / coverage (pull_request) Successful in 23m7s
2026-02-23 20:44:25 +00:00
Compare
hamza.khyari force-pushed develop-hamza-2 from 0a39cefa3a
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / lint (pull_request) Successful in 20s
CI / quality (pull_request) Successful in 21s
CI / typecheck (pull_request) Successful in 31s
CI / security (pull_request) Successful in 47s
CI / integration_tests (pull_request) Successful in 2m51s
CI / unit_tests (pull_request) Successful in 12m59s
CI / docker (pull_request) Successful in 1m5s
CI / benchmark-regression (pull_request) Successful in 20m9s
CI / coverage (pull_request) Successful in 23m7s
to 2c46a0be5a
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 18s
CI / security (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 32s
CI / integration_tests (pull_request) Successful in 2m25s
CI / unit_tests (pull_request) Successful in 6m52s
CI / docker (pull_request) Successful in 42s
CI / benchmark-regression (pull_request) Successful in 16m35s
CI / coverage (pull_request) Successful in 23m1s
2026-02-23 22:21:00 +00:00
Compare
Sign in to join this conversation.
No reviewers
No milestone
No project
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!385
No description provided.