feat(acms): implement builtin/context skill for CRP #1149

Merged
aditya merged 2 commits from feature/m5-crp-context-skill into master 2026-03-26 08:07:55 +00:00

2 Commits

Author SHA1 Message Date
aditya 1e4b6d5be3 fix(acms): address context skill review feedback
CI / lint (pull_request) Successful in 20s
CI / build (pull_request) Successful in 18s
CI / quality (pull_request) Successful in 3m53s
CI / unit_tests (pull_request) Successful in 3m55s
CI / security (pull_request) Successful in 4m1s
CI / typecheck (pull_request) Successful in 4m21s
CI / docker (pull_request) Successful in 1m17s
CI / integration_tests (pull_request) Successful in 6m53s
CI / e2e_tests (pull_request) Successful in 10m41s
CI / coverage (pull_request) Successful in 11m17s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 58m10s
Use public ContextTierService fragment accessors in builtin/context handlers and remove the unused query_history scope input so the tool contract matches runtime behavior.
2026-03-26 07:52:09 +00:00
aditya 37b6d27d0b feat(acms): implement builtin/context skill for CRP
Wire the three CRP tool handlers in context_ops.py to the ACMS pipeline
and ContextTierService, replacing NotImplementedError stubs with
functional implementations:

- request_context: Sources fragments from ContextTierService, filters
  by query/focus keywords, and delegates to ACMSPipeline.assemble()
  for budget-constrained context assembly. Accepts optional plan_id
  for actor-context invocation.

- query_history: Searches across hot/warm/cold tiers for fragments
  matching the query string via case-insensitive substring matching.
  Returns results sorted by last-accessed timestamp.

- get_context_budget: Returns current token budget state (max, reserved,
  available, used) computed from ContextBudget defaults and hot-tier
  fragment token counts.

Additionally:
- Register ACMSPipeline as a Singleton in the DI container
- Create build_context_skill_definition() factory for SkillRegistry
  auto-registration of the builtin/context skill
- Replace 3 obsolete NotImplementedError test scenarios with 8 new
  functional BDD scenarios covering all handler paths

Lint, typecheck, and coverage (98%) all pass.

ISSUES CLOSED: #873
2026-03-26 07:52:09 +00:00