Sachverhalt:
A.
Die 1968 geborene A._ meldete sich Ende Juli 2014 erneut bei der Invalidenversicherung zum Leistungsbezug an. Zuvor hatte ihr die IV-Stelle des Kantons Thurgau vom 1. Juli 2011 bis 31. Juli 2012 eine ganze Invalidenrente zugesprochen (Verfügung vom 2. Mai 2013). Die Verwaltung veranlasste bei der Academy of Swiss Insurance Medicine (nachfolgend: asim), Universitätsspital Basel, ein polydisziplinäres Gutachten vom 20. Februar 2017. A._ machte im Vorbescheidverfahren eine Verschlechterung ihres psychischen Gesundheitszustandes geltend. In der Folge holte die IV-Stelle bei der asim-Gutachterin Dr. med. B._ ein psychiatrisches Verlaufsgutachten ein, das vom 17. August 2018 datiert. Mit Verfügung vom 23. Januar 2019 sprach sie A._ vom 1. Juli 2015 bis 31. Januar 2016 sowie vom 1. Juli 2017 bis 31. Januar 2018 eine ganze Invalidenrente zu.
B.
Das Verwaltungsgericht des Kantons Thurgau ersuchte A._ auf deren Beschwerde hin, Bestätigungen der behandelnden Psychiater Dr. med. C._ und med. pract. D._ über die vom 1. Januar 2014 bis 23. Januar 2019 erfolgten psychotherapeutischen Sitzungen beizubringen. Nachdem A._ zwei Stellungnahmen vom 21. und 23. Juni 2019 eingereicht und die IV-Stelle Gelegenheit erhalten hatte, sich dazu zu äussern, wies das kantonale Gericht die Beschwerde mit Entscheid vom 21. August 2019 ab.
C.
A._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit den Rechtsbegehren, in Aufhebung des angefochtenen Entscheides und der Verfügung vom 23. Januar 2019 sei ihr ab 31. Januar 2018 mindestens eine Viertelsrente zuzusprechen. Eventualiter sei die Angelegenheit zur Durchführung weiterer Abklärungen und Gewährung des rechtlichen Gehörs an die Vorinstanz zurückzuweisen.
Die IV-Stelle des Kantons Thurgau schliesst auf Abweisung der Beschwerde. Das Bundesamt für Sozialversicherungen verzichtet auf eine Vernehmlassung.

Erwägungen:
1.
Das Bundesgericht wendet das Recht von Amtes wegen an (<ref-law>). Es ist folglich weder an die in der Beschwerde geltend gemachten Argumente noch an die Erwägungen der Vorinstanz gebunden; es kann eine Beschwerde aus einem anderen als dem angerufenen Grund gutheissen und es kann sie mit einer von der Argumentation der Vorinstanz abweichenden Begründung abweisen (<ref-ruling> E. 1.2 S. 252 mit Hinweisen).
2.
Wenn die Beschwerdeführerin vorab eine Verletzung des Anspruchs auf rechtliches Gehör (<ref-law>) und des Grundsatzes des doppelten Instanzenzugs geltend macht, weil die Vorinstanz keine ergänzende Stellungnahme zum Verlaufsgutachten vom 17. August 2018 eingeholt und sich die Beschwerdeführerin dazu wie auch zum Abweichen von der ärztlich festgestellten Restarbeitsfähigkeit nicht habe äussern können, dringt sie nicht durch.
Die Rechtsanwender prüfen die medizinischen Angaben frei insbesondere daraufhin, ob sich die Ärzte an die massgebenden normativen Rahmenbedingungen nach <ref-ruling> gehalten haben (<ref-ruling> E. 6 S. 427). Daher ist es - wie dies die Vorinstanz mit Blick auf die Expertise der Dr. med. B._ vom 17. August 2018 getan hat (vgl. E. 3.2) - im Grundsatz zulässig, aus rechtlicher Sicht von einer medizinischen Einschätzung der Arbeitsunfähigkeit abzuweichen, ohne dass diese ihren Beweiswert verliert (statt vieler: <ref-ruling> E. 4.3 S. 53 f.; Urteil 8C_604/2017 vom 15. März 2018 E. 3.2 mit Hinweisen). Entgegen der Ansicht der Beschwerdeführerin liegt darin keine Motivsubstitution (dazu <ref-ruling> E. 4.2 S. 87; <ref-ruling> E. 3 S. 369 f.). Im Übrigen ist ein Ergänzungs- oder Klärungsbedarf mit Blick auf die Ausführungen der Dr. med. B._, was die beantragte Einholung einer Stellungnahme einzig rechtfertigen könnte, weder erkennbar noch beschwerdeweise (genügend) substanziiert. Ebenso wenig zu überzeugen vermag das Argument, die Beschwerdeführerin habe nicht mit der Prüfung der Standardindikatoren nach <ref-ruling> rechnen müssen und es habe kein Anlass bestanden, sich in den Vorverfahren dazu zu äussern. Vielmehr erging die Verfügung vom 23. Januar 2019 angesichts der im Gutachten vom 17. August 2018 gestellten Diagnosen (vgl. E. 4.1) offenkundig in Anwendung der einschlägigen Rechtsprechung (insbesondere <ref-ruling> und 418, datierend vom 30. November 2017). Dies ergibt sich auch aus der Stellungnahme des Regionalen Ärztlichen Dienstes (RAD) vom 3. September 2018, wonach im Gutachten zu den Standardindikatoren Stellung genommen worden sei, weshalb darauf abgestellt werden könne. Folglich war für die Beschwerdeführerin klar zu erkennen, welche Umstände rechtlich bedeutsam sein würden.
3.
3.1. In materieller Hinsicht ist streitig und zu prüfen, ob das kantonale Gericht Bundesrecht verletzte, indem es einen Rentenanspruch der Beschwerdeführerin über den 31. Januar 2018 hinaus ausgeschlossen hat.
3.2. Die Vorinstanz hat die polydisziplinäre asim-Expertise vom 20. Februar 2017, wonach die Beschwerdeführerin für adaptierte Tätigkeiten zu 80 % arbeitsfähig sei, wie auch das psychiatrische Verlaufsgutachten der Dr. med. B._ vom 17. August 2018 als massgebliche Beweisgrundlagen herangezogen. Die 50%ige Arbeitsunfähigkeit, welche die psychiatrische Expertin aufgrund einer Verschlechterung seit der eigenen (asim-) Vorbegutachtung feststellte, hat das kantonale Gericht jedoch nicht übernommen, sondern eine invalidisierende psychische Funktionseinbusse anhand einer Indikatorenprüfung nach <ref-ruling> verneint. Sodann hat die Vorinstanz dem parallelisierten, auf Fr. 45'281.60 festgelegten Valideneinkommen - unter Verzicht auf einen Abzug vom Tabellenlohn - ein Invalideneinkommen von Fr. 44'035.60 bei 80%iger bzw. ein solches von Fr. 27'522.30 bei 50%iger Arbeitsfähigkeit gegenüber gestellt (vgl. <ref-law>). Gestützt darauf hat sie die Verfügung vom 23. Januar 2017 bestätigt (maximaler Invaliditätsgrad: 39.22 %).
4.
4.1. Gemäss dem psychiatrischen Verlaufsgutachten der Dr. med. B._ vom 17. August 2018 besteht bei der Beschwerdeführerin eine mittelgradige depressive Episode bei rezidivierender depressiver Störung (DD Double Depression) mit somatischem Syndrom (ICD-10 F33.11) sowie eine chronische Schmerzstörung mit somatischen und psychischen Faktoren (ICD-10 F45.41).
4.2. Geht es um psychische Erkrankungen wie eine anhaltende somatoforme Schmerzstörung, ein damit vergleichbares psychosomatisches Leiden (vgl. <ref-ruling> E. 2.2.1.3 S. 13 f.) oder depressive Störungen (<ref-ruling> und 418), so sind für die Beurteilung der Arbeitsfähigkeit systematisierte Indikatoren (Beweisthemen und Indizien) beachtlich, die es - unter Berücksichtigung von leistungshindernden äusseren Belastungsfaktoren wie auch von Kompensationspotentialen (Ressourcen) - erlauben, das tatsächlich erreichbare Leistungsvermögen einzuschätzen (<ref-ruling> E. 2 S. 285 ff., E. 3.4-3.6 und 4.1 S. 291 ff.).
Von einer lege artis, d.h. auch normorientiert erfolgten medizinischen Schätzung ist aus triftigen Gründen abzuweichen. Solche liegen vor, wenn die medizinisch-psychiatrische Annahme einer Arbeitsunfähigkeit letztlich, im Ergebnis, unter dem entscheidenden Gesichtswinkel von Konsistenz und materieller Beweislast der versicherten, rentenansprechenden Person zu wenig gesichert ist und insofern nicht überzeugt. Dabei ist in Erinnerung zu rufen und es gilt als Leitschnur, dass die ärztliche Beurteilung - von der Natur der Sache her unausweichlich - Ermessenszüge aufweist, die auch den Rechtsanwender begrenzen (<ref-ruling> E. 4.3 S. 367 ff., mit Hinweisen).
4.3. Ob und in welchem Umfang die ärztlichen Feststellungen anhand der rechtserheblichen Indikatoren auf eine Arbeitsunfähigkeit schliessen lassen, ist eine vom Bundesgericht frei überprüfbare Rechtsfrage (<ref-ruling> E. 7 S. 308 f.).
4.4.
4.4.1. In Bezug auf die Ausprägung der diagnoserelevanten Befunde (<ref-ruling> E. 4.3.1.1 S. 298) hielt die psychiatrische Sachverständige im Verlaufsgutachten vom 17. August 2018 fest, der Zustand der Beschwerdeführerin habe sich gegenüber der Voruntersuchung vom November 2016 deutlich verschlechtert. Die depressive Symptomatik habe zugenommen, es bestehe eine latente Suizidalität, sodass insbesondere von einer mindestens mittelgradigen depressiven Episode mit somatischem Syndrom ausgegangen werden müsse. Der Schweregrad der psychischen Erkrankung habe sich vom leichten bis zum mindestens mittelschweren verschoben. In Bezug auf den Verlauf seit der stationären Behandlung der Beschwerdeführerin in der Psychiatrischen Klinik E._ vom 15. August bis 1. Oktober 2017 stellte Dr. med. B._ fest, die dort zwischenzeitlich erreichte Verbesserung habe keine Stabilität gezeigt. Die Beschwerdeführerin wurde demnach über mehrere Wochen stationär behandelt, ohne dass sich ein dauerhafter Behandlungserfolg eingestellt hätte. Labormässig ist zumindest die Einnahme des Antidepressivums Duloxetin-Mepha belegt. Vom Fehlen einer konsequenten und zielgerichteten Behandlung kann vor diesem Hintergrund nicht ausgegangen werden (Behandlungserfolg bzw. -resistenz; vgl. <ref-ruling> E. 4.3.1.2 S. 299 f.). Daran ändert die von der Vorinstanz erhobene, im Durchschnitt alle zwei bis drei Wochen erfolgte psychotherapeutische Behandlung nichts. Sodann muss insbesondere mit Blick auf die ärztlich belegte latente Suizidalität auf einen behandlungsanamnestisch ausgewiesenen Leidensdruck (<ref-ruling> E. 4.4.2 S. 304) geschlossen werden.
4.4.2. Was den Indikator Komorbidität (<ref-ruling> E. 4.3.1.3 S. 300 ff.) betrifft, stand das Schmerzsyndrom laut der Gutachterin im Unterschied zu ihrer eigenen Vorbegutachtung vom November 2016 zwar nicht mehr im Vordergrund des klinischen Beschwerdebildes. Indes wies Dr. med. B._ klar darauf hin, es handle sich lediglich um Veränderungen im Beschwerdefokus (bei der Vorbegutachtung Schmerzsyndrom im Vordergrund, bei der aktuellen Begutachtung depressive Symptomatik im Vordergrund); die Schmerzsymptomatik als solche bestehe weiterhin (vgl. psychiatrisches Verlaufsgutachten, S. 13). Bezeichnete die psychiatrische Expertin die Schmerzstörung weiter ausdrücklich als komorbid, so ist eine ressourcenhemmende Wirkung zu bejahen. In Bezug auf die Komplexe Persönlichkeit (vgl. <ref-ruling> E. 4.3.2 S. 302) und sozialer Kontext (vgl. <ref-ruling> E. 4.3.3 S. 303) stellte Dr. med. B._ eine deutlich reduzierte bis aufgehobene Schwingungsfähigkeit, einen deutlich verminderten Antrieb, eine leichte psychomotorische Hemmung sowie ein Morgentief fest. Es bestehe ein sozialer Rückzug und eine latente Suizidalität. Dass vornehmlich psychosoziale Belastungsfaktoren das Beschwerdebild prägten, ist nicht nachvollziehbar. Vielmehr wirkt nach Aussage der psychiatrischen Expertin die Trennung von Bezugspersonen - wie der wahrscheinliche Auszug des Sohnes aus der gemeinsamen Wohnung - aufgrund der Persönlichkeit der Beschwerdeführerin mit dependenten und ängstlich-vermeidenden Anteilen als Triggerfaktor bei der Entstehung, Aufrechterhaltung und Exazerbation der psychischen Symptomatik. Die Ressourcen lägen demgegenüber in der Unterstützung durch die drei Kinder und die Mutter der Beschwerdeführerin (psychiatrisches Verlaufsgutachten, S. 12).
4.4.3. Hinsichtlich Konsistenz und Plausibilität (vgl. <ref-ruling> E. 4.4 S. 303 f.) ergibt sich schliesslich aus der Expertise, die Angaben der Beschwerdeführerin korrespondierten mit der negativen Entwicklung seit der Vorbegutachtung, insbesondere wenn man die Befunde direkt vergleiche: Die Explorandin sei 2016 (zuletzt drei bis vier Monate vor der Begutachtung) noch Auto gefahren und habe damals - anders als im Zeitpunkt der Verlaufsbegutachtung - noch ca. dreissig Minuten lang lesen können. Dass sie selbstständig einkaufen geht und mit ihrer Mutter Arbeiten im Haushalt erledigt, steht der gutachterlichen Einschätzung nicht entgegen, zumal die fachärztlich attestierte Arbeitsunfähigkeit von 50 % ein gewisses Mass an (Freizeit-) Aktivitäten zulässt (vgl. Urteil 9C_658/2018 vom 11. Januar 2019 E. 4.4.1 in fine mit Hinweis). Hinzu kommt, das die psychiatrische Gutachterin darlegte, die Angaben über die subjektive Beeinträchtigung entsprächen dem Verhalten der Versicherten bei der Alltagsbewältigung; das Vorbringen der Klagen wirke unter Berücksichtigung des depressiven Zustandes nicht appellativ oder demonstrativ. In der Gegenübertragungssituation entstehe keine Empfindung des Unechten (vgl. psychiatrisches Verlaufsgutachten, S. 13 f.). Die medizinisch-psychiatrische Schlussfolgerung, das Krankheitsbild mit einer Verschlechterung im Verlauf stelle sich konsistent dar, ist schlüssig und somit rechtlich zu respektieren.
4.4.4. Insgesamt resultiert anhand des psychiatrischen Verlaufsgutachtens vom 17. August 2018 das für die Annahme einer rechtlich relevanten psychischen Funktionseinbusse erforderliche stimmige Gesamtbild (vgl. <ref-ruling> E. 6 S. 426 f.). An einem triftigen Grund für ein Abweichen fehlt es. Die vorinstanzliche Indikatorenprüfung ist in Verletzung von Bundesrecht erfolgt. Daher kann auf die im angefochtenen Entscheid festgestellte, aus psychischer Sicht uneingeschränkte Arbeitsfähigkeit nicht abgestellt werden. Es ist stattdessen, der gutachterlichen Einschätzung folgend, von einer Arbeitsunfähigkeit von 50 % für angepasste Tätigkeiten seit Anfang Oktober 2017 auszugehen.
5.
5.1. Was sodann die vom Bundesgericht frei überprüfbare (<ref-ruling> E. 5.1 S. 72; Urteil 9C_200/2017 vom 14. November 2017 E. 4.2 mit Hinweis) Rechtsfrage betrifft, ob beim Invalideneinkommen ein Abzug vom Tabellenlohn vorzunehmen ist, sind die Einwände der Beschwerdeführerin begründet. Wohl ist das trotz der gesundheitlichen Beeinträchtigung zumutbarerweise erzielbare Einkommen bezogen auf einen ausgeglichenen Arbeitsmarkt zu ermitteln, der durch ein gewisses Gleichgewicht zwischen Angebot und Nachfrage nach Arbeitskräften gekennzeichnet ist und einen Fächer verschiedenster Tätigkeiten aufweist, insbesondere auch Nischenarbeitsplätze beinhaltet (<ref-law>; <ref-ruling> E. 4.2.1 S. 70 f.). Der Tabellenlohn gemäss der Schweizerischen Lohnstrukturerhebung (LSE) umfasst denn auch eine Vielzahl von leichten Tätigkeiten, worunter die von der Vorinstanz erwähnten einfachen Kontrolltätigkeiten fallen. Aus orthopädischer Sicht ist die Arbeitsfähigkeit der Beschwerdeführerin aufgrund des schmerzbedingt erhöhten Pausenbedarfs quantitativ um 20 % eingeschränkt (vgl. asim-Gutachten vom 20. Februar 2017, S. 15). Darüber hinaus bestehen qualitative körperliche Einschränkungen, die sich auf das Belastungsprofil auswirken (wechselbelastend, im Wechsel zwischen Sitzen und Gehen; keine Arbeiten in Zwangspositionen; ohne häufiges Drehen und Wenden des Oberkörpers; Heben, Tragen und Bewegen von Lasten auf 10 kg limitiert; Überkopfarbeiten nur kurzfristig und in Ausnahmefällen). Es kann dahingestellt bleiben, ob dem - wie das kantonale Gericht erwogen hat - bereits mit der Einteilung in das Kompetenzniveau 1 Rechnung getragen worden ist. Denn die Beschwerdeführerin muss mit Blick auf ihre beträchtlichen psychischen Einschränkungen, welche eine ruhige Tätigkeit ohne anspruchsvollen Publikumsverkehr, ohne Zeitdruck, ohne Schichtdienst und mit der Möglichkeit einer flexiblen Pausengestaltung erfordern (vgl. asim-Gutachten vom 20. Februar 2017, S. 15; ebenso: psychiatrisches Verlaufsgutachten vom 17. August 2018, S. 15), mit einer deutlichen Lohneinbusse im Vergleich zu Arbeitskräften mit normalem Leistungsvermögen rechnen, will sie reelle Chancen auf eine Anstellung haben (vgl. Urteil 8C_297/2018 vom 6. Juli 2018 E. 4.3 mit Hinweis).
5.2. Nachdem diese Umstände von der vorinstanzlichen Einkommensparallelisierung nicht umfasst werden (vgl. <ref-ruling> E. 6.2 S. 305), erscheint es rechtlich geboten, der Beschwerdeführerin einen Abzug vom Tabellenlohn zu gewähren. Dieser übersteigt jedoch 10 % nicht: Es ist nicht erkennbar, dass anderweitige einkommensbeeinflussende Faktoren, die im Übrigen auch nicht explizit geltend gemacht werden, derart gravierend wären, dass die Beschwerdeführerin negative Auswirkungen auf die Lohnhöhe zu gewärtigen hätte. Insbesondere fehlt es an spezifischen Umständen, die aufgrund des Alters der 1968 geborenen Beschwerdeführerin zu einem (höheren) Abzug führen könnten (vgl. dazu Urteil 9C_470/2017 vom 29. Juni 2018 E. 4.2). Dies gilt umso mehr, als sich das Alter auf Tätigkeiten im - hier unbestritten anwendbaren - Kompetenzniveau 1 nicht zwingend lohnsenkend auswirkt, da Hilfsarbeiten auf dem hypothetisch ausgeglichenen Arbeitsmarkt grundsätzlich altersunabhängig nachgefragt werden (vgl. statt vieler: Urteile 8C_378/2019 vom 18. Dezember 2019 E. 7.2.1 und 9C_535/2017 vom 14. Dezember 2017 E. 4.6, nicht publ. in: <ref-ruling>, aber in: SVR 2018 IV Nr. 20 S. 63).
6.
Gemäss der grundsätzlich unbestrittenen vorinstanzlichen Invaliditätsbemessung beläuft sich das Valideneinkommen auf Fr. 45'281.60. Aus der Gegenüberstellung mit dem auf einer 50%igen Restarbeitsfähigkeit beruhenden Invalideneinkommen von (gerundet) Fr. 24'770.- (Fr. 27'522.30 x 0.9) ergibt sich ein Anspruch auf eine Viertelsrente (Invaliditätsgrad: 45.3 %). Dieser besteht ab 1. Februar 2018, nachdem von keiner Seite in Abrede gestellt wird, dass die Beschwerdeführerin bis 31. Januar 2018 Anspruch auf eine ganze Invalidenrente hat (vgl. Verfügung vom 23. Januar 2019). In diesem Sinne ist die Beschwerde begründet.
7.
Die unterliegende Beschwerdegegnerin trägt die Verfahrenskosten (<ref-law>). Sie hat der Beschwerdeführerin überdies eine Parteientschädigung zu bezahlen (Art. 68 Abs. 1 und 2 BGG).

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird gutgeheissen. Der Entscheid des Verwaltungsgerichts des Kantons Thurgau vom 21. August 2019 wird aufgehoben. Die Verfügung der IV-Stelle des Kantons Thurgau vom 23. Januar 2019 wird insoweit abgeändert, als die Beschwerdeführerin ab 1. Februar 2018 Anspruch auf eine Viertelsrente hat.
2.
Die Gerichtskosten von Fr. 800.- werden der Beschwerdegegnerin auferlegt.
3.
Die Beschwerdegegnerin hat die Beschwerdeführerin für das bundesgerichtliche Verfahren mit Fr. 2800.- zu entschädigen.
4.
Die Sache wird zur Neuverlegung der Kosten und der Parteientschädigung des vorangegangenen Verfahrens an das Verwaltungsgericht des Kantons Thurgau zurückgewiesen.
5.
Dieses Urteil wird den Parteien, dem Verwaltungsgericht des Kantons Thurgau und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 11. Mai 2020
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Parrino
Der Gerichtsschreiber: Grünenfelder