Reconcile the GitHub fork back into canonical #5499
ccantynzAI Reviewcommented 16d ago
AI Triage
(no summary)
Priority: medium Risk area: mixed
Suggested labels: (no label suggestions) Suggested reviewers: (no reviewer suggestions)
Suggestions only — nothing has been applied. The PR author stays in control.
gluecron[bot]🤖 botAI Reviewcommented 16d ago
AI review unavailable
The platform's AI balance is exhausted, so AI generation is temporarily unavailable. Nothing was lost. You can queue this as a repair for the internal agent from the repository's Health page, or try again once the balance is restored. The PR is otherwise unchanged.
Cross-repo impact
See what breaks downstream if this PR merges.
⮌ Merged
This pull request was merged into main.
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts
Why
GitHub and gluecron.com were two forked repos, not a mirror. Nothing synced in either direction:
54f7d23(2026-08-12)b363f7b(2026-08-09)GitHub's 15 were the 2026-07-25 nav/wiring sweep (13 commits, 8 test files, ~1,500 lines) plus the external heartbeat workflow — which exists nowhere else. Archiving GitHub as-is would have silently deleted the only outside-the-box monitor.
This merges GitHub in so it becomes an ancestor, which recovers the stranded work and makes the eventual canonical → GitHub push a fast-forward rather than a force. That's the precondition for the cutover runbook's Phase 4.
How conflicts were resolved
Per hunk, on merit — 26 hunks across 15 files. Canonical had independently re-solved much of the July sweep in better form, so HEAD won there:
SettingsSubnavwas deleted on canonical for the groupedSettingsNav. Every incoming import of it was a dead reference that would not have built.admin.tsxderives its grid fromADMIN_NAV, not the literal list July patched.RepoNav's flat tab strip became grouped dropdowns;settings.tsxusesPageHeader.Where July was still the better answer, it won:
/briefnow queries real PRs, deploys, activity and savings instead of rendering demo defaults over a signed-in session.RepoHeader+RepoNav— it had been rendering with no nav at all. Merged rather than adopted wholesale: thechromeprop selects repo chrome or canonical's settings shell.routes/repo-health.tsxdeleted — 614 lines never mounted inapp.tsx. (lib/repo-health.ts, which is used, is a different file.)Four bugs that were still live on canonical
advisories.tsxhighlightedactive="code"instead of Securitycode-scanning.tsxhighlightedactive="gates"instead of Securityautomation-settings.tsxrendered noRepoNav/settings/email-verificationhad no settings nav and no inbound linkPackages, Codebase migrator, Docs tracking and AI changelog were reachable routes missing from the nav; they're now in it. The AI CTA strip that carried three of them is dropped — a workaround for a then-locked
RepoNav, duplicating the AI menu, styled in a purple the Natural Light palette forbids.Two defects found while merging
Neither was in either branch's diff:
orgs.tsxadd-member race — an existenceSELECTpaired with an unguardedINSERT. Concurrent adds both passed the check and both inserted. NowonConflictDoNothingagainstorg_members_unique, reading the outcome off the insert.settings-subnav-wiring.test.tsreturned a live session/user from its process-global db mock with no reset, so a later file saw an authed200for a user that doesn't exist. Gated behind a flagafterAllclears.Also removed
health-score.tsx's/:owner/:repo/insightsredirect:insights.tsxserves that path with a real hub and mounts first, so the redirect was shadowed and never ran.Verification
tsc --noEmitclean.Tests asserting relocated markup were repointed at where the behaviour now lives, not deleted.