Fc23259498 Direct

| FR # | Description | |------|-------------| | | Real‑time suggestion engine – an HTTP endpoint POST /api/v1/tags/recommend that receives the content payload (title, description, body, optional media metadata) and returns up to 5 tag suggestions with confidence scores. | | FR‑2 | Taxonomy filter – only tags that are marked active in the master tag table may be returned. | | FR‑3 | Rate‑limit – limit each user to 10 recommendation calls per minute to protect the ML service. | | FR‑4 | Caching – identical payloads within a 5‑minute window should hit an in‑memory cache (Redis) to meet latency SLA. | | FR‑5 | UI component – a reusable React (and React‑Native) component TagSuggestionBox that displays suggestions, handles click/keyboard events, and emits onTagAdded(tag) and onTagRejected(tag) . | | FR‑6 | Telemetry – capture acceptance, rejection, and manual tag entry events with user‑id, content‑id, timestamp, and suggestion confidence. | | FR‑7 | Admin override – administrators can disable the feature globally or per‑organization via a feature‑flag ( smartTagRecommendations.enabled ). | | FR‑8 | Accessibility – ARIA roles ( listbox , option ), keyboard navigation ( ↑/↓ + Enter ), and screen‑reader announcements (“Suggested tag: ‘machine‑learning’, confidence 87 %”). | | FR‑9 | Graceful fallback – if the recommendation service fails, the UI should hide the suggestion box and log the error without breaking the editor. | | FR‑10 | Audit log – store every suggestion shown, accepted, or rejected in an append‑only audit table for compliance. |