test(e2e): add M2 actor + tool source smoke suite #421

Closed
brent.edwards wants to merge 0 commits from feature/m2-actor-tool-smoke into master
Member

Summary

Add comprehensive E2E test suite for M2 (Actor Graphs + Tool Sources) epic.

Changes

  • Behave BDD: 10 scenarios covering actor YAML loading, skill registry, tool lifecycle, MCP stub
  • Robot Framework: 6 integration tests via CLI helper
  • ASV benchmarks: 12 benchmarks for performance baselines
  • MCP stub mock: in-process fake server with 3 tools (search/fetch/transform)
  • Fixtures: hierarchical graph actor YAML + skill pack with tool refs and inline tools
  • Docs: updated docs/development/testing.md with M2 section

Quality Gates

  • lint: PASS
  • typecheck: PASS
  • unit_tests: PASS (198 features, 0 failures)
  • integration_tests: PASS
  • coverage_report: PASS (97.2%)
  • benchmark: PASS (789 benchmarks)

Closes #169

## Summary Add comprehensive E2E test suite for M2 (Actor Graphs + Tool Sources) epic. ### Changes - **Behave BDD**: 10 scenarios covering actor YAML loading, skill registry, tool lifecycle, MCP stub - **Robot Framework**: 6 integration tests via CLI helper - **ASV benchmarks**: 12 benchmarks for performance baselines - **MCP stub mock**: in-process fake server with 3 tools (search/fetch/transform) - **Fixtures**: hierarchical graph actor YAML + skill pack with tool refs and inline tools - **Docs**: updated `docs/development/testing.md` with M2 section ### Quality Gates - lint: PASS - typecheck: PASS - unit_tests: PASS (198 features, 0 failures) - integration_tests: PASS - coverage_report: PASS (97.2%) - benchmark: PASS (789 benchmarks) Closes #169
test(e2e): add M2 actor + tool source smoke suite
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 27s
CI / security (pull_request) Successful in 56s
CI / typecheck (pull_request) Successful in 1m2s
CI / coverage (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
093a74953f
Add comprehensive E2E test suite for M2 (Actor Graphs + Tool Sources) epic:

- Behave BDD: 10 scenarios covering actor YAML loading, skill registry,
  tool lifecycle (discover/activate/execute/deactivate), and MCP stub
- Robot Framework: 6 integration tests via CLI helper script
- ASV benchmarks: 12 benchmarks for actor loading, skill registry,
  tool lifecycle, and MCP stub performance baselines
- MCP stub server mock: in-process fake with 3 tools (search/fetch/transform)
- Fixtures: hierarchical graph actor YAML + skill pack with tool refs and
  inline tools
- Docs: updated testing.md with M2 smoke suite section

Closes #169
brent.edwards added this to the v3.1.0 milestone 2026-02-24 21:56:25 +00:00
Merge branch 'master' into feature/m2-actor-tool-smoke
All checks were successful
CI / lint (pull_request) Successful in 24s
CI / quality (pull_request) Successful in 33s
CI / benchmark-publish (pull_request) Has been skipped
CI / security (pull_request) Successful in 48s
CI / typecheck (pull_request) Successful in 1m0s
CI / build (pull_request) Successful in 22s
CI / integration_tests (pull_request) Successful in 2m59s
CI / benchmark-regression (pull_request) Successful in 17m22s
CI / unit_tests (pull_request) Successful in 20m29s
CI / docker (pull_request) Successful in 10s
CI / coverage (pull_request) Successful in 54m43s
a2a91c3d9c
freemo requested changes 2026-02-24 22:25:46 +00:00
Dismissed
freemo left a comment

Code Review: PR #421test(e2e): add M2 actor + tool source smoke suite

Overall this is a well-structured testing PR with good coverage across BDD, Robot, and ASV benchmarks. The description is detailed and quality gates are documented. However, several CONTRIBUTING.md requirements are unmet.

Required Changes

1. Missing CHANGELOG update (CONTRIBUTING.md §6)
The PR adds a comprehensive new E2E test suite but does not include a CHANGELOG entry. Per the contributing guidelines: "The PR must include an update to the changelog file."

2. Missing CONTRIBUTORS.md update (CONTRIBUTING.md §8)
Brent Edwards is not listed in CONTRIBUTORS.md. Per guidelines: "Add your name to CONTRIBUTORS.md if it is not already listed."

3. Documentation inconsistency
The updated docs/development/testing.md claims 11 Behave scenarios for the M2 smoke suite, but the .feature file only contains 10 scenarios. Please reconcile the documentation with the actual scenario count.

Advisory (Non-Blocking)

  • Module-level sys.path mutation + importlib.reload() in the benchmark file — while functional, this is fragile. Consider using proper import mechanisms.
  • Untyped lambda handler in step file — a minor type annotation gap.

What's Good

  • Proper use of Closes #169 linking
  • Correct milestone assignment (v3.1.0)
  • Files placed in correct directories (features/, robot/, benchmarks/, docs/)
  • Quality gates documented and passing
  • Appropriate Type/Testing label

Please address items 1-3 above and push updated commits.

## Code Review: PR #421 — `test(e2e): add M2 actor + tool source smoke suite` Overall this is a well-structured testing PR with good coverage across BDD, Robot, and ASV benchmarks. The description is detailed and quality gates are documented. However, several CONTRIBUTING.md requirements are unmet. ### Required Changes **1. Missing CHANGELOG update (CONTRIBUTING.md §6)** The PR adds a comprehensive new E2E test suite but does not include a CHANGELOG entry. Per the contributing guidelines: "The PR must include an update to the changelog file." **2. Missing CONTRIBUTORS.md update (CONTRIBUTING.md §8)** Brent Edwards is not listed in `CONTRIBUTORS.md`. Per guidelines: "Add your name to CONTRIBUTORS.md if it is not already listed." **3. Documentation inconsistency** The updated `docs/development/testing.md` claims 11 Behave scenarios for the M2 smoke suite, but the `.feature` file only contains 10 scenarios. Please reconcile the documentation with the actual scenario count. ### Advisory (Non-Blocking) - **Module-level `sys.path` mutation + `importlib.reload()`** in the benchmark file — while functional, this is fragile. Consider using proper import mechanisms. - **Untyped lambda handler** in step file — a minor type annotation gap. ### What's Good - Proper use of `Closes #169` linking - Correct milestone assignment (v3.1.0) - Files placed in correct directories (features/, robot/, benchmarks/, docs/) - Quality gates documented and passing - Appropriate `Type/Testing` label Please address items 1-3 above and push updated commits.
freemo dismissed freemo's review 2026-02-24 22:46:11 +00:00
Reason:

dont want hard block

Merge branch 'master' into feature/m2-actor-tool-smoke
Some checks failed
CI / lint (pull_request) Successful in 23s
CI / typecheck (pull_request) Successful in 58s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 19s
CI / build (pull_request) Successful in 24s
CI / security (pull_request) Successful in 51s
CI / integration_tests (pull_request) Successful in 4m20s
CI / benchmark-regression (pull_request) Successful in 21m59s
CI / unit_tests (pull_request) Successful in 24m32s
CI / docker (pull_request) Successful in 22s
CI / coverage (pull_request) Has been cancelled
d5c7780a53
chore(pr): address code review feedback for PR #421
All checks were successful
CI / lint (pull_request) Successful in 23s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 30s
CI / build (pull_request) Successful in 23s
CI / security (pull_request) Successful in 52s
CI / typecheck (pull_request) Successful in 58s
CI / integration_tests (pull_request) Successful in 4m58s
CI / unit_tests (pull_request) Successful in 12m52s
CI / docker (pull_request) Successful in 1m0s
CI / benchmark-regression (pull_request) Successful in 21m33s
CI / coverage (pull_request) Successful in 1h12m45s
9bf87a20d9
- Added CHANGELOG.md entry for M2 E2E test suite (CONTRIBUTING.md §6)
- Added Brent E. Edwards to CONTRIBUTORS.md (CONTRIBUTING.md §8)
- Fixed docs/development/testing.md: corrected M2 Behave scenario count
  from 11 to 10 to match actual feature file
- Added standard explanatory comments to benchmark sys.path setup
  for consistency with project convention (advisory)
- Replaced untyped lambda handler with typed _m2_noop_handler function
  in step definitions (advisory)

All nox stages pass: lint, typecheck, format, unit_tests (280 features /
5846 scenarios / 0 failures), integration_tests (682 passed),
coverage_report (97.2%).

ISSUES CLOSED: #169
Author
Member

Hi Jeff — all three required changes and both advisory items have been addressed in 9bf87a2:

Required:

  1. CHANGELOG.md — Added entry for M2 E2E test suite (§6).
  2. CONTRIBUTORS.md — Added Brent E. Edwards (§8).
  3. docs/development/testing.md — Fixed scenario count: 11 → 10 to match the actual .feature file.

Advisory (also fixed):
4. benchmarks/m2_actor_tool_smoke_bench.py — Added standard explanatory comments to the sys.path + importlib.reload() blocks for consistency with the project-wide ASV convention.
5. features/steps/m2_actor_tool_smoke_steps.py — Replaced untyped lambda with a typed _m2_noop_handler function.

All nox stages pass (lint, typecheck, format, unit_tests: 5846 scenarios/0 failures, integration_tests: 682/0 failures, coverage: 97.2%). Ready for re-review.

Hi Jeff — all three required changes and both advisory items have been addressed in `9bf87a2`: **Required:** 1. **CHANGELOG.md** — Added entry for M2 E2E test suite (§6). 2. **CONTRIBUTORS.md** — Added Brent E. Edwards (§8). 3. **docs/development/testing.md** — Fixed scenario count: 11 → 10 to match the actual `.feature` file. **Advisory (also fixed):** 4. **benchmarks/m2_actor_tool_smoke_bench.py** — Added standard explanatory comments to the `sys.path` + `importlib.reload()` blocks for consistency with the project-wide ASV convention. 5. **features/steps/m2_actor_tool_smoke_steps.py** — Replaced untyped lambda with a typed `_m2_noop_handler` function. All nox stages pass (lint, typecheck, format, unit_tests: 5846 scenarios/0 failures, integration_tests: 682/0 failures, coverage: 97.2%). Ready for re-review.
Author
Member

⚠️ Do not merge this PR individually. This branch exists for review convenience only.

All changes from this branch are consolidated in PR #431 (develop-brent-4), which should be the one merged into master.

#431

⚠️ **Do not merge this PR individually.** This branch exists for review convenience only. All changes from this branch are consolidated in **PR #431** (`develop-brent-4`), which should be the one merged into `master`. → https://git.cleverthis.com/cleveragents/cleveragents-core/pulls/431
brent.edwards closed this pull request 2026-02-25 19:46:05 +00:00
brent.edwards deleted branch feature/m2-actor-tool-smoke 2026-02-25 19:46:11 +00:00
All checks were successful
CI / lint (pull_request) Successful in 23s
Required
Details
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 30s
Required
Details
CI / build (pull_request) Successful in 23s
Required
Details
CI / security (pull_request) Successful in 52s
Required
Details
CI / typecheck (pull_request) Successful in 58s
Required
Details
CI / integration_tests (pull_request) Successful in 4m58s
Required
Details
CI / unit_tests (pull_request) Successful in 12m52s
Required
Details
CI / docker (pull_request) Successful in 1m0s
Required
Details
CI / benchmark-regression (pull_request) Successful in 21m33s
CI / coverage (pull_request) Successful in 1h12m45s
Required
Details

Pull request closed

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!421
No description provided.