Repository navigation
Align MCP checks with the morning brief - #1824
Closed
serefyarar wants to merge 2 commits into
Closed
serefyarar wants to merge 2 commits into
serefyarar wants to merge 2 commits into
Conversation
Most matches arrive in the minutes after an intent is created, then the day is quiet. Clients now check once in the owner's 8am hour and shortly after an intent changes, and they bring an update only when someone new is waiting or a question is open. The brief keeps three question slots, and collapses the same ask rephrased across intents to one line per counterpart and scope. Co-authored-by: Seref Yarar <serefyarar@users.noreply.github.com>
The template signs the unsubscribe link, so the test supplies BETTER_AUTH_SECRET when the environment has none. Co-authored-by: Seref Yarar <serefyarar@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
A QA pass on the dev Index MCP server showed clients being told to poll every 5 minutes and to surface every question, note, and match as it arrived. On seref's dev account, about 80% of matches and turns land within 5 minutes of an intent being created, then the account is quiet for 10–12 hours. In the last 24 hours only 1 of 16 match events was a new person. Questions pile up as copies: 18 pending questions collapse to 9 by person and topic. Shawn Cheng's spatial-intelligence question appears 5 times because several near-identical intents each ask it. One negotiation also stated availability the owner never gave.
The morning brief already has the right rhythm: once a day in the owner's local 8am hour, only when someone new is waiting or a question is open, at most 4 people, 3 questions and 2 notes, each person once, already-connected people listed apart.
What changed
MCP_INSTRUCTIONSnow tells clients to do what the brief does: check once in the 8am hour of the profile timezone, and again one or two minutes after an intent is created or changed. Bring an update only when someone new is waiting or a question is still open. The choice-prompt paragraph and onboarding are unchanged. Onboarding still says to look again in a minute or two while discovery warms up; that is a one-time check, not a poll.Dedup key
counterpartyId+scope(intentormatch).Opportunity-scoped asks store both on
principalMessage.matches[0](counterparty.idandscope: "match"). That pair is stable across intents; the question text is not, which is why Shawn's five wordings are one question. An opportunity id is a poor key on its own, because each intent has its own opportunity with the same person. When the match tag is missing and an opportunity id is present, the query resolves the other seat fromopportunities.actors. Questions with neither fall back to normalized text.scopeis onlyintentormatch. There is no stored topic. Two different match-scoped questions about the same person therefore share one slot (the oldest). That matches "ask once" for the repeated spatial-intelligence case, and it can hide a second, genuinely different ask about that person.Tests
bun teston those two files: 6 passed.eslint src/inservices/apiis clean aside from an existing unused-import warning inintent.database.adapter.ts.tsc --noEmitpasses after the protocol, client, and agent packages are built.