Stability checkpoint — bump common SHA + e2e SERVICE_REPO post-rebrand fix

- chore(submodule): bump iris-common SHA to ecb8e29
- fix(ci): update SERVICE_REPO URL post Iris rebrand (e2e:kind was cloning 404 iris-service.git, renamed to iris-service-java.git on 2026-04-28)
- (transitively via the common SHA bump : ADRs 0066-0071 available + new bin/ship/github-mirror-sync.sh + auto-merge force-fetch fix)

CI :
- Main pipeline #583 green — https://gitlab.com/iris-7/iris-ui/-/pipelines/2524665948
- Pre-merge MR pipeline !204 (bump common SHA) — merged without MR pipeline (workflow:rules submodule allowlist superset per ADR-0070 design)
- Pre-merge MR pipeline !205 (SERVICE_REPO URL fix) — merged without MR pipeline (.gitlab-ci/** path on a CI-config-only change)
- Post-merge dev pipeline #582 + main pipeline #583 green

Local test pass :
- npm run build production — N/A : full Angular production build validated by CI pipeline #583 build:production stage
- npm test — N/A : Vitest unit suite (53 spec files, 367 tests) validated by CI unit-tests + unit-tests:node20 stages
- npx playwright test — N/A in this rev : e2e:kind still has the historical allow_failure shield while the SERVICE_REPO URL fix gets validated through ADR-0033 s 5/5 green main runs criterion. The URL fix (!205) unblocks the e2e:kind clone step ; next 5 main runs will exercise the actual Playwright E2E against the backend.
- Manual mobile-viewport check (375 px + 390 px + 1280 px) — N/A in this rev (no UI code changes)

Regression check vs previous tag :
- stable-v1.2.5 known limitations — still bounded, no new regressions
- Angular 21 zoneless + signals + standalone components + mobile-responsive — all unchanged

- Frontend client of polyrepo MCP servers (iris-java + iris-python in-process tools) — unchanged
- AI-driven enrichment displayed in customer detail views — unchanged
- No in-process LLM in the UI itself (ADR-0062) — intentional, unchanged

- JWT bearer-token client + Auth0 OIDC bridge + refresh-token rotation + CORS-aware HTTP interceptor + signal-based AuthService — unchanged
- CSP-compatible build (no inline scripts, no eval) — unchanged
- GitHub CodeQL + OpenSSF Scorecard — unchanged
- audit-trail screen surfacing backend audit_event logs — unchanged
- No new CVEs (common SHA bump = scripts + ADRs, no JS runtime dep changes)

- 9 Order/Product e-commerce screens + Customer onboarding flow — unchanged
- All routes intact, no breaking changes

- Static SPA build (Angular 21 production bundle, 3.1 MB total + per-route lazy chunks 250 B to 30 KB) — unchanged
- nginx-served container + GKE deploy unchanged
- GitHub Pages mirror (release artefacts) unchanged

- OpenTelemetry Web SDK + Pyroscope-compatible profiling + ActivityService + ErrorTimeline widget + MetricsService + ToastService — all unchanged

- Vitest unit tests (53 spec files, 367 tests pass, zoneless) — CI green
- Production build with zero warnings — CI green
- SonarCloud quality gate green
- ESLint flat config green
- Bundle budget limits (Initial JS 800 KB warn / 1 MB error) — green
- Playwright E2E with the new SERVICE_REPO URL : 5/5-green ADR-0033 progression unblocked. e2e:kind is still allow_failure: true (historical shield) ; URL fix means the job can actually exercise the Playwright suite against a real backend now.

- GitLab CI multi-stage (lint, test, e2e, package, sonar, deploy) — all green
- GitHub Actions parallel CI on main pushes (ADR-0069 double-CI) intact
- Conventional Commits enforced (Lefthook + commitlint)
- auto-merge dev to main with --remove-source-branch=false intact
- e2e:kind SERVICE_REPO URL fixed (was a silent allow_failure consumer since 2026-04-28 Iris rebrand)

- Angular 21 zoneless change detection + signal-based reactive state + control-flow blocks + standalone components — unchanged
- AppShellComponent layout + 1 widget = 1 file pattern — unchanged
- feature-slicing under features/{commerce, customer, core-ux, infra-ops, obs} — unchanged
- ADR-0071 (in iris-common) — pipeline variable override role policy now active on this project (owner role required)

- Angular 21 zoneless + signals (no Zone.js) — unchanged
- @if / @for / @switch control-flow blocks (no *ngIf / *ngFor legacy) — unchanged
- Mobile-responsive (375 px + 390 px + 1280 px viewports) — unchanged
- Raw SVG charts + viewBox + preserveAspectRatio (no charting lib) — unchanged

- Lefthook + Vitest watch + Compodoc + Renovate — unchanged
- infra/common/bin/ship/github-mirror-sync.sh now available via the common SHA bump
- Auto-merge template force-fetch fix (plus prefix on git fetch line)

- e2e:kind still allow_failure: true (ADR-0033 historical shield, 5/5-green criterion). The SERVICE_REPO URL fix in this rev unblocks the actual Playwright run ; observe 5 consecutive main pipelines for the green-flip decision.
- Mobile responsive checks not exercised this rev (no UI code touched)

- e2e:kind 5/5 green main runs reached — flip allow_failure to false (full shield removal per ADR-0033)
- New UI feature lands (new screen, new mobile breakpoint, etc.)
- Lighthouse / a11y deep audit on a load-bearing route