siri: drop generic shortcut and broaden fuel-word phrases

Siri was hit-and-miss on 'unleaded near me' (\u2018can't do that, searching
in app\u2019 fallback). The generic parameterized AppShortcut ('cheapest
${fuel}') competed with the fixed-fuel literal-word shortcuts for the same
intent, degrading NLU ranking; it was already documented as flaky. Remove it
(now 9 shortcuts, under the 10 cap) and add natural phrase variants for
unleaded/petrol ('What's the cheapest unleaded near me', 'Cheapest unleaded
near me', 'Where's the cheapest petrol'). All phrases keep .applicationName
per the iOS 26 metadata requirement. Build-verified in extract.actionsdata:
generic gone, new phrases registered.
This commit is contained in:
FuelBoard Contributor
2026-08-20 19:27:34 +01:00
parent 9342ccc7c9
commit ed41df46de
+12 -13
View File
@@ -489,19 +489,14 @@ struct FuelMessageSnippetIntent: SnippetIntent {
struct FuelBoardShortcuts: AppShortcutsProvider {
static var appShortcuts: [AppShortcut] {
// Generic parameterized shortcut matches whatever fuel word Siri
// resolves. Parameter resolution is flaky on-device ("cheapest diesel"
// matched, "cheapest unleaded" didn't), which is why the fixed-fuel
// entries below carry the fuel word as LITERAL phrase text.
AppShortcut(
intent: CheapestFuelIntent(),
phrases: [
"Ask \(.applicationName) what's the cheapest \(\.$fuel) near me",
],
shortTitle: "Cheapest Fuel",
systemImageName: "fuelpump"
)
// NOTE (2026-08-20): the generic parameterized shortcut ("cheapest
// ${fuel}") was REMOVED. It competed with the fixed-fuel literal-word
// shortcuts for the same intent (parameter resolution was already flaky
// on-device), which degraded Siri's NLU ranking and caused the
// hit-and-miss "can't do that, searching in app" fallback. Now Siri
// routes on literal fuel words only, and the freed slot keeps us under
// the 10-shortcut cap. Every phrase carries .applicationName (iOS 26
// metadata-processor requirement) and mirrors how people actually ask.
AppShortcut(
intent: CheapestFuelIntent(fuel: .e10),
phrases: [
@@ -509,6 +504,10 @@ struct FuelBoardShortcuts: AppShortcutsProvider {
"Ask \(.applicationName) for the cheapest petrol near me",
"Find the cheapest petrol near me \(.applicationName)",
"Find the cheapest unleaded near me \(.applicationName)",
"What's the cheapest unleaded near me \(.applicationName)",
"What's the cheapest petrol near me \(.applicationName)",
"Cheapest unleaded near me \(.applicationName)",
"Where's the cheapest petrol \(.applicationName)",
],
shortTitle: "Cheapest Unleaded",
systemImageName: "fuelpump"