Objective
Make AI output easy to recognize and inspect, so developers don't mistake predictions for facts.
Target area
AI panels (fee prediction, anomaly explanation, NL builder, sentiment, recommendations)
Context
AI features are spread across many panels, and predictions look the same as on-chain facts. #830 adds kill switches, but outputs still need consistent disclosure.
Acceptance criteria
- A shared
<AIOutput> wrapper shows an AI badge, confidence (where available), model or version, and a 'Why?' popover with top features or rationale.
- Every AI panel uses the wrapper (enforced by a test that scans AI panel components).
- Low-confidence results are visually de-emphasized and never used as defaults without user confirmation.
- Accessible names announce AI-generated content to screen readers.
- Automated tests cover the primary flow, at least one boundary case, and at least one failure case.
- User-facing documentation or developer guidance is updated, including compatibility, security, or migration notes where applicable.
Pull request requirements
- All continuous integration checks must pass before a pull request may be merged.
- The branch must be free of merge conflicts with the target branch at the time of merge.
- Do not request merge with failing workflows, skipped required checks, or unresolved conflicts.
Objective
Make AI output easy to recognize and inspect, so developers don't mistake predictions for facts.
Target area
AI panels (fee prediction, anomaly explanation, NL builder, sentiment, recommendations)Context
AI features are spread across many panels, and predictions look the same as on-chain facts. #830 adds kill switches, but outputs still need consistent disclosure.
Acceptance criteria
<AIOutput>wrapper shows an AI badge, confidence (where available), model or version, and a 'Why?' popover with top features or rationale.Pull request requirements