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 { struct FuelBoardShortcuts: AppShortcutsProvider {
static var appShortcuts: [AppShortcut] { static var appShortcuts: [AppShortcut] {
// Generic parameterized shortcut matches whatever fuel word Siri // NOTE (2026-08-20): the generic parameterized shortcut ("cheapest
// resolves. Parameter resolution is flaky on-device ("cheapest diesel" // ${fuel}") was REMOVED. It competed with the fixed-fuel literal-word
// matched, "cheapest unleaded" didn't), which is why the fixed-fuel // shortcuts for the same intent (parameter resolution was already flaky
// entries below carry the fuel word as LITERAL phrase text. // on-device), which degraded Siri's NLU ranking and caused the
AppShortcut( // hit-and-miss "can't do that, searching in app" fallback. Now Siri
intent: CheapestFuelIntent(), // routes on literal fuel words only, and the freed slot keeps us under
phrases: [ // the 10-shortcut cap. Every phrase carries .applicationName (iOS 26
"Ask \(.applicationName) what's the cheapest \(\.$fuel) near me", // metadata-processor requirement) and mirrors how people actually ask.
],
shortTitle: "Cheapest Fuel",
systemImageName: "fuelpump"
)
AppShortcut( AppShortcut(
intent: CheapestFuelIntent(fuel: .e10), intent: CheapestFuelIntent(fuel: .e10),
phrases: [ phrases: [
@@ -509,6 +504,10 @@ struct FuelBoardShortcuts: AppShortcutsProvider {
"Ask \(.applicationName) for the cheapest petrol near me", "Ask \(.applicationName) for the cheapest petrol near me",
"Find the cheapest petrol near me \(.applicationName)", "Find the cheapest petrol near me \(.applicationName)",
"Find the cheapest unleaded 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", shortTitle: "Cheapest Unleaded",
systemImageName: "fuelpump" systemImageName: "fuelpump"