b809513a3acdf9d24d2f3b70cec639b7a33acb20
braney
  Thu Sep 10 11:14:30 2026 -0700
hgConfCatalog: drop the gcOnTheFlyCoExist row, its code is gone, refs #38208

Hiram removed the C code that read gcOnTheFlyCoExist, but the catalog row
survived it and still cited hg/hgTracks/hgTracks.c.  Since gate_lifecycle()
walks the catalog rather than the tree, the flag aged past the QA grace
window and the v503 sunset report flagged it as "stalled in QA -- either
turn these on or delete the feature", for a feature that had already been
deleted.  --reconcile did see the row had no reader left, but files that
under question 1, which prints only with --verbose.

Removing the row drops it from the sunset report and from the reconcile
drift list, so it never reaches hgConfGateBacklog.txt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

diff --git src/hg/utils/hgConfCatalog/hgConfCatalog.py src/hg/utils/hgConfCatalog/hgConfCatalog.py
index b33cb1a9f21..47f7e8f351d 100755
--- src/hg/utils/hgConfCatalog/hgConfCatalog.py
+++ src/hg/utils/hgConfCatalog/hgConfCatalog.py
@@ -345,35 +345,30 @@
           role="gate", verified=True,
           note="An IGV link in the track hamburger menus."),
         h("showLiftRequest", "flag", "hg/hgConvert/hgConvert.c",
           default="FALSE", role="gate", verified=True, ticket="37973",
           note="A link from the Convert page to liftRequest.html, the page "
                "that requests a new whole-genome alignment.  The assembly "
                "list only offers targets that already have a chain from the "
                "source, so the Convert page is where a user finds out theirs "
                "is missing, but nothing in the tree linked to the request "
                "page.  Off until the request pipeline is confirmed ready to "
                "take traffic from the browser UI."),
         h("groupDropdown", "flag", "hg/hgTracks/hgTracks.c",
           default="FALSE", role="gate", verified=True,
           note="Track group chooser as a dropdown rather than the current "
                "layout."),
-        h("gcOnTheFlyCoExist", "flag", "hg/hgTracks/hgTracks.c",
-          default="FALSE", role="gate", verified=True,
-          note="Let the calculated GC track coexist with the stored one.  A "
-               "sub-flag of gcOnTheFly, so it should be deleted with it "
-               "rather than outliving it."),
         h("showAliases", "flag", "hg/hgTracks/hgTracks.c", default="FALSE",
           role="gate", verified=True,
           note="Show chromosome alias names in the position box."),
         h("showColorPicker", "flag", "hg/lib/hui.c", default="TRUE",
           role="gate", verified=True,
           note="The track colour picker in track UI.  On by default; the "
                "flag stays so a mirror can switch it back off."),
         h("doMyVariants", "flag", "hg/hgCustom/hgCustom.c",
           default="FALSE", role="gate", verified=True,
           note="The My Variants track and its upload path.  Thirteen call "
                "sites across seven files, the widest gate in the tree, which "
                "is a fair measure of what deleting a stale one costs."),
         h("hguidIpTracking.enabled", "flag", "hg/lib/botDelay.c",
           default="FALSE", role="gate", verified=True,
           note="Per-hguid IP tracking for abuse detection.  Its three "