routerAG

The welcome chat that explains the product and links to the page

What it is

routerAG is the voice on Welcome. It explains how the product works and puts a link on the page name. It is not the personalize agent. That agent stays on Personalize and is the only chat that saves a fact about the person.

The admin agents list shows it as router-ag, kind persona, on the same model as the host persona. The card's prompt is the text below. The welcome room uses that text as its whole system prompt. It does not load the host persona, and it does not load the person's account memory.

The prompt

You are the welcome router for Zooly. People ask you how the product works and where to do something. Answer in one or two sentences and include the link from the matching system section when one matches.

You do not learn facts about this person. Never say you will remember, store, or keep anything. If they want to teach you about themselves, or set a preference for how offers are handled (a minimum offer, a rate, what they will or will not accept), do not apply it and do not say it is already set. Tell them to open Personalize to set that preference, and include the Personalize link. The sentence must make clear that they are the one who sets it there.

Use the general FAQ for what Z is. Use the system sections for where a page is. When a section includes a Link, put that URL on the section name as a markdown link. Write the sentence yourself. Do not say you read an FAQ.

Two lists, one classifier

The reply is not written from one new brain. Two lists that already live in the product are picked, then routerAG writes the sentence.

The About-FAQ is the one the product already had. It answers what Z is. The skill that updates the Sys-FAQ does not touch it.

The Sys-FAQ is the new list: a page name, what a person does there, and the path. That is how the chat knows where to send someone. The Sys-FAQ is saved in packages/z-agent/srv/src/sys-faq.ts.

When we talk about the two lists, each has a name:

  • About-FAQ — the general FAQ, the one about what Z is
  • Sys-FAQ — the system sections, the list of pages and their paths

On Welcome, both lists are read by the same classifier. JEV is the one that runs. It compares the person's words with each Sys-FAQ description, and, in a second pass, with the About-FAQ. Personalize does not send the Sys-FAQ to JEV. "Where can I update my infos?" and "How do I set my profile image?" can land on the same Sys-FAQ entry, because JEV matches the meaning, not a stored question. At most two Sys-FAQ entries come back. Either pick can be nothing.

If JEV does not answer, Gemini Flash Lite makes the same pick. The reply still goes out if both fail. The link, when there is one, is the path from the section plus the app address from the environment.

If the lists are too long for JEV to process, we need to break them into multiple calls in parallel.

One turn

Which chat comes first. Welcome then runs JEV twice: once for a dashboard section, once for a general FAQ answer. Personalize does not run the dashboard-section JEV. It only picks a general FAQ answer, and a page question is sent to Welcome by the prompt.

On Personalize the two things happen together. The page list is not one of them.

On Welcome, the two pickers are JEV, the classifier the product already uses for the About-FAQ. They run together, before the reply. Each one may choose nothing. A match has to clear a low bar, and at most two Sys-FAQ entries come back. If JEV does not answer, Gemini Flash Lite tries the same pick. If that also fails, that side is empty and the reply still goes out. Personalize does not run the Sys-FAQ picker.

On Welcome, a matched Sys-FAQ entry is handed to the model like this. There is no stored question and no stored reply. The host in Link is the app address from the environment.

Section: Profile & settings
About: name, photo, personal details, and the picture brands see
Link: https://<app>/dashboard/settings/profile

"Where can I update my infos?" and "How do I set my profile image?" both land here, because the picker matches the Sys-FAQ entry, not one sample question. The model writes one or two sentences in its own words and puts that URL on Profile & settings.

On Personalize, the page list is not loaded and the page picker does not run. A standing line in the prompt says: if they ask how a page works or where something is, do not answer and do not do the task. Send them to Welcome and include that link. Memory still runs. Its writer has one extra line: do not store information about website navigation.

So Memory created never appears on Welcome. On Personalize it still can, including after a page question, as long as they also said something about themselves.

One list for every account. The chips on the welcome screen can be fewer. The chat can still name the page. A talent who asks how to add a roster gets the Add link. Merch stays available even when it is not in the agent menu.

SectionWhat it covers
Profile & settingsname, photo, and personal details
Personalizewhat the person wants and how they like deals
Test agenta sample offer, the way a brand would send one
Your Z Linkthe address people use to reach the agent
Adda talent, a brand, or a roster from a spreadsheet
Campaignswho they want and what they are offering
Merch historyorders from the stores
Merch storeproducts fans can buy
PhotoBombthe fan photo campaign

A fact about the person ("I play guitar", "my rate is 500") is not one of these. On Welcome, routerAG points them at Personalize. On Personalize, the host persona answers and memory can be written.

The update skill

The list does not refresh itself when a screen is added or renamed. A skill named update-sys-faq is the way to rebuild it. It does not run inside the welcome chat. Someone asks the coding agent to update the Sys-FAQ, and the agent follows the skill.

Each item the skill writes is three fields:

  • section, the page name the link sits on, such as Profile & settings
  • about, what a person does there, wide enough that "update my infos" and "change my photo" can land on the same page
  • path, the dashboard path only, starting with /dashboard/

The site host is not written into that list. At reply time the path is joined to the app address from the environment. The same list is for a talent, a brand, and an agency. Merch pages stay in it even when they are not in the agent menu. The About-FAQ, the one about what Z is, is a different list and the skill does not touch it.