Proactivity

Proactivity/Recording, Sep 18, 2026 21:09
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:54

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

ttopscoreank_triggank_substauf_triggauf_substinfo_triginfo_substask_trigtask_subsaufnahme_macht_selms
01:00Missing info0.260.050.530.230.760.380.260.050.100.050.14327
01:30Missing info0.450.160.510.150.680.450.600.500.210.060.47358
02:00Missing info0.470.130.280.170.740.470.560.280.160.080.45322
02:30Missing info0.490.170.330.200.750.490.500.360.220.070.43343
03:00Missing info0.360.090.200.220.760.500.360.090.130.110.32368
03:30Missing info0.290.090.390.170.780.500.290.190.160.040.27344
04:00Missing info0.220.080.490.120.750.490.220.090.140.040.19315
04:30Missing info0.240.070.560.090.760.490.240.090.120.040.14323
05:00Missing info0.230.080.540.080.780.470.230.100.090.040.11315
05:30Missing info0.220.070.570.080.750.470.220.080.090.080.09340
06:00Missing info0.300.250.670.070.840.640.300.110.130.090.14306
06:30Missing info0.290.150.630.060.820.630.290.080.100.060.08339
07:00Missing info0.260.120.630.070.790.430.260.090.130.040.09375
07:30Missing info0.210.170.760.070.770.610.210.100.120.040.09297
08:00Missing info0.160.130.680.080.670.550.160.080.090.030.11368
08:30Missing info0.220.090.730.090.700.550.220.080.110.070.14354
09:00Departure0.340.290.810.340.740.510.260.130.140.040.21324
09:30Announcement0.250.250.690.190.710.470.230.120.120.030.17307
10:00Missing info0.310.120.710.140.780.530.310.130.160.040.14331
10:30Missing info0.200.070.600.090.750.500.200.100.120.040.12305
11:00Missing info0.310.150.670.180.830.530.310.150.150.040.13325
11:30Task0.620.570.760.090.800.640.380.760.620.050.40281
12:00Announcement0.500.500.550.110.760.530.300.670.420.050.28304
12:30Task0.470.350.350.120.760.530.310.490.470.050.32377
13:00Missing info0.370.100.210.180.790.450.370.250.160.050.43375
13:30Missing info0.220.070.210.120.770.510.220.290.140.050.21317
14:00Missing info0.350.450.330.230.770.600.350.520.160.040.11296
14:30Task0.570.550.410.120.680.540.400.570.600.040.49344
15:00Task0.590.600.480.090.720.780.230.650.590.040.35319
15:30Missing info0.510.410.690.320.790.790.510.350.580.050.54329
16:00Departure0.460.400.320.460.770.770.440.280.280.050.59341
16:30Departure0.730.290.220.730.840.480.580.360.350.080.51329
17:00Departure0.740.180.170.740.790.520.410.150.110.100.38343
17:30Departure0.660.240.210.660.840.560.430.110.100.110.21336
18:00Departure0.500.270.160.500.810.500.290.110.090.070.11331
18:30Missing info0.360.250.170.260.780.470.360.160.120.090.11328
19:00Missing info0.270.150.210.250.790.450.270.120.090.080.12457
19:30Missing info0.360.120.280.240.810.470.360.100.090.120.14346
20:00Recording concern0.410.300.230.180.750.510.270.370.130.410.40278
20:30Recording concern0.490.230.340.430.780.520.370.240.170.490.51428
21:00Missing info0.590.200.500.300.820.620.590.260.190.130.59478
21:30Missing info0.510.210.510.220.770.530.510.230.160.070.45541
22:00Announcement0.670.840.670.130.760.580.640.540.190.060.54292
22:30Announcement0.710.840.710.150.770.650.490.410.210.040.33347
23:00Announcement0.520.590.520.190.760.550.500.180.190.060.31339
23:30Missing info0.390.140.400.160.800.650.390.080.100.080.15298
24:00Announcement0.890.910.890.270.560.570.520.520.490.050.13300
24:30Announcement0.850.850.920.200.610.620.530.290.410.050.11331
25:00Announcement0.820.820.900.160.680.610.260.370.240.040.08381
25:30Missing info0.180.090.570.120.720.610.180.100.080.060.05361
26:00Missing info0.160.100.530.090.670.630.160.080.060.050.05528
26:30Missing info0.160.100.560.110.800.730.160.080.100.040.08329
27:00Missing info0.240.120.580.110.810.740.240.100.130.050.11313
27:30Missing info0.350.100.680.280.800.740.350.100.240.080.10350
28:00Missing info0.340.150.500.250.800.610.340.150.260.130.14334
28:30Departure0.320.200.650.320.800.640.280.120.220.110.11298
29:00Departure0.770.240.620.770.800.650.400.190.160.040.20317
29:30Departure0.750.390.720.790.750.600.380.290.140.320.15406
30:00Departure0.470.390.540.470.710.580.360.310.150.090.47321
30:30Missing info0.400.160.280.370.750.520.400.150.170.080.44322
31:00Missing info0.590.170.430.330.780.600.590.360.620.080.51289
31:30Missing info0.510.180.400.300.760.590.510.370.610.080.60354
32:00Missing info0.350.140.220.240.750.590.350.320.400.050.46349
32:30Missing info0.340.080.180.200.730.500.340.230.130.060.25331
33:00Missing info0.350.170.310.250.790.510.350.400.280.050.24301
33:30Departure0.500.180.400.500.760.490.300.320.260.060.38279
34:00Departure0.310.140.380.310.810.480.280.250.240.070.26358
34:30Missing info0.560.130.370.360.780.570.560.210.140.060.21347
35:00Missing info0.520.120.230.490.760.560.520.220.120.050.36285
35:30Missing info0.590.210.130.350.810.610.590.190.140.050.44300
36:00Announcement0.570.570.620.310.760.510.560.630.440.070.52296
36:30Task0.530.420.790.280.690.450.560.600.530.060.66332
37:00Task0.570.430.700.280.760.480.530.570.570.080.61328
37:30Task0.640.530.630.250.810.500.430.680.640.120.42295
38:00Task0.680.520.570.240.830.620.460.710.680.080.39306

Raw data

JSON
Builder
tools/build_proactivity.py in the site repo