Evidence class badge
Each proposal displays an evidence class badge — Descriptive, Directional, Statistically Supported, or Human Judgment — so reviewers understand the confidence level before reading the detail. Low-confidence proposals are never dressed up as certain.
How it works: Evidence class badge tested in the proposal detail view — badge visible and explained, including disclaimer for metric projections on low-confidence proposals.
Readable diff
The proposal shows exactly what change is being proposed — not a summary, a readable diff. If the proposal is to change a question from one phrasing to another, both phrasings are shown side by side.
How it works: Readable diff is the primary output of the PROMPT_CHANGE and QUESTION_CHANGE proposal types — always visible in the proposal detail view.
Approve with version creation
Approving a proposal creates a new campaign version immediately. All new conversations run under the new version. The proposal is marked APPLIED and linked to the resulting version — the full chain from evidence to version is always traceable.
How it works: resulting_version_id is recorded on the proposal row on approval — navigate from any version back to the proposal that created it.
Reject with notes
Rejecting a proposal records the reviewer's notes and sets status to REJECTED. Campaign configuration is unchanged. Friyay operators can see rejection reasons across all clients — helping identify systemic proposal quality issues.
How it works: Rejection notes persisted and visible to Friyay operators in the proposal list — not restricted to the reviewing client.