mirror of
https://github.com/azaion/missions.git
synced 2026-06-21 06:31:08 +00:00
b0c7132889
Decompose Step 5 (tests-only mode) produced the test-task ladder for the Blackbox Tests epic. Test infrastructure (AZ-576) blocks the rest; all 10 blackbox child tasks fan out from it. Tasks (epic AZ-575): - AZ-576 test_infrastructure (5 SP) - AZ-577 test_vehicles_positive (5 SP) - AZ-578 test_missions_positive (5 SP) - AZ-579 test_waypoints_health_positive (5 SP) - AZ-580 test_validation_authz_negative (3 SP) - AZ-581 test_security_auth_claims (5 SP) - AZ-582 test_security_alg_rotation_cors (5 SP) - AZ-583 test_resilience_cascade_migrator (3 SP) - AZ-584 test_resilience_config_db_rotation_race (5 SP) - AZ-585 test_resource_limits (3 SP) - AZ-586 test_performance (3 SP) Total: 45 SP across 11 tasks. Coverage verified against blackbox/security/resilience/resource-limit/performance test specs (56 scenarios). _docs/_autodev_state.md advanced to Step 6 (Implement Tests). Co-authored-by: Cursor <cursoragent@cursor.com>
4.8 KiB
4.8 KiB
Dependencies Table
Date: 2026-05-15
Mode: tests-only decomposition (Step 5 of existing-code autodev flow)
Epic: AZ-575 — Blackbox Tests — Missions
Total Tasks: 11
Total Complexity Points: 45 (5 + 5 + 5 + 5 + 3 + 5 + 5 + 3 + 5 + 3 + 3)
| Task | Name | Complexity | Dependencies | Epic |
|---|---|---|---|---|
| AZ-576 | test_infrastructure | 5 | None | AZ-575 |
| AZ-577 | test_vehicles_positive | 5 | AZ-576 | AZ-575 |
| AZ-578 | test_missions_positive | 5 | AZ-576 | AZ-575 |
| AZ-579 | test_waypoints_health_positive | 5 | AZ-576 | AZ-575 |
| AZ-580 | test_validation_authz_negative | 3 | AZ-576 | AZ-575 |
| AZ-581 | test_security_auth_claims | 5 | AZ-576 | AZ-575 |
| AZ-582 | test_security_alg_rotation_cors | 5 | AZ-576 | AZ-575 |
| AZ-583 | test_resilience_cascade_migrator | 3 | AZ-576 | AZ-575 |
| AZ-584 | test_resilience_config_db_rotation_race | 5 | AZ-576 | AZ-575 |
| AZ-585 | test_resource_limits | 3 | AZ-576 | AZ-575 |
| AZ-586 | test_performance | 3 | AZ-576 | AZ-575 |
Coverage Verification
| Spec file | Scenarios | Covered by |
|---|---|---|
tests/blackbox-tests.md § Positive |
FT-P-01..06 (Vehicles) | AZ-577 |
tests/blackbox-tests.md § Positive |
FT-P-07..12 (Missions) | AZ-578 |
tests/blackbox-tests.md § Positive |
FT-P-13..18 (Waypoints + Health) | AZ-579 |
tests/blackbox-tests.md § Negative |
FT-N-01..08 | AZ-580 |
tests/security-tests.md |
NFT-SEC-01..06 + 04b | AZ-581 |
tests/security-tests.md |
NFT-SEC-07..13 | AZ-582 |
tests/resilience-tests.md |
NFT-RES-01..04 | AZ-583 |
tests/resilience-tests.md |
NFT-RES-05..08 | AZ-584 |
tests/resource-limit-tests.md |
NFT-RES-LIM-01..04 | AZ-585 |
tests/performance-tests.md |
NFT-PERF-01..04 | AZ-586 |
Total scenarios covered: 56 (18 FT-P + 8 FT-N + 14 NFT-SEC + 8 NFT-RES + 4 NFT-RES-LIM + 4 NFT-PERF).
Cross-Task Consistency Checks
| Check | Result |
|---|---|
Every scenario from blackbox-tests.md § Positive (FT-P-01..18) is covered |
PASS |
Every scenario from blackbox-tests.md § Negative (FT-N-01..08) is covered |
PASS |
Every scenario from security-tests.md (NFT-SEC-01..13 + 04b) is covered |
PASS |
Every scenario from resilience-tests.md (NFT-RES-01..08) is covered |
PASS |
Every scenario from resource-limit-tests.md (NFT-RES-LIM-01..04) is covered |
PASS |
Every scenario from performance-tests.md (NFT-PERF-01..04) is covered |
PASS |
| No task exceeds 5 complexity points | PASS |
| Every blackbox test task depends on the test-infrastructure task (AZ-576) | PASS |
| Test-infrastructure task (AZ-576) has no upstream test dependencies | PASS |
| No circular dependencies in the task graph | PASS — graph is a fan-out: AZ-576 → {AZ-577..AZ-586} |
| Every e2e/blackbox task has a System Under Test Boundary section | PASS — all 10 child tasks include the section |
| System Under Test Boundary forbids stubbing internal product modules | PASS — verified in each task spec |
| System Under Test Boundary requires comparison to expected-results artifacts | PASS — every task references _docs/00_problem/input_data/expected_results/results_report.md and/or the relevant machine-readable expected-result JSON |
Overlap & Shared-Concern Notes
- NFT-SEC-08 (Task 15) ↔ FT-N-08 (Task 13) both exercise the 500 error envelope. FT-N-08 owns the destructive
DROP TABLE vehiclesfault injection and asserts redaction + log line presence; NFT-SEC-08 additionally asserts the body has NO key matchingstack/stackTrace/exception/inner/trace/file-path/type-name. No work duplication — the two tests share the fixture but assert distinct invariants. - NFT-SEC-11 (Task 15) ↔ NFT-RES-07 (Task 17) both exercise JWKS rotation. NFT-SEC-11 focuses on the
kid-cache mechanics + grace-window timing; NFT-RES-07 additionally asserts thedocker inspect StartedAtinvariant (no restart). Sharing the same primitive via theJwksRotateFixturefrom AZ-576. - NFT-SEC-12 (Task 15) ↔ NFT-RES-05 (Task 17) both exercise startup fail-fast on missing required env vars. NFT-SEC-12 covers 4 missing-env cases + HTTP-JWKS-URL path. NFT-RES-05 covers the same 4 missing-env cases + an additional whitespace-only case + the DB-down-after-config-resolution differentiator (proves config resolution succeeded before Npgsql failed). Tasks share the
MissionsContainerHelperdocker-run primitive from AZ-576.
Execution Order Hint
Recommended dependency-aware batches for /implement:
- Batch 1 (sequential, blocking the rest): AZ-576 — test_infrastructure
- Batch 2 (parallel, fan-out from AZ-576): AZ-577..AZ-586 in any order. Independent test classes within a single xUnit assembly; no inter-task ordering needed.
CSV report sorting at suite end: by Category (Blackbox / Sec / Res / ResLim / Perf), then by test ID within category.