{
  "site": {
    "name": "Telegrapher",
    "url": "https://telegrapher.ai",
    "description": "Telegrapher is an independent, unfunded, unincorporated research collaboration.",
    "llms_txt": "https://telegrapher.ai/llms.txt"
  },
  "lines": [
    {
      "slug": "errors",
      "name": "Error-accumulation",
      "blurb": "How errors build up as a model generates, where they cluster, and how production systems correct for them outside the weights. Read in order: the three papers form one argument."
    },
    {
      "slug": "telegraph",
      "name": "Telegraph English",
      "blurb": "Rewriting prompts and documents into a compact symbolic form, and measuring which facts and relations survive the rewrite."
    },
    {
      "slug": "reasoning",
      "name": "Verifiable reasoning",
      "blurb": "Reasoning traces that can be checked mechanically, and the measurements needed to tell whether training actually improves them."
    },
    {
      "slug": "applied",
      "name": "Conversation analytics",
      "blurb": "Labelling, categorising and normalising customer conversations with LLMs under real budgets, and auditing the labels without a gold set."
    }
  ],
  "papers": [
    {
      "slug": "beyond-exponential-decay",
      "title": "Beyond Exponential Decay: Rethinking Error Accumulation in Large Language Models",
      "line": "errors",
      "part": 1,
      "status": "NeurIPS 2026 submission",
      "date": "2026-05-04",
      "authors": [
        "Mikhail L Arbuzov",
        "Sisong Bei",
        "Ziwei Dong",
        "Dmitri Kalaev",
        "Alexey Shvets"
      ],
      "tldr": "Treat every token as an equal, independent chance to fail and long outputs look doomed. Published measurements find about 9% of tokens depend on long-range context, and errors correlate, so reliability tracks key decisions, not output length.",
      "html": "https://telegrapher.ai/research/beyond-exponential-decay/",
      "md": "https://telegrapher.ai/research/beyond-exponential-decay.md",
      "pdf": "https://telegrapher.ai/papers/beyond-exponential-decay/beyond-exponential-decay.pdf",
      "post": "https://telegrapher.ai/blog/beyond-exponential-decay/",
      "json": "https://telegrapher.ai/api/papers/beyond-exponential-decay.json"
    },
    {
      "slug": "architecture-of-errors",
      "title": "The Architecture of Errors: From Universal Impossibility to Patch-Local LLM Reliability",
      "line": "errors",
      "part": 2,
      "status": "COLM 2026 workshop poster",
      "date": "2026-08-04",
      "authors": [
        "Mikhail L Arbuzov",
        "Sisong Bei",
        "Ziwei Dong",
        "Dmitri Kalaev",
        "Alexey Shvets"
      ],
      "tldr": "No finite fix list covers every failure mode of open-ended LLM use. Inside one deployment, published taxonomies suggest failures recur in a small catalogue, so a sufficient fix library grows slowly with sequence length, then levels off.",
      "html": "https://telegrapher.ai/research/architecture-of-errors/",
      "md": "https://telegrapher.ai/research/architecture-of-errors.md",
      "pdf": "https://telegrapher.ai/papers/architecture-of-errors/architecture-of-errors.pdf",
      "post": "https://telegrapher.ai/blog/architecture-of-errors/",
      "json": "https://telegrapher.ai/api/papers/architecture-of-errors.json"
    },
    {
      "slug": "frontier-and-localhost",
      "title": "Frontier and Localhost: How Production AI Learns Outside the Weights",
      "line": "errors",
      "part": 3,
      "status": "COLM 2026 workshop submission",
      "date": "2026-06-23",
      "authors": [
        "Mikhail L Arbuzov",
        "Sisong Bei",
        "Ziwei Dong",
        "Dmitri Kalaev",
        "Alexey Shvets"
      ],
      "tldr": "Production LLM systems are increasingly fixed by editing prompts, rules, memories, skills and tools, not weights. Across about 130 surveyed systems, that loop runs mostly as patchwork, and none governs its fixes across organisations.",
      "html": "https://telegrapher.ai/research/frontier-and-localhost/",
      "md": "https://telegrapher.ai/research/frontier-and-localhost.md",
      "pdf": "https://telegrapher.ai/papers/frontier-and-localhost/frontier-and-localhost.pdf",
      "post": "https://telegrapher.ai/blog/frontier-and-localhost/",
      "json": "https://telegrapher.ai/api/papers/frontier-and-localhost.json"
    },
    {
      "slug": "telegraph-english",
      "title": "Telegraph English: Semantic Prompt Compression via Structured Symbolic Rewriting",
      "line": "telegraph",
      "part": null,
      "status": "NeurIPS 2026 submission",
      "date": "2026-05-04",
      "authors": [
        "Mikhail L Arbuzov",
        "Sisong Bei",
        "Ziwei Dong",
        "Dmitri Kalaev",
        "Alexey Shvets",
        "Lee Mosbacker"
      ],
      "tldr": "Rewriting text so each line holds one claim, with explicit symbols for cause and contrast, cut tokens by about two fifths and lost fewer answers than LLMLingua-2's token deletion, by the widest margin on fine details.",
      "html": "https://telegrapher.ai/research/telegraph-english/",
      "md": "https://telegrapher.ai/research/telegraph-english.md",
      "pdf": "https://telegrapher.ai/papers/telegraph-english/telegraph-english.pdf",
      "post": "https://telegrapher.ai/blog/telegraph-english/",
      "json": "https://telegrapher.ai/api/papers/telegraph-english.json"
    },
    {
      "slug": "context-compression-is-not-one-thing",
      "title": "Context Compression Is Not One Thing: Readable Symbolic Re-expression vs. Coherent Summary at Matched Budget",
      "line": "telegraph",
      "part": null,
      "status": "ACL ARR 2026 submission",
      "date": "2026-05-25",
      "authors": [
        "Sisong Bei",
        "Mikhail L Arbuzov",
        "Ziwei Dong",
        "Alexey Shvets",
        "Dmitri Kalaev"
      ],
      "tldr": "Rewriting retrieved passages as pipe-separated entity-relation clauses, entities kept verbatim, beat character deletion, truncation and random subsampling at the same token budget on three multi-hop benchmarks. At a fixed budget, the form of the kept text is not a detail.",
      "html": "https://telegrapher.ai/research/context-compression-is-not-one-thing/",
      "md": "https://telegrapher.ai/research/context-compression-is-not-one-thing.md",
      "pdf": "https://telegrapher.ai/papers/context-compression-is-not-one-thing/context-compression-is-not-one-thing.pdf",
      "post": "https://telegrapher.ai/blog/context-compression-is-not-one-thing/",
      "json": "https://telegrapher.ai/api/papers/context-compression-is-not-one-thing.json"
    },
    {
      "slug": "what-survives-learned-symbolic-compression",
      "title": "What Survives Learned Symbolic Compression?",
      "line": "telegraph",
      "part": null,
      "status": "ICLR 2027 submission",
      "date": "2026-08-25",
      "authors": [
        "Sisong Bei",
        "Mikhail L Arbuzov",
        "Ziwei Dong",
        "Dmitri Kalaev",
        "Yanxin Zhang",
        "Alexey Shvets"
      ],
      "tldr": "A symbolic code's own checker accepted translations that changed the source. Scored against a constructed reference, trace translators kept less per byte than a compact structured format, and larger translators left the gap open.",
      "html": "https://telegrapher.ai/research/what-survives-learned-symbolic-compression/",
      "md": "https://telegrapher.ai/research/what-survives-learned-symbolic-compression.md",
      "pdf": "https://telegrapher.ai/papers/what-survives-learned-symbolic-compression/what-survives-learned-symbolic-compression.pdf",
      "post": "https://telegrapher.ai/blog/what-survives-learned-symbolic-compression/",
      "json": "https://telegrapher.ai/api/papers/what-survives-learned-symbolic-compression.json"
    },
    {
      "slug": "relational-context-compression",
      "title": "Evaluating Relational Context Compression at Realized Token Budgets",
      "line": "telegraph",
      "part": null,
      "status": "ICLR 2027 submission",
      "date": "2026-09-18",
      "authors": [
        "Sisong Bei",
        "Mikhail L Arbuzov",
        "Ziwei Dong",
        "Yan Han",
        "Dmitri Kalaev",
        "Yanxin Zhang",
        "Alexey Shvets"
      ],
      "tldr": "Asked to rewrite passages into relational text at a set token budget, two LLM encoders landed in the registered band on 33 of 9,600 outputs, and their median output ran long. Compressors should be compared at delivered lengths.",
      "html": "https://telegrapher.ai/research/relational-context-compression/",
      "md": "https://telegrapher.ai/research/relational-context-compression.md",
      "pdf": "https://telegrapher.ai/papers/relational-context-compression/relational-context-compression.pdf",
      "post": "https://telegrapher.ai/blog/relational-context-compression/",
      "json": "https://telegrapher.ai/api/papers/relational-context-compression.json"
    },
    {
      "slug": "ripplekb",
      "title": "RippleKB: Finding What an Edit Changes Across Linked Documents",
      "line": "telegraph",
      "part": null,
      "status": "ICLR 2027 submission",
      "date": "2026-08-25",
      "authors": [
        "Sisong Bei",
        "Mikhail L Arbuzov",
        "Ziwei Dong",
        "Alexey Shvets",
        "Dmitri Kalaev"
      ],
      "tldr": "Asking whether a ranking finds every statement an edit changes, not just most, reorders systems. Embedding reranking nudged BM25's recall up and completed fewer sets; one model scored well on recall while missing the edited sentence itself.",
      "html": "https://telegrapher.ai/research/ripplekb/",
      "md": "https://telegrapher.ai/research/ripplekb.md",
      "pdf": "https://telegrapher.ai/papers/ripplekb/ripplekb.pdf",
      "post": "https://telegrapher.ai/blog/ripplekb/",
      "json": "https://telegrapher.ai/api/papers/ripplekb.json"
    },
    {
      "slug": "telegraph-reasoning",
      "title": "Telegraph Reasoning: Lintable Traces for Mechanically Verified Chain-of-Thought",
      "line": "reasoning",
      "part": null,
      "status": "Preprint",
      "date": "2026-05-25",
      "authors": [
        "Sisong Bei",
        "Mikhail L Arbuzov",
        "Ziwei Dong",
        "Dmitri Kalaev",
        "Alexey Shvets"
      ],
      "tldr": "If a model writes its math reasoning as tagged lines, a rule-based linter can recompute equations and check claims in SymPy instead of asking a model to reread them. It caught 195 of 196 injected errors; self-verification, about two thirds.",
      "html": "https://telegrapher.ai/research/telegraph-reasoning/",
      "md": "https://telegrapher.ai/research/telegraph-reasoning.md",
      "pdf": "https://telegrapher.ai/papers/telegraph-reasoning/telegraph-reasoning.pdf",
      "post": "https://telegrapher.ai/blog/telegraph-reasoning/",
      "json": "https://telegrapher.ai/api/papers/telegraph-reasoning.json"
    },
    {
      "slug": "answer-accuracy-and-trace-verifiability",
      "title": "Measuring Answer Accuracy and Trace Verifiability in Mathematical Reasoning",
      "line": "reasoning",
      "part": null,
      "status": "ICLR 2027 submission",
      "date": "2026-08-25",
      "authors": [
        "Sisong Bei",
        "Mikhail L Arbuzov",
        "Ziwei Dong",
        "Yan Han",
        "Dmitri Kalaev",
        "Yanxin Zhang",
        "Alexey Shvets"
      ],
      "tldr": "On a small model's math reasoning, traces a deterministic checker accepted had the right answer about one time in three, and training the model to write checkable traces raised acceptance while lowering accuracy.",
      "html": "https://telegrapher.ai/research/answer-accuracy-and-trace-verifiability/",
      "md": "https://telegrapher.ai/research/answer-accuracy-and-trace-verifiability.md",
      "pdf": "https://telegrapher.ai/papers/answer-accuracy-and-trace-verifiability/answer-accuracy-and-trace-verifiability.pdf",
      "post": "https://telegrapher.ai/blog/answer-accuracy-and-trace-verifiability/",
      "json": "https://telegrapher.ai/api/papers/answer-accuracy-and-trace-verifiability.json"
    },
    {
      "slug": "additive-process-rewards",
      "title": "Why Additive Process Rewards Wash Out in Group-Normalized Reinforcement Learning — and What It Takes to Measure It",
      "line": "reasoning",
      "part": null,
      "status": "AAAI 2027 submission",
      "date": "2026-07-21",
      "authors": [
        "Sisong Bei",
        "Mikhail L Arbuzov",
        "Ziwei Dong",
        "Dmitri Kalaev",
        "Alexey Shvets"
      ],
      "tldr": "Under GRPO's per-group standardization, a process term added to the outcome reward cannot be tuned: its weight cancels where a group's outcomes agree and is swamped where they differ. Endpoint gains need replication and a shuffle control.",
      "html": "https://telegrapher.ai/research/additive-process-rewards/",
      "md": "https://telegrapher.ai/research/additive-process-rewards.md",
      "pdf": "https://telegrapher.ai/papers/additive-process-rewards/additive-process-rewards.pdf",
      "post": "https://telegrapher.ai/blog/additive-process-rewards/",
      "json": "https://telegrapher.ai/api/papers/additive-process-rewards.json"
    },
    {
      "slug": "same-family-halo",
      "title": "The Same-Family Halo: A Gold-Free Audit of Source-Dependent Agreement in LLM Silver Labeling",
      "line": "applied",
      "part": null,
      "status": "ICLR 2027 submission",
      "date": "2026-09-17",
      "authors": [
        "Mikhail L Arbuzov",
        "Sisong Bei",
        "Dmitry Dimov",
        "Evgeniya Dontsova",
        "Yaodong Hu",
        "Karan Dave",
        "Vincent Lao",
        "Navita Jain"
      ],
      "tldr": "An LLM labeler agrees more with silver labels written by a sibling model than with labels from other families. The contrast needs no human gold, so same-family consensus can be audited, and discounted, where gold is scarce.",
      "html": "https://telegrapher.ai/research/same-family-halo/",
      "md": "https://telegrapher.ai/research/same-family-halo.md",
      "pdf": "https://telegrapher.ai/papers/same-family-halo/same-family-halo.pdf",
      "post": "https://telegrapher.ai/blog/same-family-halo/",
      "json": "https://telegrapher.ai/api/papers/same-family-halo.json"
    },
    {
      "slug": "high-load-call-categorization",
      "title": "High-Load Budgeted Categorization of Customer Care Calls: An Encoder-LLM Cascade Solution",
      "line": "applied",
      "part": null,
      "status": "ICLR 2027 submission",
      "date": "2026-09-17",
      "authors": [
        "Mikhail L Arbuzov",
        "Sisong Bei",
        "Dmitry Dimov",
        "Evgeniya Dontsova",
        "Yaodong Hu",
        "Vincent Lao",
        "Karan Dave",
        "Navita Jain"
      ],
      "tldr": "A confidence gate lets an encoder answer roughly 87% of customer calls; with a five-label shortlist for the rest, cost falls more than 90% below an LLM reading the full list on every call. The shortlist needs its own prompt.",
      "html": "https://telegrapher.ai/research/high-load-call-categorization/",
      "md": "https://telegrapher.ai/research/high-load-call-categorization.md",
      "pdf": "https://telegrapher.ai/papers/high-load-call-categorization/high-load-call-categorization.pdf",
      "post": "https://telegrapher.ai/blog/high-load-call-categorization/",
      "json": "https://telegrapher.ai/api/papers/high-load-call-categorization.json"
    },
    {
      "slug": "clusters-are-proposals",
      "title": "Clusters Are Proposals: Discovering Hidden Subcategories in Pre-Categorized Text",
      "line": "applied",
      "part": null,
      "status": "ICLR 2027 submission",
      "date": "2026-09-17",
      "authors": [
        "Navita Jain",
        "Mikhail L Arbuzov",
        "Dmitry Dimov",
        "Evgeniya Dontsova",
        "Yaodong Hu",
        "Vincent Lao",
        "Karan Dave",
        "Sisong Bei"
      ],
      "tldr": "Recursively over-splitting each call category, then merging only the pairs an LLM confirms are duplicates, surfaced 234 subcategories against 111 from flat clustering. Redundancy was cheap, 10 merges among 244 proposals; coverage was not.",
      "html": "https://telegrapher.ai/research/clusters-are-proposals/",
      "md": "https://telegrapher.ai/research/clusters-are-proposals.md",
      "pdf": "https://telegrapher.ai/papers/clusters-are-proposals/clusters-are-proposals.pdf",
      "post": "https://telegrapher.ai/blog/clusters-are-proposals/",
      "json": "https://telegrapher.ai/api/papers/clusters-are-proposals.json"
    },
    {
      "slug": "clarify-then-focus",
      "title": "Clarify, Then Focus: Statement Normalization for Conversation Analytics at Scale",
      "line": "applied",
      "part": null,
      "status": "ICLR 2027 submission",
      "date": "2026-09-17",
      "authors": [
        "Mikhail L Arbuzov",
        "Sisong Bei",
        "Dmitry Dimov",
        "Karan Dave",
        "Evgeniya Dontsova",
        "Yaodong Hu",
        "Vincent Lao",
        "Navita Jain"
      ],
      "tldr": "Rewriting each call once into short, attributed, tagged statements improved a supervised encoder without selection, and tag-based selection helped several weaker prompted readers further. With a distilled 0.6B normalizer, no large model sits in the serving path.",
      "html": "https://telegrapher.ai/research/clarify-then-focus/",
      "md": "https://telegrapher.ai/research/clarify-then-focus.md",
      "pdf": "https://telegrapher.ai/papers/clarify-then-focus/clarify-then-focus.pdf",
      "post": "https://telegrapher.ai/blog/clarify-then-focus/",
      "json": "https://telegrapher.ai/api/papers/clarify-then-focus.json"
    }
  ],
  "people": [
    {
      "slug": "sisong-bei",
      "name": "Sisong Bei",
      "focus": "Compression, verifiable reasoning and what a model can still do with less.",
      "html": "https://telegrapher.ai/people/sisong-bei/",
      "json": "https://telegrapher.ai/api/people/sisong-bei.json"
    },
    {
      "slug": "mikhail-arbuzov",
      "name": "Mikhail L Arbuzov",
      "focus": "How errors accumulate in LLM systems, and how much of a prompt a model needs.",
      "html": "https://telegrapher.ai/people/mikhail-arbuzov/",
      "json": "https://telegrapher.ai/api/people/mikhail-arbuzov.json"
    },
    {
      "slug": "ziwei-dong",
      "name": "Ziwei Dong",
      "focus": "Error accumulation, compression and verifiable reasoning.",
      "html": "https://telegrapher.ai/people/ziwei-dong/",
      "json": "https://telegrapher.ai/api/people/ziwei-dong.json"
    },
    {
      "slug": "dmitri-kalaev",
      "name": "Dmitri Kalaev",
      "focus": "Error accumulation, compression and verifiable reasoning.",
      "html": "https://telegrapher.ai/people/dmitri-kalaev/",
      "json": "https://telegrapher.ai/api/people/dmitri-kalaev.json"
    },
    {
      "slug": "lee-mosbacker",
      "name": "Lee Mosbacker",
      "focus": "Telegraph English and how production AI systems learn outside the weights.",
      "html": "https://telegrapher.ai/people/lee-mosbacker/",
      "json": "https://telegrapher.ai/api/people/lee-mosbacker.json"
    },
    {
      "slug": "alexey-shvets",
      "name": "Alexey Shvets",
      "focus": "Error accumulation, compression and verifiable reasoning.",
      "html": "https://telegrapher.ai/people/alexey-shvets/",
      "json": "https://telegrapher.ai/api/people/alexey-shvets.json"
    }
  ],
  "posts": [
    {
      "slug": "beyond-exponential-decay",
      "title": "Long LLM outputs hinge on a few decisions, not on their length",
      "date": "2026-10-09",
      "paper": "beyond-exponential-decay",
      "html": "https://telegrapher.ai/blog/beyond-exponential-decay/",
      "md": "https://telegrapher.ai/blog/beyond-exponential-decay.md"
    },
    {
      "slug": "architecture-of-errors",
      "title": "No finite fix list covers every LLM failure, and a deployment doesn't need one",
      "date": "2026-10-09",
      "paper": "architecture-of-errors",
      "html": "https://telegrapher.ai/blog/architecture-of-errors/",
      "md": "https://telegrapher.ai/blog/architecture-of-errors.md"
    },
    {
      "slug": "frontier-and-localhost",
      "title": "Production AI learns outside the weights, without the optimizer that layer needs",
      "date": "2026-10-09",
      "paper": "frontier-and-localhost",
      "html": "https://telegrapher.ai/blog/frontier-and-localhost/",
      "md": "https://telegrapher.ai/blog/frontier-and-localhost.md"
    },
    {
      "slug": "telegraph-english",
      "title": "Rewriting a prompt loses fewer details than deleting its tokens",
      "date": "2026-10-09",
      "paper": "telegraph-english",
      "html": "https://telegrapher.ai/blog/telegraph-english/",
      "md": "https://telegrapher.ai/blog/telegraph-english.md"
    },
    {
      "slug": "context-compression-is-not-one-thing",
      "title": "Rewriting a retrieved passage beats cutting it to the same token budget",
      "date": "2026-10-09",
      "paper": "context-compression-is-not-one-thing",
      "html": "https://telegrapher.ai/blog/context-compression-is-not-one-thing/",
      "md": "https://telegrapher.ai/blog/context-compression-is-not-one-thing.md"
    },
    {
      "slug": "what-survives-learned-symbolic-compression",
      "title": "A compressed code can pass its own checker and still change the facts",
      "date": "2026-10-09",
      "paper": "what-survives-learned-symbolic-compression",
      "html": "https://telegrapher.ai/blog/what-survives-learned-symbolic-compression/",
      "md": "https://telegrapher.ai/blog/what-survives-learned-symbolic-compression.md"
    },
    {
      "slug": "relational-context-compression",
      "title": "Asked for a quarter of the context, one encoder sent back two thirds",
      "date": "2026-10-09",
      "paper": "relational-context-compression",
      "html": "https://telegrapher.ai/blog/relational-context-compression/",
      "md": "https://telegrapher.ai/blog/relational-context-compression.md"
    },
    {
      "slug": "ripplekb",
      "title": "Finding most of what an edit changed is not finding all of it",
      "date": "2026-10-09",
      "paper": "ripplekb",
      "html": "https://telegrapher.ai/blog/ripplekb/",
      "md": "https://telegrapher.ai/blog/ripplekb.md"
    },
    {
      "slug": "telegraph-reasoning",
      "title": "A linter that redoes the work catches injected errors that self-verification misses",
      "date": "2026-10-09",
      "paper": "telegraph-reasoning",
      "html": "https://telegrapher.ai/blog/telegraph-reasoning/",
      "md": "https://telegrapher.ai/blog/telegraph-reasoning.md"
    },
    {
      "slug": "answer-accuracy-and-trace-verifiability",
      "title": "A math trace that passes our checker is right about one time in three",
      "date": "2026-10-09",
      "paper": "answer-accuracy-and-trace-verifiability",
      "html": "https://telegrapher.ai/blog/answer-accuracy-and-trace-verifiability/",
      "md": "https://telegrapher.ai/blog/answer-accuracy-and-trace-verifiability.md"
    },
    {
      "slug": "additive-process-rewards",
      "title": "In GRPO, the weight on an additive process reward acts like a switch, not a dial",
      "date": "2026-10-09",
      "paper": "additive-process-rewards",
      "html": "https://telegrapher.ai/blog/additive-process-rewards/",
      "md": "https://telegrapher.ai/blog/additive-process-rewards.md"
    },
    {
      "slug": "same-family-halo",
      "title": "An LLM labeler scores higher when its sibling wrote the answer key",
      "date": "2026-10-09",
      "paper": "same-family-halo",
      "html": "https://telegrapher.ai/blog/same-family-halo/",
      "md": "https://telegrapher.ai/blog/same-family-halo.md"
    },
    {
      "slug": "high-load-call-categorization",
      "title": "Most calls never reach the LLM, and the ones that do need a different prompt",
      "date": "2026-10-09",
      "paper": "high-load-call-categorization",
      "html": "https://telegrapher.ai/blog/high-load-call-categorization/",
      "md": "https://telegrapher.ai/blog/high-load-call-categorization.md"
    },
    {
      "slug": "clusters-are-proposals",
      "title": "Rare call issues can get lost before an LLM ever sees them",
      "date": "2026-10-09",
      "paper": "clusters-are-proposals",
      "html": "https://telegrapher.ai/blog/clusters-are-proposals/",
      "md": "https://telegrapher.ai/blog/clusters-are-proposals.md"
    },
    {
      "slug": "clarify-then-focus",
      "title": "Clarify a call once, then choose what each reader sees",
      "date": "2026-10-09",
      "paper": "clarify-then-focus",
      "html": "https://telegrapher.ai/blog/clarify-then-focus/",
      "md": "https://telegrapher.ai/blog/clarify-then-focus.md"
    }
  ]
}