test(e2e): add M5 ACMS + context suites #469

Merged
brent.edwards merged 10 commits from feature/m5-acms-smoke into master 2026-02-28 05:24:10 +00:00
Member

Summary

Closes #200

Adds comprehensive M5 ACMS and context management smoke test suites covering:

Behave BDD Scenarios (27 scenarios)

  • Context policy phase inheritance (default → strategize → execute → apply)
  • Context view field validation and max-size constraints
  • ContextService CRUD operations (add/remove/list/show)
  • Context analysis agent pipeline stages
  • CLI context commands (add/remove/list/show/clear/export/import)
  • Project context policy CLI (inspect/simulate stubs raise NotImplementedError)
  • Large project context scalability (500-file simulation)
  • Context search and relevance scoring

Robot Integration Tests (10 tests)

  • Context policy round-trip serialisation
  • Phase inheritance chain validation
  • Context file metadata integrity
  • Analysis pipeline stage completeness
  • CLI context subcommand availability
  • Large project context scalability

ASV Performance Benchmarks (4 suites)

  • ContextPolicy creation and phase lookup
  • ContextService add/remove/list operations
  • Context analysis pipeline overhead
  • Large project context handling

Fixtures

  • features/fixtures/m5/acms_context_policy.json — Phase-specific context policy
  • features/fixtures/m5/large_project_context.json — 500-file project simulation
  • features/fixtures/m5/context_analysis_results.json — Pre-computed analysis results

Documentation

  • Updated docs/development/testing.md with M5 suite documentation
## Summary Closes #200 Adds comprehensive M5 ACMS and context management smoke test suites covering: ### Behave BDD Scenarios (27 scenarios) - Context policy phase inheritance (default → strategize → execute → apply) - Context view field validation and max-size constraints - ContextService CRUD operations (add/remove/list/show) - Context analysis agent pipeline stages - CLI context commands (add/remove/list/show/clear/export/import) - Project context policy CLI (inspect/simulate stubs raise NotImplementedError) - Large project context scalability (500-file simulation) - Context search and relevance scoring ### Robot Integration Tests (10 tests) - Context policy round-trip serialisation - Phase inheritance chain validation - Context file metadata integrity - Analysis pipeline stage completeness - CLI context subcommand availability - Large project context scalability ### ASV Performance Benchmarks (4 suites) - ContextPolicy creation and phase lookup - ContextService add/remove/list operations - Context analysis pipeline overhead - Large project context handling ### Fixtures - `features/fixtures/m5/acms_context_policy.json` — Phase-specific context policy - `features/fixtures/m5/large_project_context.json` — 500-file project simulation - `features/fixtures/m5/context_analysis_results.json` — Pre-computed analysis results ### Documentation - Updated `docs/development/testing.md` with M5 suite documentation
test(e2e): add M5 ACMS + context suites
Some checks failed
CI / lint (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 21s
CI / security (pull_request) Successful in 40s
CI / typecheck (pull_request) Successful in 41s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / integration_tests (pull_request) Successful in 2m47s
CI / benchmark-regression (pull_request) Successful in 28m30s
CI / unit_tests (pull_request) Failing after 33m23s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Failing after 53m42s
ece5e61725
fix(test): correct M5 smoke patch targets and pattern matching
Some checks failed
CI / lint (pull_request) Successful in 14s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 28s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 33s
CI / build (pull_request) Successful in 50s
CI / integration_tests (pull_request) Successful in 2m56s
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
75c628793b
Fix 4 errored scenarios: patch get_container instead of the lazily-
imported ContextService (which is not a module-level attribute of
cleveragents.cli.commands.context).

Fix project context show (line 112): mock _get_namespaced_project_repo
to return a repo (not a tuple), mock get_container for session_factory,
and mock _read_policy to bypass DB access.

Fix context exclusion pattern (line 152): replace fnmatch.fnmatch with
PurePosixPath.match for proper ** glob handling and use a path with a
leading directory segment.

Also fix context list empty assertion to match actual CLI output
('No files in context' rather than 'No context'), and patch
Path.exists for the add command so the mock service is reached.
Merge branch 'master' into feature/m5-acms-smoke
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 22s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 31s
CI / security (pull_request) Successful in 35s
CI / typecheck (pull_request) Successful in 55s
CI / integration_tests (pull_request) Successful in 2m58s
CI / benchmark-regression (pull_request) Successful in 27m24s
CI / unit_tests (pull_request) Failing after 33m24s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Has been cancelled
c9782637d9
refactor(cli): promote get_container to module-level import
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 18s
CI / build (pull_request) Successful in 23s
CI / security (pull_request) Successful in 38s
CI / typecheck (pull_request) Successful in 39s
CI / docker (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
58d593322c
Move get_container from lazy per-function imports to module-level in
context.py (10 sites) and project_context.py (3 sites).  This makes
the symbol a patchable module attribute so BDD step files can
mock the DI container with unittest.mock.patch.

Closes #200
Merge branch 'master' into feature/m5-acms-smoke
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / lint (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 25s
CI / security (pull_request) Successful in 51s
CI / typecheck (pull_request) Successful in 1m0s
CI / integration_tests (pull_request) Successful in 2m50s
CI / benchmark-regression (pull_request) Successful in 24m49s
CI / unit_tests (pull_request) Failing after 26m25s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Has been cancelled
50b047056e
fix(test): use source-module patch target for get_container
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 19s
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 23s
CI / security (pull_request) Successful in 51s
CI / typecheck (pull_request) Successful in 59s
CI / integration_tests (pull_request) Successful in 4m27s
CI / unit_tests (pull_request) Successful in 11m20s
CI / docker (pull_request) Successful in 49s
CI / benchmark-regression (pull_request) Successful in 22m42s
CI / coverage (pull_request) Successful in 1h27m38s
de8c33cb4a
Revert module-level import refactor and instead patch at
cleveragents.application.container.get_container — matching the
established pattern used by all existing context CLI tests.
Lazy imports inside each function re-read from the source module,
so patching there intercepts correctly.

Closes #200
Merge branch 'master' into feature/m5-acms-smoke
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 19s
CI / build (pull_request) Successful in 19s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 49s
CI / integration_tests (pull_request) Successful in 2m43s
CI / unit_tests (pull_request) Failing after 26m33s
CI / docker (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 28m55s
CI / coverage (pull_request) Successful in 48m40s
e3a93bf32c
fix(test): stabilize retry_with_timeout scenario
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 27s
CI / typecheck (pull_request) Has been cancelled
CI / security (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / integration_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
465683fb6b
Patch time.monotonic alongside time.sleep in the retry timeout step
so stop_after_delay cannot elapse due to wall-clock overhead on
busy CI runners. The fake monotonic clock advances by 1µs per call,
keeping elapsed time well under the 0.01s timeout while preserving
retry semantics.

Closes #200
Merge branch 'master' into feature/m5-acms-smoke
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 22s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 22s
CI / typecheck (pull_request) Successful in 36s
CI / security (pull_request) Successful in 36s
CI / integration_tests (pull_request) Successful in 3m52s
CI / unit_tests (pull_request) Successful in 22m47s
CI / docker (pull_request) Successful in 16s
CI / benchmark-regression (pull_request) Successful in 24m17s
CI / coverage (pull_request) Successful in 55m8s
ab3431c671
Merge branch 'master' into feature/m5-acms-smoke
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 19s
CI / lint (pull_request) Successful in 27s
CI / typecheck (pull_request) Successful in 55s
CI / security (pull_request) Successful in 58s
CI / integration_tests (pull_request) Successful in 2m57s
CI / unit_tests (pull_request) Successful in 22m9s
CI / docker (pull_request) Successful in 9s
CI / benchmark-regression (pull_request) Successful in 26m45s
CI / coverage (pull_request) Successful in 53m59s
133830c2b7
brent.edwards scheduled this pull request to auto merge when all checks succeed 2026-02-28 04:30:52 +00:00
brent.edwards deleted branch feature/m5-acms-smoke 2026-02-28 05:24:11 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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!469
No description provided.