PROBE SWEEP 2 — the .felhom.yml controller probe vs the compose's OWN healthcheck
catalog f5f6a152b513, 2026-09-21. Purely static: both live in the SAME template, so where
both exist and disagree on PORT or PATH, one of them is wrong — no runtime needed.

actualbudget         felhom(port=['5006'],path=[])  compose(port=['5006'],path=['/'])  -> agree
adventurelog         felhom(port=['8000'],path=['/api/'])  compose(port=['3000', '8000'],path=['/api/\\'])  -> DISAGREE:PATH
audiobookshelf       felhom(port=['80'],path=['/healthcheck'])  compose(port=['80'],path=['/healthcheck'])  -> agree
bentopdf             felhom(port=['8080'],path=[])  compose(port=['8080'],path=[])  -> agree
bookstack            felhom(port=['80'],path=[])  compose(port=['80'],path=[])  -> agree
calcom               felhom(port=['3000'],path=['/api/auth/providers'])  compose(port=['3000'],path=['/api/auth/providers'])  -> agree
calibre-web          felhom(port=['8083'],path=[])  compose(port=['8083'],path=[])  -> agree
claper               felhom(port=['4000'],path=[])  compose(port=['4000'],path=[])  -> agree
code-server          felhom(port=['8443'],path=['/healthz'])  compose(port=['8443'],path=['/healthz'])  -> agree
crafty-controller    felhom(port=['8443'],path=[])  compose(port=None,path=None)  -> compose has no http healthcheck
docmost              felhom(port=['3000'],path=[])  compose(port=['3000'],path=['/'])  -> agree
emby                 felhom(port=['8096'],path=['/emby/system/ping'])  compose(port=['8096'],path=['/emby/system/ping'])  -> agree
ghost                felhom(port=['2368'],path=[])  compose(port=['2368'],path=['/'])  -> agree
gitea                felhom(port=['3000'],path=['/api/healthz'])  compose(port=['3000'],path=['/api/healthz'])  -> agree
glance               felhom(port=['8080'],path=[])  compose(port=['8080'],path=[])  -> agree
gokapi               felhom(port=['53842'],path=[])  compose(port=['53842'],path=[])  -> agree
grafana              felhom(port=['3000'],path=['/api/health'])  compose(port=['3000'],path=['/api/health'])  -> agree
gramps-web           felhom(port=['5000'],path=[])  compose(port=['5000'],path=[])  -> agree
home-assistant       felhom(port=['8123'],path=['/api/'])  compose(port=['8123'],path=['/manifest.json'])  -> DISAGREE:PATH
homebox              felhom(port=['7745'],path=['/api/v1/status'])  compose(port=['7745'],path=['/api/v1/status'])  -> agree
homepage             felhom(port=['3000'],path=[])  compose(port=['3000'],path=[])  -> agree
immich               felhom(port=['2283'],path=['/api/server/ping'])  compose(port=['2283', '3003'],path=['/api/server/ping', '/ping'])  -> agree
jellyfin             felhom(port=['8096'],path=['/health'])  compose(port=['8096'],path=['/health'])  -> agree
kimai                felhom(port=['8001'],path=[])  compose(port=['8001'],path=[])  -> agree
komga                felhom(port=['25600'],path=['/actuator/health'])  compose(port=['25600'],path=['/actuator/health'])  -> agree
mealie               felhom(port=['9000'],path=[])  compose(port=None,path=None)  -> compose has no http healthcheck
n8n                  felhom(port=['5678'],path=['/healthz'])  compose(port=['5678'],path=['/healthz'])  -> agree
navidrome            felhom(port=['4533'],path=['/ping'])  compose(port=['4533'],path=['/ping'])  -> agree
nextcloud            felhom(port=['80'],path=['/status.php'])  compose(port=['80'],path=['/status.php'])  -> agree
onlyoffice           felhom(port=['80'],path=['/healthcheck'])  compose(port=['80'],path=['/healthcheck'])  -> agree
opengist             felhom(port=['6157'],path=['/healthcheck'])  compose(port=['6157'],path=['/healthcheck'])  -> agree
outline              felhom(port=['3000'],path=['/_health'])  compose(port=['3000'],path=['/_health'])  -> agree
paperless-ngx        felhom(port=['8000'],path=[])  compose(port=['8000'],path=[])  -> agree
papra                felhom(port=['1221'],path=[])  compose(port=['1221'],path=[])  -> agree
plant-it             felhom(port=['8080'],path=['/api/info'])  compose(port=['8080'],path=['/api/info'])  -> agree
plex                 felhom(port=['32400'],path=['/identity'])  compose(port=['32400'],path=['/identity'])  -> agree
privatebin           felhom(port=['8080'],path=[])  compose(port=['8080'],path=[])  -> agree
radarr               felhom(port=['7878'],path=['/ping'])  compose(port=['7878'],path=['/ping'])  -> agree
rallly               felhom(port=['3000'],path=[])  compose(port=['3000'],path=[])  -> agree
recipe-importer      felhom(port=['8000'],path=['/health'])  compose(port=['8000'],path=['/health'])  -> agree
romm                 felhom(port=['8080'],path=[])  compose(port=['8080'],path=['/'])  -> agree
seerr                felhom(port=['5055'],path=['/api/v1/status'])  compose(port=['5055'],path=['/api/v1/status'])  -> agree
sonarr               felhom(port=['8989'],path=['/ping'])  compose(port=['8989'],path=['/ping'])  -> agree
sparkyfitness        felhom(port=['80'],path=[])  compose(port=['3010', '80'],path=['/', '/api/health'])  -> agree
tandoor              felhom(port=['8080'],path=['/accounts/login/'])  compose(port=['80'],path=['/accounts/login/'])  -> DISAGREE:PORT
termix               felhom(port=['8080'],path=[])  compose(port=['8080'],path=[])  -> agree
uptime-kuma          felhom(port=['3001'],path=[])  compose(port=None,path=None)  -> compose has no http healthcheck
vaultwarden          felhom(port=['80'],path=['/alive'])  compose(port=['80'],path=['/alive'])  -> agree
vikunja              felhom(port=['3456'],path=['/api/v1/info'])  compose(port=None,path=None)  -> compose has no http healthcheck
wanderer             felhom(port=['3000'],path=[])  compose(port=['3000', '7700', '8090'],path=['/', '/health'])  -> agree
wger                 felhom(port=['80'],path=[])  compose(port=['8000'],path=[])  -> DISAGREE:PORT
wishlist             felhom(port=['3000'],path=[])  compose(port=['3000'],path=[])  -> agree
zipline              felhom(port=['3000'],path=['/api/health'])  compose(port=['3000'],path=['/api/healthcheck'])  -> DISAGREE:PATH

DISAGREEMENTS: 5
   adventurelog DISAGREE:PATH felhom=['8000'],['/api/']  compose=['3000', '8000'],['/api/\\']
   home-assistant DISAGREE:PATH felhom=['8123'],['/api/']  compose=['8123'],['/manifest.json']
   tandoor DISAGREE:PORT felhom=['8080'],['/accounts/login/']  compose=['80'],['/accounts/login/']
   wger DISAGREE:PORT felhom=['80'],[]  compose=['8000'],[]
   zipline DISAGREE:PATH felhom=['3000'],['/api/health']  compose=['3000'],['/api/healthcheck']
