Runs
This run
live-v1 · prompt
worker · one-sentence reason onlyWall clock
Transcript lag
15 s
Gate tick
every 30 s on the last 90 s
Gate model
jev-latest (TypeSafe.ai)
Threshold
0.6 on min(trigger, substance), debounce 60 s
Push
5 s
Visible at
tick + model latency + push
Built
2026-09-24 16:27
Gate questions
Paired questions are combined as min(trigger, substance). "macht_selbst" is a suppressor and shown, not used in the score.
ank_triggerKuendigt jemand an, etwas spaeter zu tun, zu besprechen oder zu klaeren?
ank_substanzGeht es bei dem, was angekuendigt oder vertagt wird, um Arbeit, Firma, Geld, Zahlen, Termine, Buchungen oder Organisation, nicht um Essen, Trinken oder Witze?
auf_triggerDeutet das Gespraech darauf hin, dass die Gruppe in den naechsten Minuten aufbricht oder den Ort wechselt?
auf_substanzIst noch ungeklaert, wie oder womit die Gruppe weiterkommt, oder wohin genau sie geht?
info_triggerFehlt der Gruppe eine konkrete Information oder Zahl, die keiner der Anwesenden kennt?
info_substanzHaengt an dieser fehlenden Information eine Entscheidung, die die Gruppe jetzt oder gleich treffen will?
task_triggerWird eine Aufgabe erwaehnt, die jemand spaeter noch erledigen muss?
task_substanzIst diese Aufgabe eine Arbeits- oder Organisationsaufgabe mit Nachverfolgung, zum Beispiel jemandem schreiben, etwas nachschlagen, etwas buchen oder berechnen?
aufnahme_sorgeAeussert jemand Unbehagen darueber, dass das Gespraech aufgezeichnet wird?
macht_selbstIst die Gruppe gerade aktiv dabei, genau die Sache selbst zu erledigen, bei der Hilfe nuetzlich waere, zum Beispiel bestellen, bezahlen, eine App bedienen?
Card model prompt
You are a silent assistant accompanying {OWNER} through the day. You have access to web, maps, apps, bookings, notes and messages. You may show at most one silent card on the phone. You never speak.
TIME: It is now {NOW} on the recording. The transcript lags {ASR_DELAY} seconds behind, so you only see up to {SEEN}. Your card becomes visible roughly 10 to 30 seconds AFTER now, depending on how long you take.
A pre-filter has just fired: signal "{SIGNAL}" at {CONF}. The pre-filter is often wrong. You decide.
RULES:
- Show a card only if the need still exists at the moment the card becomes visible. Anything a person finishes in under 30 seconds (typing a code, opening an app, asking the table) is not worth a card.
- Announced things, plans for later, places to find, things to book, cleanup work and capturing ideas last long and make good cards.
- Never invent numbers, prices, addresses or codes. Use placeholders in square brackets.
- The transcript is machine generated and noisy.
- Write all free text in the language the people are speaking.
Think it through explicitly. Answer ONLY with JSON, no markdown:
{{
"beobachtung": "what in the transcript made you consider a card: quote with timestamp",
"vorhersage": "what the group will need when the card is visible, and for how long",
"reasoning": "3 to 5 sentences: why now, why not later, what the latency does to this, what you know from earlier",
"alternativen": [{{"karte": "another card you considered", "verworfen_weil": "why you rejected it"}}],
"karte": true,
"kategorie": "<one of: transport, place, food, booking, followup, idee_notieren, unit_economics, code, aufnahme_schnitt, sonstiges>",
"titel": "max 6 words", "zeile": "max 15 words",
"aktion": "what a single tap does",
"optionen": ["up to 3 choices the card offers, each max 6 words"],
"haltbar_s": <seconds the need will still exist>,
"konfidenz": <0.0 to 1.0>,
"risiko": "when this card would be annoying or wrong",
"grund": "one sentence"
}}
or, when you stay silent:
{{"beobachtung": "...", "reasoning": "...", "alternativen": [{{"karte": "...", "verworfen_weil": "..."}}], "karte": false, "grund": "one sentence"}}
=== TRANSCRIPT UP TO {SEEN} ===
Gate sweep, all 15 checks
| t | top | score | ank_trigg | ank_subst | auf_trigg | auf_subst | info_trig | info_subs | task_trig | task_subs | aufnahme_ | macht_sel | ms |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01:00 | Announcement | 0.58 | 0.66 | 0.58 | 0.37 | 0.81 | 0.59 | 0.56 | 0.57 | 0.44 | 0.17 | 0.14 | 567 |
| 01:30 | Departure | 0.67 | 0.60 | 0.56 | 0.67 | 0.76 | 0.54 | 0.60 | 0.59 | 0.36 | 0.13 | 0.24 | 583 |
| 02:00 | Departure | 0.67 | 0.59 | 0.56 | 0.67 | 0.83 | 0.53 | 0.62 | 0.56 | 0.32 | 0.15 | 0.21 | 552 |
| 02:30 | Departure | 0.75 | 0.30 | 0.28 | 0.75 | 0.87 | 0.55 | 0.62 | 0.24 | 0.13 | 0.16 | 0.16 | 592 |
| 03:00 | Departure | 0.58 | 0.35 | 0.28 | 0.58 | 0.83 | 0.51 | 0.56 | 0.19 | 0.11 | 0.24 | 0.22 | 538 |
| 03:30 | Missing info | 0.52 | 0.70 | 0.45 | 0.48 | 0.80 | 0.52 | 0.52 | 0.57 | 0.38 | 0.22 | 0.23 | 584 |
| 04:00 | Departure | 0.63 | 0.69 | 0.59 | 0.63 | 0.70 | 0.53 | 0.62 | 0.76 | 0.39 | 0.12 | 0.22 | 614 |
| 04:30 | Departure | 0.64 | 0.59 | 0.42 | 0.64 | 0.74 | 0.54 | 0.56 | 0.69 | 0.39 | 0.12 | 0.28 | 549 |
| 05:00 | Missing info | 0.55 | 0.38 | 0.24 | 0.49 | 0.86 | 0.55 | 0.61 | 0.36 | 0.17 | 0.13 | 0.31 | 531 |
| 05:30 | Missing info | 0.55 | 0.78 | 0.27 | 0.50 | 0.86 | 0.61 | 0.55 | 0.25 | 0.10 | 0.18 | 0.33 | 565 |
| 06:00 | Missing info | 0.51 | 0.75 | 0.34 | 0.50 | 0.84 | 0.62 | 0.51 | 0.24 | 0.10 | 0.11 | 0.23 | 564 |
| 06:30 | Missing info | 0.59 | 0.69 | 0.55 | 0.47 | 0.85 | 0.62 | 0.59 | 0.72 | 0.47 | 0.10 | 0.21 | 576 |
| 07:00 | Missing info | 0.54 | 0.59 | 0.48 | 0.38 | 0.76 | 0.54 | 0.55 | 0.67 | 0.28 | 0.10 | 0.19 | 541 |
| 07:30 | Missing info | 0.58 | 0.45 | 0.38 | 0.48 | 0.87 | 0.58 | 0.65 | 0.37 | 0.25 | 0.16 | 0.18 | 613 |
| 08:00 | Missing info | 0.62 | 0.54 | 0.37 | 0.56 | 0.87 | 0.62 | 0.63 | 0.20 | 0.11 | 0.14 | 0.22 | 521 |