Handoff hand-hint-system: A implement object-level hint registry + delivery policy + translation pipeline · ALL content comes from B-owned JSON files.
ใช้ใน Dashboard purpose tooltips · Wizard step subtitles · Enterprise Upload panel hints · Cases portal hints · Knowledge lookup.
hints table · maps object_id (CSS selector or component id) → content_ref (path into B JSON)user_hint_state table · per-user dismiss log| Source (B) | A Registry Target | Render Style | Delivery | Binding | Notes |
|---|---|---|---|---|---|
| page_purpose.pages.{id}.name_{lang} | Page header title label | Banner | always-available | mapped-not-bound | i18n dict · fallback chain |
| page_purpose.pages.{id}.what_{lang} | Page subtitle / intro | Banner | always-available | mapped-not-bound | Visible without interaction |
| page_purpose.pages.{id}.when_{lang} | "When to use" helper | Popover | on-demand | mapped-not-bound | Shown on ? icon click |
| premium_wizard.steps.{n}.purpose_{lang} | Step subtitle in wizard | Tooltip + inline | always-available | placeholder | Wizard runtime consumes |
| premium_wizard.steps.{n}.honest_note_{lang} | Step footer caption | Banner | always-available | placeholder | Verbatim render · no edits |
| dashboard_contract.dashboards.{id}.purpose_{lang} | Dashboard header tooltip | Tooltip | on-demand | mapped-not-bound | On info-icon hover |
| dashboard_contract.dashboards.{id}.honest_note | Chart footer caption | Banner | always-available | mapped-not-bound | requires_human_review=true → yellow banner |
| hybrid_intake_workspace.workspace_panels.{id} | Panel entry hint | Tooltip | first-time | placeholder | 8 panels |
| lexicon.terms.{id}.short_def_{lang} | Glossary popover on term hover | Popover | on-demand | mapped-not-bound | Auto-detect terms in text |
| audience_entrypoints.personas.* | Audience label on nav card | Badge + tooltip | always-available | mapped-not-bound | Product + governance personas |