Sachverhalt:
A.
Der 1968 geborene A._ bezog ab dem 1. März 2003 eine ganze Rente der Invalidenversicherung. Als Ergebnis eines im September 2013 eingeleiteten Revisionsverfahrens hob die IV-Stelle des Kantons Zürich (nachfolgend: IV-Stelle) mit Verfügung vom 18. Oktober 2017 die Rente auf den ersten Tag des zweiten der Zustellung der Verfügung folgenden Monats gestützt auf die Schlussbestimmungen der Änderung des IVG vom 18. März 2011 (6. IV-Revision, erstes Massnahmepaket; nachfolgend SchlBest. IVG) auf.
B.
Die dagegen erhobene Beschwerde wies das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 13. Mai 2019 ab.
C.
A._ führt Beschwerde in öffentlich-rechtlichen Angelegenheiten und beantragt die Weiterausrichtung der ganzen Rente; eventualiter sei die Sache an die Vorinstanz zurückzuweisen mit der Anweisung, ein gerichtliches Gutachten über seinen Gesundheitszustand und seine Arbeitsfähigkeit einzuholen. Zudem ersucht er um unentgeltliche Rechtspflege.

Erwägungen:
1.
Streitgegenstand bildet die vorinstanzlich bestätigte Aufhebung der dem Beschwerdeführer ab dem 1. März 2003 zugesprochenen ganzen Rente.
2.
2.1. Die IV-Stelle verfügte die Rentenaufhebung gestützt auf lit. a Abs. 1 der SchlBest. Nach dieser Bestimmung werden Renten, die bei pathogenetisch-ätiologisch unklaren syndromalen Beschwerdebildern ohne nachweisbare organische Grundlage gesprochen wurden, innerhalb von drei Jahren nach Inkrafttreten dieser Änderung überprüft (Satz 1). Sind die Voraussetzungen nach Art. 7 ATSG nicht erfüllt, so wird die Rente herabgesetzt oder aufgehoben, auch wenn die Voraussetzungen von Art. 17 Abs. 1 ATSG nicht erfüllt sind (Satz 2).
2.2. Das kantonale Gericht hat ausdrücklich offengelassen, ob im vorliegenden Fall lit. a Abs. 1 SchlBest. anwendbar ist (vgl. dazu <ref-ruling>). Stattdessen hat es geprüft, ob die Rente gestützt auf Art. 17 Abs. 1 ATSG (i.V.m. Art. 1 Abs. 1 IVG und Art. 2 ATSG) aufzuheben ist. Nach dieser Bestimmung wird die Rente bei einer erheblichen Änderung des Invaliditätsgrades (Art. 28 Abs. 2 IVG) entsprechend erhöht, herabgesetzt oder aufgehoben. Das Gericht hat eine solche Änderung bejaht und die angefochtene Verfügung im Ergebnis mit einer anderen Begründung geschützt.
3.
Das kantonale Gericht durfte im Rahmen der Rechtsanwendung von Amtes wegen (Art. 62 Abs. 1 ATSG in Verbindung mit Art. 110 BGG) die Rechtmässigkeit der Aufhebung der ganzen Rente im Lichte von Art. 17 Abs. 1 ATSG überprüfen (Urteil 9C_800/2016 vom 9. Mai 2017 E. 2.2). Weil dieser Rückkommenstitel indessen weder im Vorbescheid und in der Verfügung noch in den vorinstanzlichen Rechtsschriften thematisiert worden war, hätte die Vorinstanz nach Art. 29 Abs. 2 BV den Parteien vorgängig das rechtliche Gehör gewähren müssen (Urteil 9C_803/2017 vom 12. April 2018 E. 3 mit Hinweisen). Das hat es nicht getan. Der angefochtene Entscheid ist daher aufzuheben und die Sache an das kantonale Gericht zurückzuweisen, damit dieses das Versäumte nachhole und danach neu entscheide (Urteile 9C_766/2016 vom 3. April 2017 E. 3.3 und 9C_361/2015 vom 17. Juli 2015 E. 5.2).
Da die vom Beschwerdeführer geltend gemachte Rüge einer Verletzung des Anspruchs auf rechtliches Gehör formeller Natur ist, führt das zur Aufhebung des angefochtenen Entscheids und zur Rückweisung der Sache an die Vorinstanz, ohne dass die vom Beschwerdeführer geltend gemachten materiell-rechtlichen Einwände zu prüfen wären. Auf einen Schriftenwechsel wird mit Blick auf die Gutheissung der Beschwerde aus formellen Gründen verzichtet (Art. 102 Abs. 1 BGG; Urteile 9C_255/2019 vom 16. Juli 2019 E. 5 und 9C_279/2019 vom 1. Juli 2019 E. 2.2 in fine).
4.
Ausgangsgemäss hat die Beschwerdegegnerin die Gerichtskosten zu tragen (Art. 66 Abs. 1 BGG) und der Beschwerdeführerin eine Parteientschädigung zu bezahlen (Art. 68 Abs. 2 BGG).

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird teilweise gutgeheissen und der Entscheid des Sozialversicherungsgerichts des Kantons Zürich vom 13. Mai 2019 aufgehoben. Die Sache wird zu neuer Entscheidung im Sinne der Erwägungen an die Vorinstanz zurückgewiesen.
2.
Die Gerichtskosten von Fr. 800.- werden der Beschwerdegegnerin auferlegt.
3.
Die Beschwerdegegnerin hat die Rechtsvertreterin des Beschwerdeführers für das bundesgerichtliche Verfahren mit Fr. 2800.- zu entschädigen.
4.
Dieses Urteil wird den Parteien, dem Sozialversicherungsgericht des Kantons Zürich und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 22. August 2019
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Pfiffner
Der Gerichtsschreiber: Williner