Agents Builders

Rolio demo seed cache

Reviewed carl
rolio-demo-seed-cache

Created

Jun 26, 18:29

Started

Jun 26, 18:30

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

rolio-demo-seed-cache

Repositories

rolio

Release Train

Branch

feat/rolio-demo

Local URL

QA URL

Production URL

demo

Acceptance Criteria

  • Local mock LLM enrichment persisted to DB cache
  • Rake task warms cache for hero contacts
  • Seed contacts and events tell demo story
  • No external API key required anywhere

Expected Test Plan

No expected checks recorded.

Checks Run

  • [unit] AiResult presence + [contact_id,kind] uniqueness + JSON round-trip
  • [unit] AiCache miss-generates / hit-reads (call-counter + stored-payload-wins)
  • [unit] warm smoke: every contact cached enrich+socials
  • [integration] db:seed one-shot = 15 contacts / 30 AiResults (15+15), Alex 5 socials
  • [unit] Prompt seed regression: enrich catalog matches facts-only provider contract
  • [suite] bin/rails test: 239 runs, 952 assertions, 0 failures on head 23b9fbb
  • [ci] GitHub Actions CI: completed success on feat/rolio-demo run 28274558968

Agent Context

Wave 0 of the Rolio Monday-demo golden path (iOS simulator, seeded, LOCAL-ONLY, no ANTHROPIC_API_KEY). T1: add a DB-backed replay mode to Llm.provider; a rake task runs the existing local MockProvider over hero contacts + a sample Fathom transcript and PERSISTS results to a cache table; demo serves from DB. T2: seed contacts whose tags match seeded events (Broncos fans, music fans) so outreach matching looks intelligent. See memory project_rolio_v2_outreach_plan. Sister tasks: enrich/notes/cadence, event-outreach arm, polish/rehearsal.

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.

Sizing Avi · PO MEDIUM Dev MEDIUM Actual
  1. Created Designed
    D Dewgong
    Dewgong
    Model
    Duration
    Tokens
    Cost
    Completed Jun 26, 18:29 · about 15 hours ago
    api
  2. Designed Building
    D Dewgong
    Dewgong
    Model
    claude-opus-4-8
    Duration
    1 minute
    Tokens
    900,347
    Cost
    ~$1.82
    Started Jun 26, 18:29
    Completed Jun 26, 18:30 · about 15 hours ago
    cli
  3. Building Submitted
    D Dewgong
    Dewgong
    Model
    claude-opus-4-8
    Duration
    about 3 hours
    Tokens
    110,457,276
    Cost
    ~$101.33
    Started Jun 26, 18:30
    Completed Jun 26, 21:36 · about 12 hours ago
    cli
  4. Submitted Reviewed
    S Steffon
    Steffon primary
    S Shannon
    Shannon light
    Model
    claude-opus-4-8
    Duration
    about 1 hour
    Tokens
    424,114
    Cost
    ~$0.37
    Started Jun 26, 21:36
    Completed Jun 26, 22:33 · about 11 hours ago
    cli
  5. Reviewed Blocked
    Model
    Duration
    about 1 hour
    Tokens
    Cost
    Started Jun 26, 22:33
    Completed Jun 26, 23:39 · about 10 hours ago
    api
  6. Blocked Submitted
    D Dewgong
    Dewgong
    Model
    Duration
    39 minutes
    Tokens
    Cost
    Started Jun 26, 23:39
    Completed Jun 27, 00:18 · about 10 hours ago
    api
  7. Submitted Blocked
    Model
    Duration
    9 minutes
    Tokens
    Cost
    Started Jun 27, 00:18
    Completed Jun 27, 00:28 · about 9 hours ago
    api
  8. Blocked Submitted
    D Dewgong
    Dewgong
    Model
    gpt-5.5
    Duration
    about 1 hour
    Tokens
    Cost
    Started Jun 27, 00:28
    Completed Jun 27, 01:35 · about 8 hours ago
    cli
  9. Submitted Reviewed
    S Steffon
    Steffon primary
    S Shannon
    Shannon light
    Model
    gpt-5.5
    Duration
    about 3 hours
    Tokens
    4,889,496
    Cost
    ~$4.05
    Started Jun 27, 01:35
    Completed Jun 27, 04:34 · about 5 hours ago
    cli

Conversation

QA review feedback, agent handoffs, and follow-up notes for this task.

Comment alex about 11 hours ago

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.

QA Feedback codex about 10 hours ago

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.

Handoff codex about 10 hours ago

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.

QA Feedback codex about 9 hours ago

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.

Comment about 8 hours ago

QA rework pushed in PR #16 at 23b9fbb: enrich prompt catalog is facts/tags-only, includes required fact keys, and leaves public profiles in SocialFinder/social cache. Full local suite and latest GitHub Actions CI passed.

Comment about 5 hours ago

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)

MEDIUM

Dev

MEDIUM

Actual