test(cli): add TDD failing tests for Container.resolve() crash #670

Closed
aditya wants to merge 14 commits from tdd/container-resolve-crash into master

14 Commits

Author SHA1 Message Date
aditya 2af30561bc Merge branch 'master' into tdd/container-resolve-crash
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 23s
CI / quality (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 39s
CI / security (pull_request) Successful in 1m8s
CI / e2e_tests (pull_request) Successful in 1m22s
CI / unit_tests (pull_request) Successful in 3m53s
CI / integration_tests (pull_request) Successful in 4m20s
CI / docker (pull_request) Successful in 54s
CI / coverage (pull_request) Successful in 5m57s
CI / benchmark-regression (pull_request) Successful in 37m1s
2026-03-17 10:23:19 +00:00
aditya b754aca7ec fix(test): address Brent review findings for PR #670 regression tests
Align bug #647 regression coverage with review feedback by hardening assertions,
removing integration-test mock usage, refactoring Robot helper command flow,
tightening auth-failure matching, and improving test isolation/diagnostics.

ISSUES CLOSED: #648
2026-03-17 10:21:50 +00:00
aditya 4a1125db85 Merge branch 'master' into tdd/container-resolve-crash
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 45s
CI / security (pull_request) Successful in 1m3s
CI / e2e_tests (pull_request) Successful in 1m28s
CI / unit_tests (pull_request) Successful in 3m8s
CI / docker (pull_request) Successful in 9s
CI / integration_tests (pull_request) Successful in 3m39s
CI / coverage (pull_request) Successful in 6m53s
CI / benchmark-regression (pull_request) Successful in 37m8s
2026-03-16 12:27:00 +00:00
aditya 4b41d9a69e fix(test): harden TDD #648 container-resolve regression tests
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 18s
CI / build (pull_request) Successful in 24s
CI / quality (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 39s
CI / security (pull_request) Successful in 51s
CI / e2e_tests (pull_request) Successful in 1m33s
CI / unit_tests (pull_request) Successful in 3m7s
CI / docker (pull_request) Successful in 8s
CI / integration_tests (pull_request) Successful in 3m28s
CI / coverage (pull_request) Successful in 6m1s
CI / benchmark-regression (pull_request) Successful in 38m2s
Address PR #670 review feedback by tightening failure guards so only the
expected AttributeError path is invertible, resetting singleton/config state
during cleanup, and aligning test notes/assertions with current post-fix behavior.

ISSUES CLOSED: #648
2026-03-16 11:52:25 +00:00
aditya d7066620f6 Merge branch 'master' into tdd/container-resolve-crash
CI / lint (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 1m2s
CI / quality (pull_request) Successful in 1m1s
CI / benchmark-publish (pull_request) Has been skipped
CI / security (pull_request) Successful in 1m9s
CI / build (pull_request) Successful in 20s
CI / e2e_tests (pull_request) Successful in 1m38s
CI / coverage (pull_request) Failing after 1m42s
CI / integration_tests (pull_request) Failing after 3m38s
CI / benchmark-regression (pull_request) Successful in 36m53s
CI / docker (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
2026-03-16 07:01:02 +00:00
aditya 8581063773 fix(test): address PR #670 review feedback for TDD #648
Tightened container-resolve crash TDD tests by improving cleanup/state isolation, expected-fail safety guards, and stale test documentation alignment. Added changelog entry and minimal test-only refinements without altering unrelated flows.

ISSUES CLOSED: #648
2026-03-16 06:58:17 +00:00
aditya bc1f7ce2f2 Merge branch 'master' into tdd/container-resolve-crash
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 18s
CI / security (pull_request) Successful in 38s
CI / typecheck (pull_request) Successful in 40s
CI / unit_tests (pull_request) Successful in 2m59s
CI / integration_tests (pull_request) Successful in 3m37s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 6m35s
CI / benchmark-regression (pull_request) Successful in 35m33s
2026-03-12 12:40:09 +00:00
aditya 1b0e630631 Merge branch 'master' into tdd/container-resolve-crash
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 20s
CI / build (pull_request) Successful in 19s
CI / security (pull_request) Successful in 41s
CI / typecheck (pull_request) Successful in 41s
CI / unit_tests (pull_request) Successful in 3m15s
CI / integration_tests (pull_request) Successful in 3m21s
CI / docker (pull_request) Successful in 10s
CI / coverage (pull_request) Successful in 5m45s
CI / benchmark-regression (pull_request) Successful in 35m0s
2026-03-12 06:44:35 +00:00
aditya 246f48fd2b fix(test): align TDD bug #647 assertions with expected-fail inversion flow
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 19s
CI / lint (pull_request) Successful in 25s
CI / security (pull_request) Successful in 39s
CI / typecheck (pull_request) Successful in 51s
CI / unit_tests (pull_request) Successful in 3m8s
CI / docker (pull_request) Successful in 38s
CI / integration_tests (pull_request) Successful in 5m20s
CI / coverage (pull_request) Successful in 5m25s
CI / benchmark-regression (pull_request) Successful in 34m44s
Updated Behave and Robot TDD tests for issue #648 to assert correct behavior while tagged with tdd_expected_fail, so listener/hook inversion works as intended. Also hardened test isolation and reliability by adding in-memory engine cache cleanup, per-run plan IDs, stricter assertion semantics, reduced Robot timeout, and an issue-resolution markdown response for Coree review comments.

ISSUES CLOSED: #648
2026-03-11 08:46:12 +00:00
aditya 73acb5b467 Merge branch 'master' into tdd/container-resolve-crash
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 18s
CI / quality (pull_request) Successful in 20s
CI / typecheck (pull_request) Successful in 38s
CI / security (pull_request) Successful in 40s
CI / unit_tests (pull_request) Failing after 2m40s
CI / docker (pull_request) Has been skipped
CI / integration_tests (pull_request) Failing after 3m44s
CI / coverage (pull_request) Successful in 5m30s
CI / benchmark-regression (pull_request) Failing after 28m56s
2026-03-11 07:49:47 +00:00
aditya 452e1ecda7 fix(test): harden TDD bug #647 crash coverage and isolation
Strengthened Container.resolve() crash tests to prevent false positives and cross-scenario state bleed by adding strict AttributeError checks, per-run plan IDs, and in-memory engine cache cleanup. Reduced Robot timeouts for faster failure feedback and added a concise review-resolution note for PR discussion context.

ISSUES CLOSED: #648
2026-03-11 07:48:25 +00:00
aditya bbd0c18d65 Merge branch 'master' into tdd/container-resolve-crash
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 17s
CI / security (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 36s
CI / unit_tests (pull_request) Successful in 4m12s
CI / integration_tests (pull_request) Successful in 4m45s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 5m5s
CI / benchmark-regression (pull_request) Successful in 31m25s
2026-03-10 13:53:32 +00:00
aditya 5df4330be5 fix(test): address review comments for Container.resolve() TDD tests
Applied all review feedback from hurui200320:
- Remove dead code: unused _ROOT_ID, _CHILD_ID, _GRANDCHILD_ID constants
- Add Log statements to Robot tests for stdout/stderr debugging
- Refactor global mutable state to use DecisionIDs NamedTuple pattern
- Add cleanup function with try/finally blocks in Robot helper
- Fix Robot variable naming: ${HELPER_SCRIPT} -> ${HELPER} with ${CURDIR}
- Add comments explaining assertion direction compromise (no @tdd_expected_fail handler yet)

All tests passing:
- 3 Behave BDD scenarios pass
- 3 Robot Framework tests pass
- Linting passes (ruff)

ISSUES CLOSED: #648
2026-03-10 13:41:13 +00:00
aditya 2927f2291c test(cli): add TDD failing tests for Container.resolve() crash
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 18s
CI / security (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 36s
CI / unit_tests (pull_request) Successful in 2m30s
CI / docker (pull_request) Successful in 38s
CI / integration_tests (pull_request) Successful in 3m12s
CI / coverage (pull_request) Successful in 4m56s
CI / benchmark-regression (pull_request) Successful in 31m45s
Implemented TDD tests for bug #647 per CONTRIBUTING.md Bug Fix Workflow.
Three CLI commands (plan tree, plan explain, plan correct) call
container.resolve(DecisionService), but Container has no resolve() method.
Commands crash with AttributeError.

Created Behave BDD scenarios and Robot Framework integration tests that
reproduce the crash using a REAL DI container (not MagicMock). Existing
M3 tests missed this bug because they mock get_container() with MagicMock,
which auto-creates any attribute.

Tests tagged @tdd_bug @tdd_bug_647 @tdd_expected_fail. They currently
pass (inverted result) and will verify the fix once bug #647 is resolved
and @tdd_expected_fail tags are removed.

Files added:
- features/container_resolve_crash.feature (28 lines)
- features/steps/container_resolve_crash_steps.py (268 lines)
- robot/container_resolve_crash.robot (43 lines)
- robot/helper_container_resolve_crash.py (342 lines)

ISSUES CLOSED: #648
2026-03-10 07:24:47 +00:00