You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: PROJECT.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -653,7 +653,7 @@ FastAPI server wrapping local AI CLIs. Runs on port 8765 (configurable via `PORT
653
653
4. Only tabs without fresh coverage are formatted into compact prompts and analyzed in batches of 30 via the configured CLI provider
654
654
5. If the primary CLI fails or hits a usage limit, the server retries the batch with the fallback CLI provider
655
655
6. The extension persists partial/final run state with per-tab statuses in `analysis_runs`, so stop/resume survives reloads
656
-
7. If a batch finishes via heuristic fallback in the extension, those per-URL results are imported back through `/url-analysis/import`
656
+
7. If a batch falls back to heuristics, those per-URL results are still persisted to `url_analysis` either directly on the server or via `/url-analysis/import`, so per-tab coverage stays in sync with what the user just analyzed
657
657
8. The server stores per-URL results + session metrics in SQLite, then returns the aggregated `AnalyzeResponse`
658
658
9. The Search dialog uses `/chat` to retrieve SQLite candidates and, when useful, summarize/rank them with the same provider/model chain as AI Analysis
Copy file name to clipboardExpand all lines: SETUP.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -199,7 +199,7 @@ The AI server is a FastAPI application that proxies tab analysis requests to CLI
199
199
3. Server checks `tab_analysis.db` for fresh per-URL cache hits (180-day TTL, namespaced by provider/model settings)
200
200
4. Only tabs without fresh SQLite coverage are sent to the configured CLI provider, in batches of 30, unless `Re-analyze` is used
201
201
5. If the primary provider fails or hits a usage limit, the server automatically tries the fallback CLI provider
202
-
6. If both configured providers fail, heuristic recommendations keep the batch moving and the UI still receives structured results
202
+
6. If both configured providers fail, the server saves heuristic recommendations into `url_analysis`, so the batch still produces structured results and the same tabs stop appearing as "not yet analyzed"
203
203
7. After each batch, the extension persists partial/final analysis run state in SQLite (`analysis_runs`) with per-tab statuses so stop/resume survives extension reloads
204
204
8. If a batch finishes through the client-side heuristic fallback, those per-URL results are imported back into SQLite through `/url-analysis/import`, so coverage stays accurate
205
205
9. Server stores per-URL results + session metrics in SQLite, then returns the aggregated result, metadata, and cache stats
| P10a |`POST /analyze` + `POST /tab-analysis-status`| Provider timeout falls back to heuristics, saves results to SQLite, and marks tabs as cached on the next coverage check |
0 commit comments