Proactivity

Proactivity/Recording, Sep 18, 2026 20:53
Transcript

Runs

This run
live-v1 · prompt worker · one-sentence reason only

Wall 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-23 04:29

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 16 checks

ttopscoreank_triggank_substauf_triggauf_substinfo_triginfo_substask_trigtask_subsaufnahme_macht_selms
01:00Announcement0.520.520.860.090.720.500.280.920.470.050.55366
01:30Announcement0.440.440.840.100.730.480.290.900.420.050.58369
02:00Task0.580.460.780.110.730.500.360.880.580.030.35340
02:30Missing info0.320.130.470.160.720.510.320.080.190.060.16300
03:00Missing info0.510.220.670.240.730.510.600.400.440.070.48365
03:30Announcement0.910.910.950.060.750.550.790.820.440.040.21325
04:00Announcement0.910.910.960.050.700.560.750.810.490.040.23298
04:30Announcement0.850.850.960.060.750.580.710.720.450.040.15314
05:00Announcement0.590.590.960.060.680.580.610.830.480.040.24367
05:30Announcement0.550.550.940.060.700.520.610.890.490.050.29381
06:00Announcement0.540.540.960.060.780.470.700.840.460.040.22287
06:30Announcement0.890.890.970.050.720.520.620.900.430.030.16331
07:00Announcement0.900.900.970.070.740.530.630.890.460.030.12304
07:30Announcement0.940.940.960.070.710.660.630.860.510.030.11354
08:00Missing info0.620.220.940.070.720.620.630.290.240.110.12320
08:30Missing info0.570.290.880.140.730.670.570.280.300.090.13307

Raw data

JSON
Builder
tools/build_proactivity.py in the site repo