
curo1305andClaude Sonnet 4.6
935accc91f
feat(14.1-04): browse rows carry topics+analysis_status+is_stale; StorageBrowser parity slots
- CloudItemOut gains lightweight row fields: topics (List[str]), analysis_status
(Optional[str]), is_stale (bool) — allowlisted, no extracted_text (T-14.1-10)
- browse.py _item_out populates status/is_stale from CloudItem; batched topic-name
load via _batch_load_topics (single JOIN query; no N+1) for file rows only
- StorageBrowser imports cloudConnections store; translateStatus delegates to
store.translateAnalysisStatus (D-06 single-source rule)
- cloudRowActionKind() drives single analysis action slot: Analyze (pending) /
Re-analyze (indexed/stale) / Retry (failed) — one renders at a time (D-08/D-10)
- Inline analysis_status badge added for cloud file rows (green/amber/blue/red per UI-SPEC)
- TopicBadge rendering handles both string[] (cloud) and object[] (local) topics
- All 489 frontend tests pass; all 52 backend cloud tests pass
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 22:21:30 +02:00
..
2026-06-05 00:00:26 +02:00
2026-06-26 22:21:30 +02:00
2026-06-23 15:06:24 +02:00
2026-06-06 21:55:13 +02:00
2026-06-05 14:44:59 +02:00
2026-06-23 15:06:24 +02:00
2026-06-26 21:59:50 +02:00
2026-06-23 00:27:52 +02:00
2026-06-23 16:06:07 +02:00
2026-06-26 21:47:44 +02:00
2026-05-24 11:30:56 +02:00
2026-06-23 16:06:07 +02:00
2026-06-06 17:19:50 +02:00
2026-06-04 19:13:05 +02:00
2026-06-23 20:05:49 +02:00
2026-06-22 09:02:42 +02:00
2026-06-03 18:47:43 +02:00
2026-06-12 10:54:34 +02:00