Market record taxonomy aligned with the agency structure

- new vitec:align-market-records: the visible /markets page tree is the
  target (it implements the agreed agency taxonomy). RENAME_MAP carries
  16 records - story relations included - onto the new names, exact
  matches get their detail_page wired, 10 records are created (CNI,
  Government, Public Safety and seven sub-markets). Records the agency
  dropped are never touched: they are reported with their attached
  stories as the editorial decision list - which turned out empty, all
  nine carried zero stories
- INDUSTRY_TO_MARKET of the story importer moved to the new names. The
  old combined defense market split cleanly: the Government industry now
  maps to its own market, Military stays on Defense and Security, so the
  --markets-only re-run redistributed those stories by their original
  industry. Healthcare deliberately lost its target (market dropped) and
  surfaces as unresolved from now on
- re-run applied: 48/48 stories relinked, badges verified live (no old
  names left), Solr reindex queued - the market facet now speaks the new
  taxonomy

Open: Overlake Medical Center still points at the dropped Healthcare
record (title-match fallback), the nine orphaned old records await
deletion, Public Safety has no stories yet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
orascheandClaude Fable 5 committed 2026-10-26 10:40:42 +01:00
1 parent a9a25e4b1e
commit 8adbe8cc90
2 files changed
+296 -10

No files matched your search

@@ -65,16 +65,22 @@ final class ImportSuccessStoriesCommand extends Command
* as unresolved instead. Titles verified against the live records.
*/
private const INDUSTRY_TO_MARKET = [
'Sports' => 'Sports, Venues & Entertainment',
'Venues' => 'Sports, Venues & Entertainment',
'Government' => 'Defense, Government & Public Sector',
'Military' => 'Defense, Government & Public Sector',
'Corporate' => 'Corporate & Enterprise',
'Broadcast' => 'Media, Broadcast & Telecom',
'Education' => 'Healthcare & Education',
'Healthcare' => 'Healthcare & Education',
'Hospitality & Leisure' => 'Retail, Hospitality & Leisure',
'Accommodation' => 'Retail, Hospitality & Leisure',
// Targets follow the agency taxonomy since vitec:align-market-records
// (2026-10-26). The old combined market split: the Government industry
// now has its own market, Military stays on Defense and Security - a
// --markets-only re-run therefore redistributes those stories by their
// original industry.
'Sports' => 'Sports & Entertainment',
'Venues' => 'Sports & Entertainment',
'Government' => 'Government',
'Military' => 'Defense and Security',
'Corporate' => 'Corporation',
'Broadcast' => 'Broadcast and Telecoms',
'Education' => 'Education',
// 'Healthcare' was dropped by the agency (2026-10-23): no target -
// such stories surface as unresolved for an editorial decision.
'Hospitality & Leisure' => 'Hospitality',
'Accommodation' => 'Hospitality',
];
/** CTypes that never become content elements. */