DS Coach

Connect apps and keep sync healthy.

Integrations

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

Pure browser extension is quiet — reload Pure tabs after updating, then keep Pure open while you work.

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 idle

Mission status

Install DS Coach Pure Companion in Chrome to enable automatic Pure sync.

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
no
Browser sync state
not_detected
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
8749
In inbox list
yes
Ready in workspace
yes
Result
success
Where it stopped
Technical details (ids & export)
Pure chat id: pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5
Coach thread key: unlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5

Open last import (JSON)

Last ingest hit

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

Time
2026-04-12T15:35:27.523668+00:00
Source
extension_auto_open_chat
Page mode
chat
Raw chat id
pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5
Message count
8749
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.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.0408be94fb284761b683f934detected_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.04253e32d22741e9bf777e75detected_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.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.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.0b6c9b188ada4a2386b26b72detected_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.0bbaef2ff063686f9d4b8eab094e236d648fee6edetected_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.0c30bba25c504ef58a6aed16detected_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.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.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.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.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.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.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.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.188dff562e1c4b8481d27bd5detected_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.1ad5591b0868475eb6467f3ddetected_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.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.1d2a11ab48dc4b46b555b029detected_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.1e151176c5b945d9bb0b388ddetected_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.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.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.27a051861eae4d919fc3c316detected_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.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.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.337176f0e76b43b3a552fb71detected_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.337697b70c8d431f8722fc1bdetected_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.33915edb2410480b92e23244detected_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
chat.360f8195878e3059c11ba1521b25bf1cc9b33aa5detected_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.3636ea0bf367c6864c103274e76de90486e77876detected_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.36815d64cd3c4d59fa3512129d419b82b5858a92detected_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.378ed9ade1b896b46afe1e148fbf018db3268e26detected_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.38684fc675044703a3af61c3detected_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 qwen2.5:14b · 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-04-12T15:35:32.770513+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages8749yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:35:15.778628+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.8752yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:34:24.486426+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.8361yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:33:45.994936+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages7965yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:33:22.592283+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.7573yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:32:52.684637+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages7181yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:32:23.479910+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages6786yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:31:12.089074+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.6391yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:30:48.568787+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages5998yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:30:26.870816+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages5601yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:29:40.633455+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages5209yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:28:43.879860+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.4814yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:28:29.229803+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.4421yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:27:58.256665+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages4026yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:27:45.116215+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.3631yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:27:32.601589+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages3240yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:27:17.483020+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages2847yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:27:01.450617+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages2453yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:26:47.900715+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages2057yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:26:31.231660+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.1665yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:26:15.974337+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.1266yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:26:00.681451+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages874yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:25:44.828066+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.493yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:25:28.557240+0pure_app:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5accepted_importchathttps://pure.app/app/en/feed3 new messages171yesyesunlinked:pure:chat.c17bce8cfbc09336a13c1c5ab930af9b2a660ce5::pure_app:chat.c17bcyesyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:25:13.672754+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.1296yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:24:18.710098+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.1281yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:24:03.708873+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feed3 new messages1265yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:23:48.623526+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.1249yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:23:31.592068+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feed3 new messages1232yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:23:18.261080+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feed3 new messages1216yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:23:05.554594+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feed3 new messages1201yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:22:55.905488+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feed3 new messages1184yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnopure_extensionpure_extension
2026-04-12T15:22:53.325896+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feed3 new messages1170yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:22:38.326640+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feed4 new messages1152yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T15:22:25.742357+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feed4 new messages1129yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnopure_extensionpure_extension
2026-04-12T15:22:23.361353+0pure_app:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65accepted_importchathttps://pure.app/app/en/feedPure. Shameless dating app.1106yesyesunlinked:pure:chat.499cbe9651931eb30ef1e2a6e2b27c466e8cbd65::pure_app:chat.499cbnoyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T14:53:39.510080+0pure_app:chat.95aa6f3afffcda0464a28f6233ed72c02ecf154caccepted_importchathttps://pure.app/app/en/feed5 new messages1331yesyesunlinked:pure:chat.95aa6f3afffcda0464a28f6233ed72c02ecf154c::pure_app:chat.95aa6noyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T14:53:24.496238+0pure_app:chat.95aa6f3afffcda0464a28f6233ed72c02ecf154caccepted_importchathttps://pure.app/app/en/feed5 new messages1307yesyesunlinked:pure:chat.95aa6f3afffcda0464a28f6233ed72c02ecf154c::pure_app:chat.95aa6noyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T14:53:08.610220+0pure_app:chat.95aa6f3afffcda0464a28f6233ed72c02ecf154caccepted_importchathttps://pure.app/app/en/feed5 new messages1283yesyesunlinked:pure:chat.95aa6f3afffcda0464a28f6233ed72c02ecf154c::pure_app:chat.95aa6noyesyesnoextension_auto_open_chatextension_auto_open_chat
2026-04-12T14:52:54.680048+0pure_app:chat.95aa6f3afffcda0464a28f6233ed72c02ecf154caccepted_importchathttps://pure.app/app/en/feed5 new messages1259yesyesunlinked:pure:chat.95aa6f3afffcda0464a28f6233ed72c02ecf154c::pure_app:chat.95aa6noyesyesnoextension_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 completion40%
Step 1 · Connect Pure
Install DS Coach Pure Companion in Chromeinstall needed
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: nosession: 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
Pure. Shameless dating app.
Browser sync state
not_detected
Install DS Coach Pure Companion in Chrome to enable automatic Pure sync.
Extension version
0.9.9
Bootstrap status
ok
none
Last contact from browser
2026-05-17 15:02 UTC
sending · HTTP 0
Active environment
custom
Current page mode
waiting_for_chat
Safe to sync
no
Last chat evidence source
fallback
Current thread key
unlinked:pure:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab::pure_app:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab
Last seen chat id
chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab
Configured DS Coach base URL
https://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/app/en/feed
Capture clients
extension
Primary path: extension.
Browser sync
Pure browser quiet
Install DS Coach Pure Companion in Chrome to enable automatic Pure sync. · Last contact: 23d ago
Automatic recheck
Off
Runs another pass while you keep the chat open.
Last success / backfill
2026-04-12 15:35 UTC · n/a
Feed detection
n/a
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
Page detection log (short)
chat_evidence: History request observed · chat.189dffd15b8f5388d090be45aaebde552c54d3c1
chat_evidence: History request observed · chat.ca93c83430f873dd7c9f18d07735302fe4beb2c3
chat_evidence: History request observed · chat.8e15e9663bc7e3c7848ed7d3b14c1f57d82e49c8
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
Recent connection checks
2026-05-17 15:00:15 UTC: first connect ok (200), status ping sending (0)
2026-05-17 15:00:33 UTC: first connect ok (200), status ping sending (0)
2026-05-17 15:00:58 UTC: first connect ok (200), status ping sending (0)
2026-05-17 15:01:14 UTC: first connect ok (200), status ping sending (0)
2026-05-17 15:01:35 UTC: first connect ok (200), status ping sending (0)
2026-05-17 15:01:56 UTC: first connect ok (200), status ping sending (0)
2026-05-17 15:02:12 UTC: first connect ok (200), status ping sending (0)
2026-05-17 15:02:19 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
no
Last browser check-in: 23d ago
Authenticated session
yes
Browser-session based; no server credentials.
Current chat detected
no
Pure. Shameless dating 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
(none)
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
unlinked:pure:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab::pure_app:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab
Canonical Pure thread identity.
Last accepted thread
unlinked:pure:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab::pure_app:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab
2 new messages · Open imported thread
Roster chat IDs detected
399
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
399
Legacy pure_threads_created: 399 · hidden 0
Visible Pure threads
399
Inbox/workspace rail (non-placeholder).
Rejected feed snapshots
0
Legacy count: 0
Placeholder / demo rows excluded
0
Unlinked pure threads: 399 · prod w/ msgs 3 · 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://coach.kinkforlife.com
Source: storage_saved · last seen 2026-05-17 15:02 UTC
Last delta
0
Action: heartbeat init
Repeated sync
OFF
No-op streak: 13981
Last successful sync
2026-04-12 15:35 UTC
History pages last run: 0
Backfill / feed detection
n/a
Feed seen: n/a
Last rejected capture
Open a specific conversation in Pure so the message thread is visible.
Rejected feed snapshots are quarantined.
Context freshness
degraded
Last thread sync: 23d ago · history pages: 0

Telegram Direct (automated API sync)

Distinct from manual export below. Status: Connected · Last sync: 2026-06-10 14:55:40 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 browser quiet
Install DS Coach Pure Companion in Chrome to enable automatic Pure sync.
active: nochat detected: nopage mode: waiting_for_chatsafe to sync: nolast sync: 23d agonew since last pull: 0unchanged passes: 13981

No recent Pure errors.

Last synced thread reference: unlinked:pure:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab::pure_app:chat.d9ecf2031f771aeb8601bea8ea243b3cff5afdab

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

No sync events yet. Open Pure with the extension enabled, then try again.

Per-chat sync

No per-thread sync coverage yet.

Persisted capture sync (SQLite)

2026-05-17T15:02:19.546435+00:00
heartbeat init
Pure. Shameless dating app. · Nothing new in this pass
2026-05-17T15:02:12.004539+00:00
heartbeat init
Pure. Shameless dating app. · Nothing new in this pass
2026-05-17T15:01:56.948536+00:00
heartbeat
2 new messages · Nothing new in this pass
2026-05-17T15:01:35.931400+00:00
heartbeat
Pure. Shameless dating app. · Nothing new in this pass
2026-05-17T15:01:14.891282+00:00
heartbeat
Pure. Shameless dating app. · Nothing new in this pass
2026-05-17T15:00:58.230907+00:00
heartbeat
2 new messages · Nothing new in this pass
2026-05-17T15:00:33.165756+00:00
heartbeat
Pure. Shameless dating app. · Nothing new in this pass
2026-05-17T15:00:15.388087+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.