Assessment run-2026-07-27-1 ยท 213 of 213 repos assessed
Recommendations
Opinionated actions generated from the assessment data, sequenced by the whitepaper's stages: rotate, shrink, cut the binding points, exit WCF and .NET Framework, own the shared databases, and raise the test floor where fan-in is high. Track each action from proposed to done; the dashboard reads progress from here.
Legacy WCF mail path; 21 dependents still route through it. Part of the Mail sending consolidation: Complete the notifications migration so phenix-notifications-api delivers without the WCF pair, then retire mail-service and mailtemplate-service. This is one of the stage 2 binding-point cuts.
Impact: A migration never paid for, a pipeline decommissioned and an attack surface removed
Legacy WCF templating pair of mail-service; 18 dependents. Part of the Mail sending consolidation: Complete the notifications migration so phenix-notifications-api delivers without the WCF pair, then retire mail-service and mailtemplate-service. This is one of the stage 2 binding-point cuts.
Impact: A migration never paid for, a pipeline decommissioned and an attack surface removed
Consolidate phenix-contact-centre-api into the surviving contact centre path
Second generation, dormant since 2024. Converge on the generation 2 pair, give the ContactCentre database a named owner (stage 4), and retire the earlier generations as their remaining traffic moves.
First generation, WCF. Part of the Contact centre consolidation: Converge on the generation 2 pair, give the ContactCentre database a named owner (stage 4), and retire the earlier generations as their remaining traffic moves.
Impact: A migration never paid for, a pipeline decommissioned and an attack surface removed
First generation web. Part of the Contact centre consolidation: Converge on the generation 2 pair, give the ContactCentre database a named owner (stage 4), and retire the earlier generations as their remaining traffic moves.
Impact: A migration never paid for, a pipeline decommissioned and an attack surface removed
WCF-only on .NET Framework 4.7.2, no tests, 25 dependents; replace with a modern feature flag service. Part of the Feature flags consolidation: Introduce one modern feature flag service, migrate the 25 consumers of phenix-feature-service to it, retire tc-features, and remove the hardcoded toggle maps as their hosts are modernised.
Impact: A migration never paid for, a pipeline decommissioned and an attack surface removed
Dormant since 2021 with plaintext credentials. Part of the Location lookup consolidation: Confirm remaining consumers of phenix-locationservice-api, move them to phenix-place-repository, retire the legacy service and rotate its exposed credentials.
Impact: A migration never paid for, a pipeline decommissioned and an attack surface removed
Angular app duplicated inside the phenix-ui monorepo; dormant since 2023. Part of the Virtual credit cards consolidation: Route all eNett calls through vccprovider-enett, retire the duplicated phenix-vcc app, and route the providers' direct database writes through an API owned by vcc-service (stage 4).
Impact: A pipeline decommissioned and an attack surface removed
Dormant since 2019. Part of the Feature flags consolidation: Introduce one modern feature flag service, migrate the 25 consumers of phenix-feature-service to it, retire tc-features, and remove the hardcoded toggle maps as their hosts are modernised.
Impact: A migration never paid for, a pipeline decommissioned and an attack surface removed
Consolidate webapi-exceptions into the surviving exceptions packaging path
Publishes overlapping TC.Exceptions.* packages. Consolidate publishing into tc-exceptions, and put real tests around it before further change: it is a stage 2 chokepoint with 71 dependents and one placeholder test.