claire / loops
Claire · Loops

A loop is a thread,
not a task.

A loop is one thing you still owe someone, or that someone still owes you. It opens when a conversation creates an obligation, changes as the conversation changes, and closes when the conversation resolves it — as a single item, not a pile of fragments.

01 / The life of a loop

One row, six changes.

Plans are not made in one message. They get proposed, negotiated, confirmed, amended, and finished. A system that reads messages one at a time sees six unrelated commitments here. Claire keeps one loop and updates it.

Mon 09:12 Proposed

PriyaWe should catch up — coffee next week?

Opened, but not on your list. An idea is not yet a commitment.

Mon 09:20 Negotiating

YouYes! Tuesday or Wednesday?

Same loop. Two candidate days, still nothing to act on.

Tue 18:03 Pending

PriyaWednesday works. 3pm?

A time appears, but nobody has agreed to it yet.

Tue 18:05 Agreed

YouPerfect, see you Wed at 3.

Now it is real. This is the first moment Claire offers to put it in your calendar.

Wed 14:47 Amended

PriyaRunning 15 late!

Still the same loop. The calendar event is updated, not duplicated.

Wed 17:30 Resolved

YouGreat seeing you

Closed by the conversation. You never had to tick anything.

Why the early states stay quiet. “How about Tuesday?” is not a plan. Surfacing it would fill your list with things nobody has committed to. A loop only becomes actionable — and only then can a plugin offer to do something about it — once the conversation actually agrees.

02 / What Claire ignores

Being useful in a group means staying quiet.

In a group chat, most commitments are between other people. Claire scores every candidate against a fixed set of signals before it will show you anything. The score is deterministic — no model decides this — so the same message always gets the same answer, and the answer can be explained.

Not your loop
Aunt RitaSam, can you pick up the cake on Saturday?
SamYep, I got it.
  • named someone else
  • no mention of you
  • not a reply to you

A real commitment, correctly ignored. It was made by someone else, to someone else.

Your loop
Aunt Rita@you are you bringing the drinks?
Youyeah I'll grab them Friday
  • you committed
  • you were mentioned

Your own words bind you. Committing to something is enough on its own, whatever the size of the group.

Not your loop
Dana@channel standup moved to 10 tomorrow
  • addressed to everyone
  • large channel

@channel mentions everyone, which is evidence a message is not aimed at you. Reading it as a mention would turn every announcement into a task.

Your loop
Dana@here — @you can you own the migration doc?
  • you were mentioned
  • broadcast present

A personal mention inside a broadcast still reaches you. Being in a busy channel never cancels out someone naming you directly.

03 / Per-conversation control

You decide how closely Claire watches.

The default is deliberately conservative. Some conversations deserve more attention than that, and some deserve none — so the threshold is a per-chat setting rather than a global one.

Setting What surfaces Good for
off Nothing, ever — including things you commit to yourself. Chats you never want tracked.
low Only unambiguous cases: you were named, or you committed. High-traffic channels you skim.
normal The balanced default. Suppresses work assigned to other people. Most conversations.
high Also surfaces unclaimed work — “someone needs to own this” — for you to claim or dismiss. A project channel you are responsible for.

Group chats start at normal, but channel-based platforms like Slack start at low. A work channel produces far more traffic than a family group and almost none of it is addressed to any one person — so you opt channels in, rather than having to opt a firehose out.

04 / Loops meet plugins

From noticing to doing.

A loop that only reminds you is a nicer to-do list. A loop becomes useful when it can actually be closed — the calendar event created, the task filed, the reply drafted. Plugins are how that happens, and every step keeps you in control.

01Conversation
→
02Loop reaches agreed
→
03Plugin proposes an action
→
04You approve it
→
05Receipt, with undo

Detection is not permission

Noticing a date in a message never authorises creating an event. A plugin can propose; only you can approve. Anything that leaves Claire — an invite, a message, a shared note — always shows you the exact fields and destination first.

Plugins can open loops too

It runs both ways. A calendar plugin that sees an unanswered invite for tomorrow can open a loop for it, even though no message ever mentioned it.

What a plugin can see

By default a plugin receives the structured loop — title, owner, deadline, participant names — and not your raw messages. Sending message text requires a separate, explicit grant.

Everything is reversible

Every action writes a receipt showing what was done and where. You can undo it, disable the rule, or disconnect the account entirely.

05 / Anatomy of a loop

What you see when you open one.

The details page answers three questions: what is this, where did it come from, and what can I do about it.

Part What it tells you
State Open, waiting, snoozed, or done — plus who owes the next move, and when it is due. Snoozing moves the reminder without erasing the date you actually agreed to.
Summary One line describing where the loop stands right now, updated as it changes.
Timeline The messages that created and changed it, in order, each linking back to the conversation. Nothing is asserted without the evidence for it.
People Who is involved, and which of them owns it.
Actions What a connected plugin offers — always as a proposal you approve.
06 / What we hold to

The rules behind the behaviour.

Silence is never resolution

Claire closes a loop only on explicit evidence that it happened, was cancelled, or stopped mattering. A conversation going quiet is not proof of anything, and a wrongly-closed loop is a broken promise.

A missed loop beats a wrong one

When it is unsure, Claire stays quiet. One wrong item makes you doubt every other item in the list; a missed one is a gap you can still fill yourself.

Your edits win

Change a deadline or an owner and Claire will not quietly overwrite it. It can suggest a change, and you decide.

Messages are data, not instructions

Text arriving from other people can never change what Claire is allowed to do, what needs your approval, or where an action is sent — no matter what it says.