DS Coach

Connect apps and keep sync healthy.

Integrations

Follow-ups: open board (secondary priorities view).

Open Pure messages so Coach can see your chat list, or open a 1-on-1 chat so messages can import automatically.

Pure · future-only reset

Removes stored Pure (pure_app) threads and coaching history for those chats only. Telegram and manual sources are not affected.

Pure vs Telegram in Coach

Telegram Direct uses Telegram’s API — Coach can list chats and pull history in bulk. Pure syncs through Chrome: the extension reads the sidebar you see and imports open 1:1s while you work in Pure. Open a real thread when Pure looks like a feed — Coach needs a settled chat to import messages. Scroll the Pure list to load more names; Coach only receives what your tab is showing. Manual and recovery tools stay under Advanced & recovery below. With ?debug=1 you also get inline pipeline tables and raw export views.

Integrations

Connect apps and sync messages.

Pure live

Mission status

Pure is on a feed-style screen without a settled chat — open Messages or a 1-on-1 thread.

Runtime: active_chat_import_only. Roster chat IDs are discovery-only inventory from the live Pure UI/network signals; they are not imports. Materialized threads only come from validated open-chat captures (extension or POST /api/pure/ingest). Enable Auto-rotate inventory in the extension popup to import visible chats without clicking each one.

Browser extension active
yes
Browser sync state
blocked_feed_page
Authenticated session
yes
Page mode
waiting_for_chat
Safe to sync
no
New rows since last pull
0
Coaching freshness
limited

Last successful Pure import

Most recent open-chat import Coach accepted from your browser. Import style: Open chat only. Names on the Pure sidebar alone do not load messages until you open each chat.

Last import succeeded — you should see this thread in the inbox when inbox and workspace read yes below.

Messages stored
2
In inbox list
yes
Ready in workspace
yes
Result
success
Where it stopped
Technical details (ids & export)
Pure chat id: pure_app:chat.163c1fcb7c28e193df7751ba1df01340231737b3
Coach thread key: unlinked:pure:chat.163c1fcb7c28e193df7751ba1df01340231737b3::pure_app:chat.163c1fcb7c28e193df7751ba1df01340231737b3

Open last import (JSON)

Last ingest hit

Most recent request to /api/pure/ingest (includes failed validation).

Time
2026-05-27T12:21:54.303806+00:00
Source
extension_auto_open_chat
Page mode
chat
Raw chat id
pure_app:chat.163c1fcb7c28e193df7751ba1df01340231737b3
Message count
2
Validation
yes
Import ok
yes
HTTP
200

Stage: ok · Rejection:

Raw API: ingest debug JSON

GET /api/pure/debug/last-ingest-hit · GET /api/pure/debug/ingest-self-test

Advanced: import trace, roster vs loaded chats, import debugger

Per-chat pipeline (detected ids)

Each roster id moves through capture → validation → import → visibility. GET /api/pure/audit for JSON.

chat idstagedetailmaterializedvisibleroute
chat.00035434d61e1c046eb950b25701a7649b469463detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.00ef7364b1ef4824b368a107detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.012a10074461b5ffa8a135bb2e9aed9544f930a8detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.019c3d2d1b5967233baf2dd33ba9b4233212ebb2detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.05a4d343c7cb913e6a0d444de6abafce56ea979bdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.05cf26de314c49d79c5926dbdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.06d227e1d58d4746ba3bf99bdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.07186b6ab4b34f9fbd9ebb89detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.075e3d9f80dc43aa9fb03050detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.080aea4902a2b7c1d5996e7078b96770d92acf60detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.08bef14fafb07561782cc708706ee1d0e821b70fdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.08fd3c8c9b5d41e5b0918128detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.09d0d4e1095b4b0991ebd6cfdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.0a83c9e99dcf4810bdbbc678detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.0a950d62284fbd7375edff3b9f291afb4bb020eddetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.0b625f7be5c4eaab38a2bb9524a19a223e53dbf6detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.0d0f149cdc08f956205a6a78b40dc6556f08030avisible_threadVisible in inbox/workspace; Pure profile not linked — also listed under People → awaiting profile link.yesyesextension_auto_open_chat
chat.0d3472527626988ebb7280622aa402ea82277bdedetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.0de0aa0c8d4a4b81b3856d8bdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.0df57885a647c0d08656500f98054e4dccb71318detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.0e6f7d6fc7d6cc4d707f4557732850986bf7fa7cdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.0f9c9a18b5e0478b9f76c794detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.10575f81308723f1d64ba21f224b86ccf99ada03visible_threadVisible in inbox/workspace; Pure profile not linked — also listed under People → awaiting profile link.yesyesextension_auto_open_chat
chat.115d6893cd3e4c6cae9c83ad8cd5016266d7b813detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.11904d8728ed490fb0aa43fddetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.12012e3c9bac4c879519a986detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1262ccdda987a8d0ca5cf2044803b741d7ae8ab0detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.13029568d5f64dc8ab553747detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.131b228dc06f048dc6769de9627bcbc96e7ffad4visible_threadVisible in inbox/workspace; Pure profile not linked — also listed under People → awaiting profile link.yesyesextension_auto_open_chat
chat.13acbf9f14782005b7755a739b2a6f3095becd78detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.153dab650292687e9c803b46962b1614f017609cdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1556efae9d524c32dbc020b4823ea21992f49a68detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.15d48a5df2698fd88b93a82810bd7592f338abcavisible_threadVisible in inbox/workspace; Pure profile not linked — also listed under People → awaiting profile link.yesyesextension_auto_open_chat
chat.15e9558e332d4ee7a7602290detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.163c1fcb7c28e193df7751ba1df01340231737b3visible_threadVisible in inbox/workspace; Pure profile not linked — also listed under People → awaiting profile link.yesyesextension_auto_open_chat
chat.16963fa94c8d4e67a7a90295detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.16c63a4d23daf28674463b2aa0cb102c00a31061detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.16d5f165c5d54eea9653d3b3detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.17de6b2a0a4c4ab387a7e792detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.17f2adfb78b44d8389197724detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.189dffd15b8f5388d090be45aaebde552c54d3c1detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.18c8df1b85b34be6be1dbaf8detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1ae7c06dcf3926081b5e29226608bef269eef5e9detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1aeae4ffba42473ab9d9a24cdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1b0278de20c945799680f914detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1b4249cf20ecc901b1cab7c2e35d29f8526d741bdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1b9453d9c56d4c2880eb6672detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1c7298aa340c6df3a58987b6dc01a9e0660c52f4detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1ca6d137864c41b38237b147detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1cbf836752834f64a2778ac0detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1dc766e78f0ab4c6b55a9662d085dce16b959340detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1f1d4b468baf4c88ba5bcf03detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1f283cefbfc84ad4a294e1c9detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1f2c2578b17a31f651fca09470c016d9935f459bdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1f6a477809394af26ff0de7c572cd0450f199895detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1f94a2d330e94b3ba5bb14f0detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.1ff3fbfc280783dc3d6289c99660c104d64098c9detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.20d46430afac16f9c7c36c9c575ec9177d17a650detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.211f04bfba7a47c591ea5663detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.2386466fcece4e1cb0b1fa2cdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.24d4e1c331c2acdae1d08c938832a9b16511c69cdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.26b68eb0286189364d22a845cd7db2b6466c4faedetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.28303818d4d24543b1a92e48detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.28b5a0886d8f4f6b8a5e99d5detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.29b6fafabc00c7e8ec61202afc822e9e3be8c2acdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.2a42a3c36af335ecaa74d414397ad0d52855646ddetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.2a8cdec6ef10495e98fb17f5detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.2c7641f071a343e889437555detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.2cb4b0f05e764ace80a6a874detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.2cb5f9f209714e1dac5be90cdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.2e78997f1e11fee501cc98eaf81cf240da29bd05detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.2f7b6315a26b4b43a8894a82detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.307356f98e6b26da68b2b74722263e3de01d9223detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.31b952ed4cda4264856688c6afbd19b4dab086ccdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.3285bc84e0bc411a82691392detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.33af152c1a5046e289b37c08detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.33d58dce7647a7b902f044ebff301fc165135eccdetected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.34088a56babf7143dfbf7f83c6c05cb86088fd17detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.3480ae3177687dc1979ca53fe27f152ced1c9582detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes
chat.357dd55c60584c8b8e092124detected_onlyRoster/network discovery only — no successful validated capture for this chat id. Open this chat in Pure and use the extension import (or POST /api/pure/ingest) to materialize it.noyes

Pure live import debugger

LLM reply engine · provider openai_compatible · model coach-v2:latest · apps/coach/llm_client.py:/v1/chat/completions + apps/coach/reply_generation.py; fallback apps/coach/main.py:_build_coach_card

Recent import attempts (durable). GET JSON

Live capture requires the Pure tab extension; this button arms a one-shot request the extension picks up. Fallback re-import uses the last server-validated JSON only.

Timechat idpipelinepage modecapture urllabelmsgsvalokrejectstagefailthread keycreatedinboxwspeoplerouteevidence
2026-05-27T12:21:55.579265+0pure_app:chat.163c1fcb7c28e193df7751ba1df01340231737b3accepted_importchathttps://pure.app/app/en/feed3 new messages2yesyesunlinked:pure:chat.163c1fcb7c28e193df7751ba1df01340231737b3::pure_app:chat.163c1noyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-27T12:17:02.572189+0pure_app:chat.163c1fcb7c28e193df7751ba1df01340231737b3accepted_importchathttps://pure.app/app/en/feed3 new messages1yesyesunlinked:pure:chat.163c1fcb7c28e193df7751ba1df01340231737b3::pure_app:chat.163c1yesyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-25T21:21:54.204366+0pure_app:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdabaccepted_importchathttps://pure.app/app/en/feed4 new messages7yesyesunlinked:pure:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab::pure_app:chat.d9ecfnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-25T03:04:36.047526+0pure_app:chat.passive-policyaccepted_importchathttps://pure.app/feedPassive1yesyesunlinked:pure:chat.passive-policy::pure_app:chat.passive-policynoyesyesnoextension_passive_networkextension_passive_networ
2026-05-25T03:04:36.040526+0pure_app:chat.passive-mixedaccepted_importchathttps://pure.app/feedMixed1yesyesunlinked:pure:chat.passive-mixed::pure_app:chat.passive-mixednoyesyesnoextension_passive_networkextension_passive_networ
2026-05-25T03:04:35.945075+0pure_app:chat.strict-policyaccepted_importchathttps://pure.app/#/messages/chat.strictStrict Policy1yesyesunlinked:pure:chat.strict-policy::pure_app:chat.strict-policynoyesyesnopure_extensionpure_extension
2026-05-25T03:01:26.002871+0app_en_feedvalidation_rejectedfeedPure feed0nonoCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.validationCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.nonononoapi_ingestapi_ingest
2026-05-25T03:01:25.998210+0chat.app_en_onboardingvalidation_rejectedchathttps://pure.app/#/messages/app_en_onboardingWelcome0nonoCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.validationCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.nonononoapi_ingestapi_ingest
2026-05-25T02:58:43.619488+0pure_app:chat.passive-policyaccepted_importchathttps://pure.app/feedPassive1yesyesunlinked:pure:chat.passive-policy::pure_app:chat.passive-policynoyesyesnoextension_passive_networkextension_passive_networ
2026-05-25T02:58:43.612765+0pure_app:chat.passive-mixedaccepted_importchathttps://pure.app/feedMixed1yesyesunlinked:pure:chat.passive-mixed::pure_app:chat.passive-mixednoyesyesnoextension_passive_networkextension_passive_networ
2026-05-25T02:58:43.510216+0pure_app:chat.strict-policyaccepted_importchathttps://pure.app/#/messages/chat.strictStrict Policy1yesyesunlinked:pure:chat.strict-policy::pure_app:chat.strict-policynoyesyesnopure_extensionpure_extension
2026-05-25T02:56:04.199196+0app_en_feedvalidation_rejectedfeedPure feed0nonoCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.validationCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.nonononoapi_ingestapi_ingest
2026-05-25T02:56:04.195197+0chat.app_en_onboardingvalidation_rejectedchathttps://pure.app/#/messages/app_en_onboardingWelcome0nonoCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.validationCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.nonononoapi_ingestapi_ingest
2026-05-25T02:52:34.855760+0pure_app:chat.passive-policyaccepted_importchathttps://pure.app/feedPassive1yesyesunlinked:pure:chat.passive-policy::pure_app:chat.passive-policynoyesyesnoextension_passive_networkextension_passive_networ
2026-05-25T02:52:34.848760+0pure_app:chat.passive-mixedaccepted_importchathttps://pure.app/feedMixed1yesyesunlinked:pure:chat.passive-mixed::pure_app:chat.passive-mixednoyesyesnoextension_passive_networkextension_passive_networ
2026-05-25T02:52:34.725662+0pure_app:chat.strict-policyaccepted_importchathttps://pure.app/#/messages/chat.strictStrict Policy1yesyesunlinked:pure:chat.strict-policy::pure_app:chat.strict-policynoyesyesnopure_extensionpure_extension
2026-05-25T02:48:11.713178+0app_en_feedvalidation_rejectedfeedPure feed0nonoCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.validationCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.nonononoapi_ingestapi_ingest
2026-05-25T02:48:11.709177+0chat.app_en_onboardingvalidation_rejectedchathttps://pure.app/#/messages/app_en_onboardingWelcome0nonoCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.validationCapture rejected: Pure app shell/onboarding/feed id — not a DM thread.nonononoapi_ingestapi_ingest
2026-05-24T01:10:14.338611+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feed3 new messages6yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:09:59.503655+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.6yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:08:52.826093+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.6yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:08:45.195704+0pure_app:chat.dbbc8e749f29b7a9acc0e53272347a5ee91e8b3faccepted_importchathttps://pure.app/app/en/feed3 new messages4yesyesunlinked:pure:chat.dbbc8e749f29b7a9acc0e53272347a5ee91e8b3f::pure_app:chat.dbbc8noyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:05:19.336066+0pure_app:chat.dbbc8e749f29b7a9acc0e53272347a5ee91e8b3faccepted_importchathttps://pure.app/app/en/feed3 new messages3yesyesunlinked:pure:chat.dbbc8e749f29b7a9acc0e53272347a5ee91e8b3f::pure_app:chat.dbbc8noyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:05:13.083750+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feed3 new messages6yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:04:19.333741+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.6yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:04:10.455175+0pure_app:chat.dbbc8e749f29b7a9acc0e53272347a5ee91e8b3faccepted_importchathttps://pure.app/app/en/feed3 new messages3yesyesunlinked:pure:chat.dbbc8e749f29b7a9acc0e53272347a5ee91e8b3f::pure_app:chat.dbbc8noyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:03:52.984949+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feed3 new messages6yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:03:44.386179+0pure_app:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984daccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.12yesyesunlinked:pure:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984d::pure_app:chat.4803fnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:03:10.065160+0pure_app:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984daccepted_importchathttps://pure.app/app/en/feed4 new messages12yesyesunlinked:pure:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984d::pure_app:chat.4803fnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:02:05.550094+0pure_app:chat.dbbc8e749f29b7a9acc0e53272347a5ee91e8b3faccepted_importchathttps://pure.app/app/en/feed3 new messages1yesyesunlinked:pure:chat.dbbc8e749f29b7a9acc0e53272347a5ee91e8b3f::pure_app:chat.dbbc8yesyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T01:01:57.530712+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.5yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T00:59:50.123066+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.4yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T00:59:40.118045+0pure_app:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984daccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.11yesyesunlinked:pure:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984d::pure_app:chat.4803fnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T00:51:40.079332+0pure_app:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984daccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.10yesyesunlinked:pure:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984d::pure_app:chat.4803fnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T00:51:25.078696+0pure_app:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984daccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.9yesyesunlinked:pure:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984d::pure_app:chat.4803fnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T00:29:44.339475+0pure_app:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984daccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.8yesyesunlinked:pure:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984d::pure_app:chat.4803fnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-24T00:16:40.090548+0pure_app:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984daccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.8yesyesunlinked:pure:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984d::pure_app:chat.4803fnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-23T23:59:14.642567+0pure_app:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984daccepted_importchathttps://pure.app/app/en/feed3 new messages7yesyesunlinked:pure:chat.4803f7404e05fcdacaf3bbe7a65f7b6f1d01984d::pure_app:chat.4803fnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-23T23:57:12.648553+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.3yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-05-23T23:55:55.744942+0pure_app:chat.aab6aa168677a85d74ac3c825f479dbe1b81983eaccepted_importchathttps://pure.app/app/en/feed3 new messages1yesyesunlinked:pure:chat.aab6aa168677a85d74ac3c825f479dbe1b81983e::pure_app:chat.aab6anoyesyesnoextension_auto_open_chatextension_auto_open_chat

Pure setup steps

Install once, keep Pure open in your logged-in Chrome profile, and Coach syncs and backfills while you work.

Install the extension once → keep your logged-in Pure tab open → open a real chat to sync. A feed without a settled chat will not import. Backup JSON is for recovery only.
Setup completion65%
Step 1 · Connect Pure
Install DS Coach Pure Companion in Chromedetected
Open chrome://extensions, enable Developer mode, click Load unpacked, and choose extensions/ds-coach-pure-companion.
Show install steps
1) Open Chrome extensions
2) Turn on Developer mode
3) Load unpacked folder extensions/ds-coach-pure-companion
4) Reload Pure tab
Step 2 · Open Pure while logged in
Use your existing browser sessionverified
DS Coach reads state from your local browser session. No Pure password is stored server-side.
Step 3 · Open a target chat
Activate the conversation to syncopen real chat
With a real chat open, Coach can map the thread, pull new messages, and backfill history.
Step 4 · Verify live connection
Confirm status in Integrationsin progressextension: yessession: yeschat: no
Step 5 · Fallback only if needed
Manual import stays availablefallback only
Use JSON upload only when companion sync is blocked. Normal operation should remain install-once + automatic sync.
Current chat title
Open-Minded Dating App. : PURE.APP
Browser sync state
blocked_feed_page
Pure is on a feed-style screen without a settled chat — open Messages or a 1-on-1 thread.
Extension version
0.9.12
Bootstrap status
ok
none
Last contact from browser
2026-05-27 23:50 UTC
sending · HTTP 0
Active environment
production_default
Current page mode
waiting_for_chat
Safe to sync
no
Last chat evidence source
fallback
Current thread key
(none)
Last seen chat id
(none)
Configured DS Coach base URL
https://dev-coach.kinkforlife.com
Source: storage_saved

Operator shortcuts — these buttons only copy instructions to the clipboard. They do not open the extension or change settings from the browser.

Capture client identifier
ds-coach-pure-extension
Current page URL
https://pure.app/en/
Capture clients
extension
Primary path: extension.
Browser sync
Pure extension active
Pure is on a feed-style screen without a settled chat — open Messages or a 1-on-1 thread. · Last contact: 13s ago
Automatic recheck
Off
Runs another pass while you keep the chat open.
Last success / backfill
2026-05-27 12:21 UTC · 2026-05-25 03:01 UTC
Feed detection
2026-05-25 03:01 UTC
Fallback download
disabled
Last accepted capture
History request observed
Last rejected capture
Open a specific conversation in Pure so the message thread is visible.
Last error
none

Operator message: Pure is on a feed-style screen; open Messages or a 1:1 chat to enable sync.

Page detection log (short)
chat_evidence: History request observed · chat.7ed05fa1b66e171208c163dfb02c7c147ba8056a
chat_evidence: History request observed · chat.b53fe122fde3f9993c4119e5920830522dcc136d
chat_evidence: History request observed · chat.ce8ef4e3b95478e85d4d98ebc62b4515861564c5
chat_evidence: History request observed · chat.1dc766e78f0ab4c6b55a9662d085dce16b959340
chat_evidence: History request observed · chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab
chat_evidence: History request observed · chat.da37b550606ae7fc0fb67eec0568c57cc4c70f93
chat_evidence: History request observed · chat.163c1fcb7c28e193df7751ba1df01340231737b3
chat_evidence: History request observed · chat.fe5d8358d3ef5c4a4572e287f8ff0fce443155ac
Recent connection checks
2026-05-27 23:47:24 UTC: first connect ok (200), status ping sending (0)
2026-05-27 23:47:24 UTC: first connect ok (200), status ping sending (0)
2026-05-27 23:48:24 UTC: first connect ok (200), status ping sending (0)
2026-05-27 23:48:24 UTC: first connect ok (200), status ping sending (0)
2026-05-27 23:49:24 UTC: first connect ok (200), status ping sending (0)
2026-05-27 23:49:24 UTC: first connect ok (200), status ping sending (0)
2026-05-27 23:50:24 UTC: first connect ok (200), status ping sending (0)
2026-05-27 23:50:24 UTC: first connect ok (200), status ping sending (0)
Troubleshooting
1) Set DS Coach base URL (and verify it matches your active environment).
2) Confirm extension site access on pure.app.
3) Open a real chat (feed is invalid).
4) Refresh mission status in Integrations.
5) Use fallback JSON only if companion is blocked.

Pure sync approaches

Current recommendation favors browser-session-aware local sync for lower day-to-day maintenance.

Good fallback
Local browser automation agent (Playwright + profile)
setup: moderatemaintenance: mediumreliability: medium-highbreakage risk: mediumbabysitting: medium
Good secondary option if extension installation is blocked; upkeep is higher due to selectors/profile handling.
Fallback only
Manual JSON / screenshot import
setup: nonemaintenance: highreliability: operator-dependentbreakage risk: nonebabysitting: high
Useful rescue path only; not near-zero-touch and should stay explicitly secondary.

Recently seen in Pure’s list

From the Pure tab you have open — not a full account export. Rows appear as you browse; scroll the list to load more.

No names from Pure yet — keep Pure open; the extension picks up the list as you browse.

To load messages, open that chat in Pure. Settled 1:1s import automatically. Coach cannot pull full Pure history without you opening each chat.

Detailed browser sync & inventory metrics
Pure companion active
yes
Last browser check-in: 13s ago
Authenticated session
yes
Browser-session based; no server credentials.
Current chat detected
no
Open-Minded Dating App. : PURE.APP
Current page mode
waiting_for_chat
Pathname alone does not define Pure chat state; companion uses DOM/thread evidence.
Pure surface state
generic_feed_shell
generic_feed_shell · selected_thread_no_messages_yet · selected_thread_chat_ready · onboarding_shell · profile_browse_shell
Pure evidence flags
message_thread_visible
active_chat_row · message_thread_visible · composer_visible · network_chat_history · participant_panel_visible
Safe to sync
no
Last accepted: History request observed
Current thread key
(none)
Canonical Pure thread identity.
Last accepted thread
unlinked:pure:chat.fe5d8358d3ef5c4a4572e287f8ff0fce443155ac::pure_app:chat.fe5d8358d3ef5c4a4572e287f8ff0fce443155ac
Pure. Shameless dating app. · Open imported thread
Roster chat IDs detected
451
Discovery-only (companion inventory); not imports by themselves.
Open chat captures attempted
400
SQLite capture events (non-placeholder).
Accepted open chat imports
0
Legacy pure_captures_accepted: 0
Materialized threads created
451
Legacy pure_threads_created: 451 · hidden 0
Visible Pure threads
451
Inbox/workspace rail (non-placeholder).
Rejected feed snapshots
0
Legacy count: 0
Placeholder / demo rows excluded
0
Unlinked pure threads: 451 · prod w/ msgs 32 · reject cats none
Pure import debug

Active-chat message import only; recent inventory lists chat IDs without per-chat history sync. GET current-chat-trace (server-side stages). Use the extension popup on a Pure tab: Import open chat to Coach.

Configured DS Coach base URL
https://dev-coach.kinkforlife.com
Source: storage_saved · last seen 2026-05-27 23:50 UTC
Last delta
0
Action: heartbeat
Repeated sync
OFF
No-op streak: 440
Last successful sync
2026-05-27 12:21 UTC
History pages last run: 0
Backfill / feed detection
2026-05-25 03:01 UTC
Feed seen: 2026-05-25 03:01 UTC
Last rejected capture
Open a specific conversation in Pure so the message thread is visible.
Rejected feed snapshots are quarantined.
Context freshness
fresh
Last thread sync: 13s ago · history pages: 0

Telegram Direct (automated API sync)

Distinct from manual export below. Status: Connected · Last sync: 2026-05-27 23:50:09 UTC

Connected. Recent chats auto-sync on auth; use bulk sync to refresh all listed chats at once.

History backfill
Fills outage gaps and pre-Telethon history for every DM. Tap once — may take a minute.

Loading Telegram chat list…

Pure live sync controls

The Pure extension runs in your logged-in browser. Use manual controls only when needed.
Pure status
Pure extension active
Pure is on a feed-style screen without a settled chat — open Messages or a 1-on-1 thread.
active: yeschat detected: nopage mode: waiting_for_chatsafe to sync: nolast sync: 13s agonew since last pull: 0unchanged passes: 440

No recent Pure errors.

Last synced thread reference: (none)

Browser shortcut reminders (copy only)

Primary path is automatic sync in the extension. These buttons copy hotkey reminders for the Pure tab; they do not run sync from this web page.

After clicking, paste into a note or follow the line in Pure; nothing is executed server-side from here.

Session timeline

2026-05-27 23:50:24 UTC
Connection check
Open-Minded Dating App. : PURE.APP · Nothing new in this pass
2026-05-27 23:50:24 UTC
Connection check
Pure. Shameless dating app. · Nothing new in this pass
2026-05-27 23:49:24 UTC
Connection check
Pure. Shameless dating app. · Nothing new in this pass
2026-05-27 23:49:24 UTC
Connection check
Open-Minded Dating App. : PURE.APP · Nothing new in this pass
2026-05-27 23:48:24 UTC
Connection check
Open-Minded Dating App. : PURE.APP · Nothing new in this pass
2026-05-27 23:48:24 UTC
Connection check
Pure. Shameless dating app. · Nothing new in this pass
2026-05-27 23:47:24 UTC
Connection check
Open-Minded Dating App. : PURE.APP · Nothing new in this pass
2026-05-27 23:47:24 UTC
Connection check
Pure. Shameless dating app. · Nothing new in this pass

Per-chat sync

Quiet lately
Open-Minded Dating App. : PURE.APP
no new messages on recent checksRough history depth 6%History pages 0
Last batch: +0 · 0 messages stored · 440 unchanged passes in a row
pure_app:

Persisted capture sync (SQLite)

2026-05-27T23:50:24.433329+00:00
heartbeat
Open-Minded Dating App. : PURE.APP · Nothing new in this pass
2026-05-27T23:50:24.407035+00:00
heartbeat
Pure. Shameless dating app. · Nothing new in this pass
2026-05-27T23:49:24.467068+00:00
heartbeat
Pure. Shameless dating app. · Nothing new in this pass
2026-05-27T23:49:24.442038+00:00
heartbeat
Open-Minded Dating App. : PURE.APP · Nothing new in this pass
2026-05-27T23:48:24.817195+00:00
heartbeat
Open-Minded Dating App. : PURE.APP · Nothing new in this pass
2026-05-27T23:48:24.436289+00:00
heartbeat
Pure. Shameless dating app. · Nothing new in this pass
2026-05-27T23:47:24.532280+00:00
heartbeat
Open-Minded Dating App. : PURE.APP · Nothing new in this pass
2026-05-27T23:47:24.483905+00:00
heartbeat
Pure. Shameless dating app. · Nothing new in this pass

Telegram export import (manual fallback)

When Direct sync is not in use: choose result.json then Import.

Ready — choose result.json to preview. After a successful import, the inbox refreshes automatically.




Advanced






Prefer the Pure extension when possible.