summaryrefslogtreecommitdiff
path: root/ROADMAP.md
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-07-16 11:17:45 -0500
committerChristian Cleberg <[email protected]>2026-07-16 11:17:45 -0500
commitf3c70e04148c57dcafead89b4e02b83e5f5635f8 (patch)
tree045a1fdae07833f2795b8a7c07161b2ddad0d23a /ROADMAP.md
parentd73c6ac381baac0ae8b0d5dfc551165591115905 (diff)
downloadhutch-f3c70e04148c57dcafead89b4e02b83e5f5635f8.tar.gz
hutch-f3c70e04148c57dcafead89b4e02b83e5f5635f8.tar.bz2
hutch-f3c70e04148c57dcafead89b4e02b83e5f5635f8.zip
chore: track the two HutchIntents TODOs in the roadmap (S1135)
SearchHutchIntent's route-to-Lookup stopgap and the absent OpenSavedSearchIntent are both gated on a global search/persistence layer Hutch lacks. Promote both to ROADMAP § "App Intent gaps" and replace the inline TODOs with plain references, clearing those two S1135 issues without losing the design intent.
Diffstat (limited to 'ROADMAP.md')
-rw-r--r--ROADMAP.md24
1 files changed, 22 insertions, 2 deletions
diff --git a/ROADMAP.md b/ROADMAP.md
index 8e32355..43c3e7c 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -244,8 +244,10 @@ Won't Fix, with reasons (resolve in SonarCloud's web UI, not in code):
- **`javascript:S7785`** — prefers top-level `await` for `injectBannerIfEnabled()`,
but `content.js` is a classic content script, not a module. Top-level `await`
would be a syntax error. Not applicable.
-- **5× `swift:S1135`** — TODO comments (INFO). Two in `HutchIntents` name real
- gaps; leave them until those features land.
+- **5× `swift:S1135`** — TODO comments (INFO). The two in `HutchIntents` named
+ real gaps and are now promoted to "App Intent gaps" below, with the inline
+ `TODO`s replaced by plain references — so those two clear. The remaining three
+ (`DeepLink`, `NotificationPreferencesViewModel` ×2) stay until addressed.
The 3 hotspots are the part actually worth thought:
@@ -315,6 +317,24 @@ sequenced after the ingest rather than planned now. Read
`api/graph/schema.graphqls` in `hub.sr.ht` before committing the version number.
The bucket may be empty.
+### App Intent gaps — unscheduled
+
+Two App Intents in `HutchIntents.swift` are placeholders for features Hutch does
+not have yet. Both are gated on the same missing capability — a global
+search/persistence layer — so neither is schedulable until that lands. (These
+were the two `swift:S1135` TODOs; promoted here so the code carries a reference
+rather than a bare `TODO`.)
+
+- **Global content search.** `SearchHutchIntent` accepts a query but routes to
+ the Lookup screen — sourcehut entity resolution — because Hutch has no
+ full-text search across tickets, repos, and lists. Its own description says
+ "Opens Hutch lookup with a search query." When a real search exists, repoint
+ the `.search` route in `SearchHutchIntent.route`.
+- **`OpenSavedSearchIntent`.** Saved searches are per-tracker only
+ (`TicketSavedFilterStore`, `ScopedSearchHistoryStore`); there is no global
+ saved-search store for an intent to open. Add the intent once global
+ saved-search persistence exists.
+
### Swift 6 language mode — no release of its own
The project builds in Swift 5 language mode with