Skip to main content
Topics are where Runwita stops being a notes app and starts being something else. A topic is a recurring thread, a thing that comes up in multiple conversations, that you want to track over time. “Licensing model”, “Phase 2 timeline”, “Onboarding flow redesign”. Each topic has a state (open, blocked, resolved), a category, and a chronological log of touchpoints across engagements.

Why topics exist

In conventional notes apps, every conversation is a flat island. You search for “licensing” and you get five separate transcripts, each with their own context, and you have to mentally stitch the arc back together. The thread isn’t first-class. In Runwita, the thread is the object. The engagements are how the thread accumulates new state. When you scroll a topic, you see:
  • The current state (e.g. Open or Blocked).
  • Every prior touchpoint, in order, with the engagement it came from and what was said about the topic in that conversation.
  • A category (technical, commercial, governance, planning, relationship).
  • A status timeline, when it became blocked, when it cleared, when it was resolved.
That’s the value: the question “where did we land on the licensing question?” is one click, not a search.

How topics get created

You don’t create topics manually. They’re created by the AI during the topic-matching step that runs when you save an engagement. For each section in your extracted engagement, the AI looks at:
  • The section’s heading and body.
  • The journey’s existing topics (their titles, statuses, categories).
It decides: does this section continue an existing topic, or is it a new thread? If it’s continuing, the section becomes a new touchpoint on that topic. If it’s new, a new topic is created. A few rules the matcher follows:
  • Substance, not section title. “License discussion” and “Annual licensing renewal” are the same topic, not two. The matcher looks at content overlap.
  • No fragmenting. A topic only appears once per engagement, even if multiple sections discussed it. The matcher merges them into one touchpoint.
  • Logistics aren’t topics. Greetings, scheduling the next conversation, off-topic chitchat don’t get topics. Only substantive recurring threads do.
  • 2 to 6 topics per engagement. That’s the matcher’s target band. Not every section needs its own topic.

Topic state

Each topic has a status that reflects where it stands. The status is derived from the chronological history of touchpoints on the topic, ordered by engagement date.
StateWhat it means
OpenActive discussion, no impediment. The default state for any new topic and any topic that’s moving forward.
BlockedAn impediment was raised and not yet cleared. “We can’t proceed until legal signs off.”
ResolvedThe topic is complete, no more discussion expected. Terminal.
StaleNo touchpoint in a long time (configurable per topic). Auto-flagged so the journey doesn’t quietly leak attention.

The blocked-is-sticky rule

Status follows two simple rules:
  1. Resolved is terminal. Once a topic is resolved, it stays resolved unless you explicitly reopen it.
  2. Blocked is sticky. Once a touchpoint marks a topic blocked, the topic stays blocked until a later touchpoint actively clears it. A bare discussed touchpoint after blocked does not clear the block. The block is only cleared by a touchpoint with state progressed, decided, or resolved.
This is intentional. Real blockers don’t dissolve because the topic got mentioned again. “We’re still waiting on legal” doesn’t unblock anything; “Legal signed off” (a progressed or decided touchpoint) does.

How touchpoint states map

The states a touchpoint can carry are slightly richer than the topic states themselves:
Touchpoint stateEffect on topic status
discussedStays as-is. Won’t clear a blocked topic. Sets a fresh topic to open.
progressedSets to open. Clears blocked.
decidedSets to open. Clears blocked. The decision itself is recorded as a Decision on the engagement.
blockedSets to blocked.
resolvedSets to resolved (terminal).

Out-of-order processing

Topic status is computed from the touchpoints’ engagement dates, not the order in which you processed them. If you process an Apr 22 conversation first and then later push a back-dated Apr 10 one, the older one doesn’t clobber the newer state. The system always reads the chronological tail, regardless of when you got around to processing each piece.

Categories

Each topic has a category, used for filtering and visual grouping on the journey page. Five categories:
  • Technical, architecture, integration, infrastructure, data.
  • Commercial, pricing, licensing, contracts, terms.
  • Governance, compliance, security, privacy, audit.
  • Planning, timelines, milestones, scope, capacity.
  • Relationship, stakeholder dynamics, communication patterns, escalations.
The category is set by the AI on creation. You can edit it on the topic detail page if it’s wrong.

Reading the topic timeline

Click any topic on a journey page to see its touchpoint history. Each row is one engagement that touched the topic, with:
  • The date of that engagement.
  • The state at that touchpoint.
  • A brief note (one to two sentences from the AI summarising what was said about this topic in that conversation).
Scroll the timeline and you read the arc of the topic, not the engagements.

Editing topics

Topics are editable. From a topic’s detail page you can:
  • Rename the topic.
  • Change its category.
  • Manually flip its status (e.g. mark something resolved before the next engagement confirms it).
  • Edit individual touchpoint notes.
  • Delete the topic (which removes all its touchpoints; the underlying engagements stay intact).
Stale-after-days is also editable per topic. Some topics move weekly, some are quarterly. The auto-stale threshold isn’t one-size-fits-all.

When topics go wrong

Topic matching is imperfect. The two failure modes you’ll see: Over-fragmentation. The matcher creates a new topic when it should have continued an existing one. Usually because the engagement section was worded differently from the existing topic’s title. Fix: open both topics, edit one to match, and either re-run extraction (Reprocess with AI) or manually move touchpoints. Over-merging. The matcher attaches a section to the wrong existing topic because the surface words overlap but the substance is different. Less common but harder to spot, you usually catch it weeks later. Fix: split the touchpoint off into a new topic from the topic detail page. If you find the matcher is consistently off on a journey, two levers help:
  1. Use a sharper, more capable model on the workhorse tier. Claude Haiku 4.5 and gpt-5 do better than gpt-5-nano on this task.
  2. Give your topics more distinctive titles. “Licensing” matches everything; “Annual licensing renewal terms” matches only its actual thread.

What’s next

AI tiers

Frontier and Workhorse, and which one runs topic matching.