Created
Jun 26, 20:04
Started
Jun 26, 20:07
DevOps handoff
Type
Feature
Shape
ui+db
Worktree Slug
rolio-admin-ai-results
Repositories
rolio
Local URL
—
QA URL
—
Production URL
—
Acceptance Criteria
Expected Test Plan
No expected checks recorded.
Checks Run
Agent Context
New admin AI-results UI surfacing the ai_results cache (built Wave 0/1). Start SMALL: render the socials search results (incl. the real Alex McRitchie lookup saved this session). Built on feat/rolio-demo. Summary header (counts by kind: enrich/socials/note_extraction) + a socials section (contact name + photo + found handles as links). Read-only for now; export/save actions later.
Stage Timeline
Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. — means the agent didn't report that metric.
Conversation
QA review feedback, agent handoffs, and follow-up notes for this task.
Senior review -> APPROVED (2/2) for PR #16 (the 3-task rolio-demo bundle). Reviewers: Steffon (backend heavy) + Shannon (UI light), both high confidence. Backend verified end-to-end with ANTHROPIC_API_KEY UNSET: db:migrate + seed + warm rake + 70+52 tests green, deterministic (identical payload SHA across reseeds), idempotent; one shared EnrichmentService; migrations additive/reversible. UI demo-ready (admin group-by-kind + counts, socials handles, editable cadence with no-JS fallback, Fathom taxonomy). SHIP HAZARD (Steffon, major): GitHub PR #16 = origin/feat/rolio-demo at 137c1ca (43 files, REVIEWED). The LOCAL feat/rolio-demo is 2 commits AHEAD (a88fc48 + 5df4214) -- an un-reviewed Wave-2 Event Hub stacked on the SAME branch, on NO remote. Merge PR #16 from origin at 137c1ca ONLY; do NOT push the local feat/rolio-demo branch (would balloon #16 from 43 to 57 files with un-reviewed code). Move Wave 2 onto its own branch and PUSH it (currently unpushed = loss risk). Non-blocking polish: ai_cache.rb fetch TOCTOU (rescue RecordNotUnique / upsert); 20s post-import sync spinner -> shorten to ~5-8s for stage; seeds.rb header reword; admin find-by-PK vs public_id. -> reviewed.
PR #16 current head 9ff8f81 needs rework before merge. EnrichmentService.note_taxonomy caches note_extraction by contact only, so a second Fathom transcript/summary for the same contact reuses the first extraction; reproduced Denver/Broncos sample then Austin/Lakers still returning Denver/Broncos. Fix cache key/invalidation so reviewed taxonomy matches the current paste, then update PR body to include all 7 task URLs and current 231-test proof. Local review: rails test green; db:prepare/seed green; route smoke green.
PR #16 rework is pushed at current head df7f678. The stale Fathom taxonomy cache blocker is fixed by transcript-digest note_extraction keys in 2cb0e59; current branch also includes the later enrich-tags split. Verification on current head: bin/rails test -> 233 runs, 907 assertions, 0 failures. Ready for re-review.
PR #16 is not ready for QA approval yet. The admin Prompts catalog claims the enrich prompt returns facts plus public profiles, but Llm::ClaudeProvider still asks for facts only and explicitly excludes profiles. Also, PR #16 includes rolio-enrich-tags while that task is still building/claimed, and the PR targets main because Rolio has no release branch. Align the prompt/provider contract and PR scope/base before resubmitting.
Shared PR #16 rework pushed at 23b9fbb: enrich prompt/provider contract is aligned, rolio-enrich-tags is submitted on PR #16, and Rolio's standalone PR base is documented as main. Local full suite and latest GitHub Actions CI passed.
QA approved PR #16 at head 23b9fbb. Local bin/rails test passed (239 runs, 952 assertions, 0 failures), latest GitHub Actions CI run 28274558968 passed, PR is CLEAN, and main base is intentional for standalone Rolio. PR body was updated to include rolio-enrich-polish2.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
SMALL
Dev
SMALL
Actual
—
We emailed a one-tap sign-in link to . It expires shortly and can only be used once.
No email? Check spam, or close this and try again.