# Test Run Report — Phase B Cycle 1 (Step 11)

**Date**: 2026-05-11
**Mode**: functional
**Runner**: `scripts/run-tests.sh` (default profiles: static + fast; e2e env-blocked, see Step 7 report)
**Verdict**: PASS_WITH_DOCUMENTED_GATE
**Handoff**: re-uses the suite run performed under Step 10 batch 10 (implement skill Step 16: avoid duplicate full runs when next flow step is Run Tests). Source state at run-time === source state at commit `8a461a2`.

## Profile Outcomes

| Profile | Status | Counts | Wall-clock | Report file |
|---------|--------|--------|------------|-------------|
| static  | PASS   | **31 / 31** including new `STC-ARCH-02` | ~14 s | `test-output/summary.csv` |
| fast    | PASS   | 28 files / **209 PASS / 13 SKIP / 0 FAIL** | ~22.6 s | `test-output/fast-report.xml` |
| e2e     | env-blocked (deferred — same registry-access block as Step 7) | n/a | n/a | n/a |

## Delta vs Step 7 baseline

- Fast: 163 / 13 → 209 / 13 (+46 over Phase A close, +42 over end-of-batch-9):
  - +4 STC-ARCH-01 architecture tests (added in batch 9 / AZ-485)
  - +36 STC-ARCH-02 contract assertions in `src/api/endpoints.test.ts` (this cycle / AZ-486)
  - +6 STC-ARCH-02 architecture tests in `tests/architecture_imports.test.ts` (this cycle / AZ-486)
- Static: 29 / 29 → 31 / 31 (+2 new gates: `STC-ARCH-01` AZ-485, `STC-ARCH-02` AZ-486)
- Skip count unchanged at 13 — no new skips introduced this cycle.

## System-Under-Test Reality Gate

PASS (same shape as Step 7):
- `_docs/00_problem/input_data/expected_results/results_report.md` still exists; `_docs/02_document/tests/traceability-matrix.md` still maps every AC. No internal product module was faked, monkeypatched, or replaced with a deterministic fallback by this cycle's batches — verified by self-review for batch 9 and batch 10.
- The refactor surface this cycle (`endpoints.*` + STC-ARCH-02) is pure rewrite-of-string-literals through a typed accessor object; no behavior change, no external system replaced.
- CSV report inspected — all 31 static rows PASS; fast profile rolled-up PASS row points at the JUnit XML.

## Skipped Tests — Same 13 As Step 7, Still Legitimate

The 13 skips are byte-for-byte the same set documented in `test_run_report.md`'s "Skipped Tests — All 13 Accepted as Legitimate" section. None of this cycle's two tasks (AZ-485, AZ-486) touched any of the skip conditions: F4 (barrels) and F7 (URL builders) are pure mechanical refactors of the import path and string-literal layer; they do not change which features ship to production. The user-approved acceptance from Step 7 still applies.

## Environment Block — e2e Profile

Same as Step 7: registry-access block on `azaion/{admin,flights,annotations,detect,loader,resource}:test` images. F4 / F7 changes do not affect Docker images or compose configuration (no Dockerfile or compose edits this cycle), so re-running e2e would not produce different results. Defer to the merge-lane CI per Step 7's user-approved option A.

## Outcome

Step 11 **passes**. Auto-chain to Step 12 (Test-Spec Sync).

## Open Items

Unchanged from Step 7:
- F-CUM-5 production-drift backlog — Phase B / Step 9 work continues into cycle 2.
- F-CUM-4 long-running-soak Playwright config tag — recommended fold-in to merge-lane config.
