Platform Evolution
Assessment run-2026-07-27-1 · 213 of 213 repos assessed
Repos / tc-phenix-cancellation

tc-phenix-cancellation

Tiny shared NuGet library (TC.Phenix.Cancellation) defining cancellation-charge interfaces and a static CancellationChargeManager that selects the applicable supplier/sales cancellation charge for a booking date.

68 · amberlowlooseNo signalZDD: not applicablelibrary

Health score

68

0 to 100 across seven weighted factors; nothing is hidden. Green is 75 and above, amber 50 to 74, red below 50. How scoring works.


Runtime currency / 25
0
.NET Framework, out of mainstream support
Legacy transport / 15
15
No legacy WCF or SOAP surface
Test posture / 15
8
Some tests, coverage is thin
Security hygiene / 15
15
No credentials found in source
Dangerous coupling / 15
15
No dangerous coupling detected
Activity / 10
10
Actively maintained
Deployment hygiene / 5
5
CI in place
Health over time
2026-07-24 (run-2026-07-24-1): 682026-07-27 (run-2026-07-27-1): 68
No change since 2026-07-24 (68 to 68).

Facts

Languagescsharp
Frameworks-
Runtimes.NET Framework 4.6.2, .NET 8, .NET 10
Tests / CIsome / CI in place
Last commit2026-07-22
OwnerOwner unknown (mapping to be curated)
DomainBookings and fulfilment (system generated; curate in repo-owners.json to override)
Product areaPhenix
HostedNo signal No hosting signal in its pipelines (typical for libraries and contract packages)
Releases1 release pipeline(s): TC.Phenix.Cancellation Release
Integration-
SourceOpen in Azure DevOps

Risk flags

Each flag links to its glossary definition.

Dependencies in context

Laying out the graph…
greenamberreddata store (square, dashed link)Node size follows fan-in. Click any node to open it.

Entanglement

loose No binding mechanisms apply: this system needs no untangling work.

    Depends on / used by

    Depends on (0)
    Nothing internal.

    Migration playbooks

    Generated from this repo's assessment data: what is feasible, what blocks it, and the steps in order. Ratings: green means actionable now, amber means sequence other work first, red means blocked, grey means not applicable.

    ZDD adoption

    Not applicable

    Not a deployed service (libraries, database definitions, desktop apps) or a retirement candidate not worth the investment. Ships as a package; ZDD applies to the services that consume it.

    SQL Server exit

    Not applicable

    No SQL Server dependency is recorded for this repo. Nothing to migrate.

    Containerisation

    Not applicable

    Libraries ship as packages, not as running services. There is nothing to containerise.

    Recommended actions

    Replatform tc-phenix-cancellation to modern .NET

    Runs on .NET Framework 4.6.2, .NET 8, .NET 10, out of mainstream support. No pinning dependency blocks it; sequence by fan-in (providers before consumers).

    Impact: Unblocks 1 dependent system(s)

    proposed

    Assessment notes

    tc-phenix-cancellation

    Purpose

    Five source files publishing the TC.Phenix.Cancellation package: ISalesCancellationCharge/ISupplierCancellationCharge/ISalesCancellationPolicy interfaces, a ChargeType enum, and a static CancellationChargeManager that picks the applicable cancellation charge from date-range or days-before-arrival rules (including a 2017-era fix for open-ended DateTo charges). Consumed by Phenix booking/product services that need consistent cancellation-charge calculation.

    Tech stack

    Modern SDK-style repo (.slnx solution, central package management, Directory.Build.props, StyleCop/Sonar/SecurityCodeScan analysers, Nerdbank GitVersioning). The library multi-targets net462, net8.0 and net10.0; tests target net10.0 with MSTest 4, Moq and AwesomeAssertions.

    Deployment

    Included as prod_application with 1 release: release pipeline TC.Phenix.Cancellation Release from build TC.Phenix.Cancellation (a second [DEPRECATED] TC.Phenix.Cancellation build definition still exists). YAML CI via the shared InternalOSS/azure-pipelines-templates (SDK 10.x) packs the package to the internal feed.

    Dependencies

    One internal package: TC.Phenix.Markup (sellable product/markup abstractions; no matching source repo in the included list, so treated as an unmapped internal package). No third-party dependencies and no external services.

    Data stores

    None — pure in-process calculation over caller-supplied charge collections.

    Integration points

    None; it is a pure library with no network, messaging or storage integrations.

    Code health

    One MSTest project with 16 tests exercising CancellationChargeManager — reasonable coverage for the small surface. Actively maintained (last commit 2026-07-22) and recently modernised to .NET 10 tooling with a full analyser suite. README is untouched boilerplate.

    Modernisation risks

    Low — already multi-targeted to modern runtimes with the net462 target retained only for legacy Phenix consumers. Residual items: the business rules encode long-standing data quirks (null DateTo handling) that should be documented, the README says nothing, and the deprecated classic build definition should be deleted to avoid confusion.