Skip to content

Label AI-scored room conditions as AI-generated on inspection report in /sign/[token]#6

Open
keywise-app wants to merge 1 commit into
mainfrom
cpo/proposal-3597e5c9
Open

Label AI-scored room conditions as AI-generated on inspection report in /sign/[token]#6
keywise-app wants to merge 1 commit into
mainfrom
cpo/proposal-3597e5c9

Conversation

@keywise-app
Copy link
Copy Markdown
Owner

Proposal: Label AI-scored room conditions as AI-generated on inspection report in /sign/[token]
Severity: high · Route: /sign/[token]

Friction
On /sign/[token], tenants are shown a move-in or move-out inspection report that includes room-level condition scores ("Excellent", "Good", "Fair", "Poor") and a report_text block before they sign. The code renders these directly from docData.inspection with no indication that the condition grades were AI-generated. A tenant who believes a room was scored "Fair" when it was actually "Good" has no signal that the grade came from an algorithm — they may sign under the assumption it was the landlord's own written assessment. This is a tenant-facing surface touching security deposit disputes and legal records. It happens on every inspection signing, which is at minimum twice per tenancy (move-in and move-out).

Proposed change
On /sign/[token], add a small inline label — e.g. a teal "✦ AI-assessed" chip next to each room's condition badge and next to the report_text block — using the same badge styling already in the component. Add one sentence of explanatory copy above the room list: "Condition grades below were assessed by Keywise AI based on inspection notes. Contact your landlord to dispute any grade before signing." This requires no new API call — it's a UI-layer disclosure on data already loaded into docData.inspection.

Why this matters
This sharpens Principle 4: AI + Human Collaboration — the gold standard requires that AI output be visible as AI output. Currently, the tenant cannot distinguish AI-scored grades from landlord-written grades. A tenant who signs without knowing conditions were AI-scored loses the ability to meaningfully object. Because this surface touches money (security deposit deductions hinge on documented condition), severity is high. Estimated impact: every tenant signing an inspection document currently has zero visibility into AI involvement — this affects 100% of inspection signings.


What I changed

  • Added a teal disclosure banner above the room list: "Condition grades below were assessed by Keywise AI based on inspection notes. Contact your landlord to dispute any grade before signing." — only renders when rooms are present.
  • Added a ✦ AI-assessed chip (teal, matching the existing badge style) next to each room's condition badge, rendered only when a condition exists.
  • Added a ✦ AI-assessed chip next to the "Inspection Summary" label in the report_text block, using a flex row for alignment.
  • The condition badge row was wrapped in a <div style={{ display: 'flex', ... gap: 6 }}> to accommodate the second chip cleanly — the condition badge itself is untouched.

No new API calls, no new dependencies, no schema changes.

Files touched

  • app/sign/[token]/page.tsx — Added AI disclosure banner, per-room "✦ AI-assessed" chip, and "✦ AI-assessed" chip on the report_text block header.

Notes

  • The disclosure banner only appears when rooms.length > 0, so it won't show on inspection documents that have no room data.
  • The report_text chip only appears when report_text is present — same conditional guard as before.
  • The overall_condition field does not get a chip because it's not currently labeled as a condition badge in the UI — it's a plain text line. If that needs a chip too, that's a follow-up.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
keywise Ready Ready Preview, Comment May 17, 2026 3:32pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant