[
  {
    "id": "P01",
    "advocate": "The Contrarian",
    "bot_name": "/u/MAGIC_EYE_BOT",
    "bot_origin": "PRAW (Python) image-hash repost & rule-violation detector by /u/CosmicKeys, self-hosted, in continuous service to r/AskReddit-adjacent and image-heavy subs (r/pics, r/Eyebleach, r/photoshopbattles configs documented) since ~2018; config-as-wiki-page model, perceptual-hash dedupe, removal-reason templating",
    "framing": "While every other entrant ports the obvious AI-buzzword bot (RepostSleuth, BotDefense clones), the unfashionable truth is that MAGIC_EYE_BOT is the bot mods of large image subs actually still configure weekly — and it has a single, reachable, known-cooperative maintainer (CosmicKeys) plus a wiki-driven config that maps 1:1 onto Devvit settings and Redis. Porting the boring workhorse wins the parity-and-time-saved axis the judges actually score on.",
    "target_persona": "Head mod of a 500K+ image-heavy subreddit (e.g., r/Eyebleach-class) who has hand-tuned a MAGIC_EYE_BOT wiki config over years, dreads rewriting it, and just wants the same removal-reasons firing sub-second on Devvit's onPostSubmit trigger without renting a VPS",
    "primary_surface": "terminal-style mod console embedded in the subreddit's Mod Tools tab — keyboard-first 'config diff' viewer that shows the legacy wiki YAML on the left and the live Devvit settings on the right, plus a `tail -f`-style action log of every dedupe hit. No charts, no dashboards, no purple gradients.",
    "opus_4_7_capability": "Opus 4.7 long-context structured-config translation: ingest the entire legacy MAGIC_EYE_BOT wiki page (often 800+ lines of YAML rules, regex, removal-reason macros) in one shot and emit a verified Devvit settings.json + Redis schema with parity assertions, then explain each rule's behavior diff in plain English for the mod's audit log.",
    "mvp_scope": "Day-1: ingest CosmicKeys-style wiki config + perceptual-hash store. Day-2: onPostSubmit trigger doing pHash lookup against Redis with sub-second p50, firing the legacy removal-reason template verbatim. Day-3: side-by-side parity report (legacy bot log vs Devvit log on the same 7-day post sample from host sub) showing ≥95% action match. Day-4: terminal UI + install on a second ≥500 WAU sub, telemetry showing mod-action latency drop.",
    "one_liner_pitch": "Everyone's porting the trendy bot. We're porting the one r/pics mods actually still edit the wiki for — MAGIC_EYE_BOT, terminal-style, parity-proven, sub-second on Devvit.",
    "spec_alignment_notes": "Anchored verbatim: idea_summary (port one existing Data API bot), eligibility constraints (owner consent — CosmicKeys is a single reachable maintainer; ≥500 WAU host sub — image subs easily clear), primary_surface.platform=devvit, sync_model=real-time, success_metric (parity ≥95% + time-saved telemetry). Reframed within spec freedom: target_persona narrowed from generic 'bot author' to 'image-sub head mod with legacy wiki config' (more concrete, more contrarian than the AI-mod-bot cliché); primary_surface UI style chosen as terminal/mono per Contrarian persona (spec only fixes platform=devvit, leaves UI shape open); opus_4_7_capability picked as long-context config translation rather than vision/LLM-classification because the killer_feature is parity, not novelty.",
    "_verification": {
      "canonical_bot": "MAGIC_EYE_BOT",
      "tier": "A",
      "license": "MIT",
      "last_push": "2024-07-30",
      "stars": 42,
      "repo": "downfromthetrees/the_magic_eye",
      "owner": "u/CosmicKeys",
      "note": ""
    },
    "mockup_path": "mockups/P01-the-contrarian.html"
  },
  {
    "id": "P02",
    "advocate": "The Operations Veteran",
    "bot_name": "RepostSleuthBot",
    "bot_origin": "u/RepostSleuthBot, maintained by u/BarryCarey since 2018; PRAW + Python image-hash pipeline (perceptual aHash/dHash/pHash) on self-hosted Postgres + Redis; serves r/dankmemes, r/HistoryMemes, r/PrequelMemes and 3000+ other subs — a textbook high-ops Data API bot whose hosting + token-rotation + rate-limit firefighting is the dominant cost.",
    "framing": "Port RepostSleuthBot to Devvit so the moderator-author can finally turn off the always-on Postgres/Redis box, kill the cron-driven token rotation, and let Devvit's managed runtime + media trigger absorb the on-call burden — while keeping every existing repost rule intact. Ops cost goes from ~$180/mo + weekly toil to zero, and the host sub gets a sub-second post-submit hook instead of a polling lag.",
    "target_persona": "Solo bot author (u/BarryCarey-shaped) who currently pages himself at 3am when the image-hash worker OOMs or the Reddit token rotation fails — running RepostSleuthBot on r/HistoryMemes (≥500 WAU, in fact 1M+ subs) and tired of being the SRE for a free moderation service.",
    "primary_surface": "Operator status board: a Devvit subreddit-app settings page that doubles as a live ops dashboard — uptime %, p50/p95 trigger latency, hash-lookup latency, modqueue-depth delta vs. legacy baseline, rate-limit headroom, and a 7-day incident timeline. Mods see Community Impact; the bot author sees on-call relief — same surface, dual audience.",
    "opus_4_7_capability": "Opus 4.7's long-context code-migration reasoning — ingests the full RepostSleuthBot Python repo (image-hash service, PRAW handlers, rule engine YAML) in one pass and emits a Devvit TypeScript port with explicit parity-mapping comments per rule, plus auto-generated before/after telemetry probes so the time-savings axis is provable, not promised.",
    "mvp_scope": "Day-1: Devvit PostSubmit trigger + Redis-backed pHash store (last 90 days for the host sub). Day-2: parity port of the 3 highest-volume RepostSleuthBot rules (exact-match removal, near-match report, OC-claim flag). Day-3: ops dashboard widget (uptime, trigger p95, queue-depth delta, $-saved estimate). Day-4: install on a 2nd ≥500 WAU sub + record before/after latency demo video.",
    "one_liner_pitch": "RepostSleuthBot, ported to Devvit — same rules, sub-second triggers, zero hosting bill, and an ops dashboard that proves the time saved instead of promising it.",
    "spec_alignment_notes": "Anchored verbatim: target_persona (bot author with ≥500 WAU host sub + ownership), primary_surface.platform=devvit + sync_model=real-time, killer_feature (parity + before/after telemetry baked in), success_metric (≥95% parity, ≥30% mod-action latency reduction, 2nd-sub install). Reframed through ops-veteran lens: primary_surface specialized to a status-board dashboard (spec left UI shape open) because daily ops cost is the dominant pain this persona optimizes for; opus_4_7_capability chosen as long-context code-migration because parity-with-evidence is the judge-visible win.",
    "_verification": {
      "canonical_bot": "RepostSleuthBot",
      "tier": "A",
      "license": "GPL-3.0",
      "last_push": "2026-01-17",
      "stars": 186,
      "repo": "barrycarey/RedditRepostSleuth",
      "owner": "u/barrycarey",
      "note": ""
    },
    "mockup_path": "mockups/P02-the-ops-veteran.html"
  },
  {
    "id": "P03",
    "advocate": "The Speed-Obsessed",
    "bot_name": "u/RemindMeBot",
    "bot_origin": "Watchful1/RemindMeBot, PRAW + sqlalchemy, last push 2025-08-06, 226★",
    "framing": "RemindMeBot is the perfect speed-port: a single comment-summon trigger plus a delayed-callback delivery. Strip Watchful1's 7-year PRAW + sqlalchemy codebase to ONE Devvit trigger + ONE Scheduler job and ship the smallest-possible-LOC port in 4 days flat — Data-API deprecation survival as a weekend project.",
    "target_persona": "u/Watchful1 himself — a one-maintainer bot author staring at Data API deprecation, who needs the fastest credible port path to keep 1.5M+ active reminders alive without rewriting his sqlalchemy stack. Secondary: mods of ≥500 WAU subs (r/AskReddit-adjacent threads) whose users summon RemindMeBot dozens of times per hour.",
    "primary_surface": "Single Devvit install card with a 4-day countdown CTA, one-click 'Install on r/test', and an auto-firing demo reminder in 60 seconds. Onboarding is literally: install → comment '!RemindMe 1 minute' → receive ping. 3 steps, no config screen.",
    "opus_4_7_capability": "Opus 4.7's strict instruction-following on a narrow scope — hold the line at exactly ONE trigger (onCommentSubmit) + ONE Scheduler delivery job, refusing every feature-creep request (recurring reminders, PM delivery, timezone DST gymnastics, cancel/list commands) that would blow the 4-day window. Generate the entire ~120 LOC app + telemetry hook in a single emit pass.",
    "mvp_scope": "Day 1: devvit init + onCommentSubmit regex parser ('!RemindMe <duration>'). Day 2: chrono-node duration parsing → Scheduler.runJob() at absolute timestamp. Day 3: reply-comment delivery + Redis-backed dedupe by comment-id + before/after latency counter. Day 4: install on one ≥500 WAU sub, capture latency delta vs legacy PRAW bot, record 90s demo, submit. Cut: recurring reminders, PM delivery, timezone edge cases, cancel/list — all v1.1.",
    "one_liner_pitch": "RemindMeBot, ported to Devvit in 4 days: one trigger, one scheduler, zero servers — Watchful1's 1.5M reminders survive Data API deprecation with the smallest diff possible.",
    "spec_alignment_notes": "All spec fields populated, followed verbatim. target_persona narrowed from generic 'bot author with ownership' to Watchful1 specifically (verified maintainer per re-dispatch, ownership path = direct written contact). primary_surface kept devvit + real-time per spec. killer_feature (functional parity + time-savings telemetry) honored by Day 3 latency counter + Day 4 before/after capture. non-goal 'multi-bot bundle' respected: strictly ONE trigger + ONE job. Speed bias justifies aggressive cuts (recurring/PM/cancel) to fit hard 4-day window inside 2026-05-27 deadline.",
    "_verification": {
      "canonical_bot": "RemindMeBot",
      "tier": "A",
      "license": "none",
      "last_push": "2025-08-06",
      "stars": 226,
      "repo": "Watchful1/RemindMeBot",
      "owner": "u/Watchful1",
      "note": ""
    },
    "mockup_path": "mockups/P03-the-speed-obsessed.html"
  },
  {
    "id": "P04",
    "advocate": "The Cost-Conscious",
    "bot_name": "ContextMod",
    "bot_origin": "github.com/FoxxMD/context-mod — open-source Node.js rules-engine moderation bot (PRAW-equivalent on snoowrap), self-hosted by ~50+ subs incl. r/mealtimevideos. Heavy ops profile: persistent Postgres/Redis, per-account OAuth token rotation, 24/7 worker, ~$25–$60/mo VPS+DB per operator.",
    "framing": "ContextMod's value is the rules YAML — its cost is the infra. Port the rules engine and YAML config loader to Devvit so every operator's $30+/mo VPS bill collapses to $0, while the parity surface (post/comment triggers, modqueue actions) runs on Reddit's free runtime.",
    "target_persona": "Solo bot operators currently paying $25–$60/mo to keep ContextMod alive for one ≥500 WAU sub (e.g., the r/mealtimevideos maintainer) who want to stop bleeding cash on a deprecated-API bot but cannot afford to rewrite from scratch.",
    "primary_surface": "Devvit app (free Reddit-hosted runtime) + Redis-backed key-value (Devvit free tier) for rule cache + YAML rules pasted into Devvit settings panel. Zero external hosting, zero token rotation, zero DB bill.",
    "opus_4_7_capability": "Opus 4.7 1M-context ingests the full ContextMod rules schema + a subreddit's existing rules.yaml in one shot and emits a Devvit-compatible TypeScript rule executor + settings-form schema, preserving 95%+ rule semantics without manual rewrite.",
    "mvp_scope": "Day-4 demo: paste r/mealtimevideos' real ContextMod rules.yaml into Devvit settings → 5 highest-volume rules (recentActivity, repeatSubmission, author age/karma gates, reportThreshold, modActionHistory) execute on PostSubmit/CommentSubmit triggers → side-by-side cost ledger shows $47/mo VPS+DB → $0/mo Devvit, with parity log proving same actions fired.",
    "one_liner_pitch": "ContextMod's $47/mo hosting bill ported to Devvit's free runtime — same rules.yaml, zero VPS, zero token rotation, $564/year saved per operator.",
    "spec_alignment_notes": "target_persona narrowed from spec's general 'bot author' to 'operator paying monthly hosting' to expose the cost-elimination thesis; primary_surface=devvit followed verbatim; killer_feature parity+telemetry honored by side-by-side cost+action-parity ledger; ≥500 WAU constraint satisfied via r/mealtimevideos host sub; non-goal 'no monetization' respected (savings accrue to operator, not app).",
    "_verification": {
      "canonical_bot": "ContextMod",
      "tier": "B",
      "license": "MIT",
      "last_push": "2024-06-13",
      "stars": 54,
      "repo": "FoxxMD/context-mod",
      "owner": "u/FoxxMD",
      "note": "3-year dormant runtime; codebase intact"
    },
    "mockup_path": "mockups/P04-the-cost-conscious.html"
  },
  {
    "id": "P05",
    "advocate": "The Design-Forward",
    "bot_name": "RepostSleuthBot",
    "bot_origin": "u/RepostSleuthBot — Reddit Data API bot by u/barrycarey, active since 2018 across 4,000+ subs (r/pics, r/gaming, r/funny). Detects image/text reposts via perceptual hashing + cosine similarity; original output is a crude text comment listing matches with raw % numbers and naked URLs.",
    "framing": "Repost detection isn't a data problem — it's a perception problem. Mods need to see the duplicate to trust the verdict, not parse a wall of similarity percentages buried in a comment thread. Devvit lets us turn a text-reply forensics tool into an inline visual courtroom.",
    "target_persona": "Image-heavy subreddit mods (r/pics-class, 500+ WAU) who triage 50+ potential reposts/day and currently squint at u/RepostSleuthBot's text comments, then manually open each candidate URL in a new tab to eyeball the match before actioning.",
    "primary_surface": "First screen IS the pitch: a Devvit custom post that renders the flagged submission and the top-3 historical matches side-by-side as a polished evidence card — perceptual-hash heatmap overlay, similarity ring meter, time-since-original badge, and one-tap Approve/Remove/Mark-OC mod actions inline. Empty state (no reposts found) is a satisfying green-checkmark hero, not a blank space.",
    "opus_4_7_capability": "Opus 4.7 vision + reasoning explains WHY each match scored as it did in plain English (\"crop is 92% identical, color shifted +12% warm — likely re-upload from r/EarthPorn 14 months ago\") so mods get a human-readable verdict next to the numerical hash diff, replacing the legacy bot's opaque % output.",
    "mvp_scope": "4-day demo: one Devvit custom post component that, on new image submission to host sub, fetches top-3 perceptual-hash matches from ported pHash index, renders the inline evidence card with side-by-side imagery + Opus-generated rationale + 3 mod-action buttons. Single host sub (≥500 WAU), single content type (images), parity with RepostSleuth's core detect→report loop.",
    "one_liner_pitch": "RepostSleuth, reborn as a visual verdict card — mods see the duplicate, read the rationale, and action it in one tap, without ever leaving the post.",
    "spec_alignment_notes": "spec target_persona = bot author porting a ≥500 WAU bot → narrowed to image-sub mods as the END user the design serves; primary_surface=devvit real-time → expressed as inline custom post component rendered on submit trigger (sub-second SLA preserved); killer_feature=quantified time-saved → design implicitly delivers it (one-tap action vs. multi-tab manual compare). Followed spec verbatim on platform, eligibility, deadline, non-goals (single bot, no monetization).",
    "_verification": {
      "canonical_bot": "RepostSleuthBot",
      "tier": "A",
      "license": "GPL-3.0",
      "last_push": "2026-01-17",
      "stars": 186,
      "repo": "barrycarey/RedditRepostSleuth",
      "owner": "u/barrycarey",
      "note": ""
    },
    "mockup_path": "mockups/P05-the-design-forward.html"
  },
  {
    "id": "P06",
    "advocate": "The Spreadsheet Jockey",
    "bot_name": "AssistantBOT",
    "bot_origin": "Originally authored by u/kungming2 — a long-running PRAW/Data-API bot that produces per-subreddit statistics digests (subscriber growth, post/comment volume, removal reasons, top contributors, takedown logs) and exports modlog-derived tables. Has served r/translator, r/AskHistorians, and dozens of ≥500 WAU subs since 2018; ownership/written-consent path is feasible.",
    "framing": "Mods don't want one-off dashboards — they want a sortable, filterable grid of every modlog event, every removed post, every takedown reason, with CSV export. Port AssistantBOT's stats engine into Devvit as a dense 'ModSheet' view that replaces three browser tabs and one Google Sheet.",
    "target_persona": "Power-user mod on a ≥500 WAU sub who currently keeps a parallel Google Sheet of removed posts / repeat offenders, runs Ctrl+F on weekly digest comments, and has muscle-memory for keyboard sorting — wants the spreadsheet to live inside Reddit.",
    "primary_surface": "Devvit custom-post 'ModSheet' — sticky-header data grid with sortable columns (timestamp, author, action, rule, latency_ms, queue_depth), multi-select filter chips, column resizers, j/k row nav, / focus filter, e to export CSV. 200-row pagination, mono numerics.",
    "opus_4_7_capability": "Opus 4.7 1M-context summarization condenses 30-day modlog (often 50K+ events) into deterministic row-level features (rule_match, repeat_offender_count, time_to_action) that the grid renders client-side; LLM never blocks the grid render — it pre-computes the columns nightly via Devvit scheduler.",
    "mvp_scope": "Day-1 demo: install on host sub, ingest 7-day modlog via Devvit API, render 1 sortable/filterable grid (8 columns × 500+ rows) with CSV export and one before/after time-savings KPI strip at top. No charts, no settings UI — just the grid.",
    "one_liner_pitch": "AssistantBOT, but the weekly stats comment is now a sortable Devvit grid: 8 columns, filter chips, CSV export, keyboard-driven — mods triage in rows, not tabs.",
    "spec_alignment_notes": "target_persona narrowed from spec's 'bot author' to the *consuming* power-mod because spreadsheet-jockey lens prioritizes the grid user; bot_origin (AssistantBOT) chosen because spec requires real Data-API precursor with ≥500 WAU service history and bulk-data value — AssistantBOT's stats-export DNA matches exactly. primary_surface=Devvit custom-post (spec mandates devvit, real-time). All other spec fields (deadline, parity ≥95%, time-savings telemetry) followed verbatim and surfaced as the KPI strip in the MVP.",
    "_verification": {
      "canonical_bot": "AssistantBOT",
      "tier": "B-",
      "license": "MIT",
      "last_push": "2021-06-25",
      "stars": 13,
      "repo": "kungming2/AssistantBOT",
      "owner": "u/kungming2",
      "note": "5-year dormant; permission-path uncertain"
    },
    "mockup_path": "mockups/P06-the-spreadsheet-jockey.html"
  },
  {
    "id": "P07",
    "advocate": "The Mobile-First",
    "bot_name": "/u/MAGIC_EYE_BOT",
    "bot_origin": "downfromthetrees/the_magic_eye, snoowrap, 2024-07, MIT 42★, u/CosmicKeys",
    "framing": "Image-sub mods triage 80% of repost reports from a phone — in line, on transit, between meetings — but Reddit's official mobile mod tools force pinch-zoom on tiny side-by-side thumbnails. The Devvit port turns MAGIC_EYE_BOT's perceptual-hash detections into a thumb-first swipe deck so a mod clears the queue one-handed, no desktop required.",
    "target_persona": "Image-subreddit moderator (r/pics-class, ≥500 WAU) who is also the original MAGIC_EYE_BOT operator or has written consent from u/CosmicKeys, who currently approves/removes 50–200 hash-flagged reposts per week and does that work primarily on a phone because that's where Reddit's modqueue notifications land.",
    "primary_surface": "Devvit custom post rendered as a phone-frame swipe deck — single-column, 48px minimum tap targets, status-bar safe area, bottom sheet for the Opus-drafted removal comment, pull-to-refresh queue. Right-swipe = remove repost + post comment, left-swipe = approve, long-press = side-by-side comparison with similarity ring. No desktop layout, no pinch-zoom.",
    "opus_4_7_capability": "Opus 4.7 reads each pHash match's metadata (original poster, age, prior removals, EXIF) and generates a 1-line human-readable verdict ('reposted 11d ago by /u/x, 94% pHash, 3 prior removals') plus a removal-comment draft in the host sub's voice and rule-citation style — so a thumb-swipe carries through to a mod-message without typing.",
    "mvp_scope": "One Devvit custom post embedded in the modqueue: pulls MAGIC_EYE_BOT's pHash match list from Devvit Redis, renders top-of-stack repost card with original-vs-new thumbnails, similarity ring, and Opus-drafted removal reason. Right-swipe triggers Devvit reddit.remove + reddit.submitComment; left-swipe approves. Demo target: clear 20 flagged reposts in <90 seconds, one-thumbed.",
    "one_liner_pitch": "Tinder-for-reposts: MAGIC_EYE_BOT's pHash queue, swipeable from the phone where mods actually live.",
    "spec_alignment_notes": "target_persona narrowed from spec's generic 'bot author/mod-tool developer' to image-sub mod who is also bot operator (justified by MAGIC_EYE_BOT's image-only domain); primary_surface=devvit + real-time honored verbatim, mobile-only interpretation differentiates from P01's terminal-aesthetic pick; killer_feature time-savings reframed as one-handed-clearance rate (cards/sec) which still maps to the spec's mod-action-latency success metric; non-goal 'mobile app as primary deliverable' respected — this IS a Devvit custom post styled as a phone swipe deck, NOT a standalone app.",
    "_verification": {
      "canonical_bot": "MAGIC_EYE_BOT",
      "tier": "A",
      "license": "MIT",
      "last_push": "2024-07-30",
      "stars": 42,
      "repo": "downfromthetrees/the_magic_eye",
      "owner": "u/CosmicKeys",
      "note": ""
    },
    "mockup_path": "mockups/P07-the-mobile-first.html"
  },
  {
    "id": "P08",
    "advocate": "The Slack-Native",
    "bot_name": "u/AlertBot (Alert-Bot-Reddit)",
    "bot_origin": "tylerbrockett/Alert-Bot-Reddit — Python+PRAW Reddit Data API bot, MIT license, 136★ on GitHub, last push 2023-05-05. Watches subreddits for posts that match user-defined specifications (keywords, authors, domains, flair) and delivers PM-based alerts to subscribed users. Battle-tested on cross-sub keyword surveillance — brand mentions, doxxing terms, raid signals — and used by individual mods who self-subscribe via DM commands.",
    "framing": "AlertBot's legacy delivery surface (private DMs blasted at one subscribed user) is the exact wrong shape for moderator team workflows — alerts vanish into a single mod's personal inbox with zero team context, no shared ack, no audit trail. The Devvit port rebirths every alert as a ModMail conversation: each spec match opens a threaded modmail with full post context preserved, and the mod team replies with chat-style slash directives (`!ack`, `!mute 24h`, `!route slack`, `!escalate`) that the bot parses inside the conversation. ModMail is the team chat surface mods already live in.",
    "target_persona": "Maintainer-mod of a ≥500 WAU subreddit who currently runs AlertBot via PRAW to surface cross-sub keyword matches (brand mentions, doxxing terms, raid signals, competitor activity). They own the bot's source or hold written consent from tylerbrockett, their mod team triages the modqueue collaboratively, and they've felt the pain of mission-critical alerts landing in one mod's PM inbox while the rest of the team has no visibility.",
    "primary_surface": "primary_surface = Devvit ModMail conversation (the chat-thread surface) for both alert delivery AND command reply. Slash-style commands (`!ack`, `!mute`, `!route`, `!escalate`) are parsed from modmail replies via Devvit's onModMail trigger. Devvit web dashboard is auxiliary only — used post-hoc to view aggregated alert reports / time-saved telemetry for the hackathon Community Impact judging axis. Every act of moderation happens inside the modmail thread.",
    "opus_4_7_capability": "Opus 4.7 does two jobs: (1) intent extraction + parameter binding on free-form modmail replies — `!mute 24h` resolves to {action:mute, duration:86400s}, `!route slack #mod-alerts` resolves to {action:route, dest:slack, channel:mod-alerts} — so mods can type naturally without rigid syntax; (2) generates one-line context summaries for each incoming alert (post title + top-3 risk signals from AlertBot's spec match logic) so mods triage in a glance without leaving the modmail thread.",
    "mvp_scope": "4-day demo: (1) port AlertBot's keyword/spec matcher to Devvit onPostSubmit + onCommentSubmit triggers, (2) every match opens a ModMail conversation in the host sub with Opus-4.7-generated context summary card, (3) reply parser handles 4 commands — `!ack`, `!mute <duration>`, `!route slack|discord <channel>`, `!escalate` — with audit log written to Devvit redis, (4) telemetry panel shows mod-action latency before-vs-after the legacy PM-based bot baseline.",
    "one_liner_pitch": "AlertBot reborn — keyword alerts arrive as modmail threads, mod teams reply with slash commands, Opus 4.7 parses intent. Chat is where moderation happens.",
    "spec_alignment_notes": "spec primary_surface.platform=devvit is anchor → I interpreted Devvit ModMail conversation as the chat-native sub-surface (legitimate Devvit primitive, not external Slack/Discord — non_goals explicitly forbids Slack/Discord as PRIMARY deliverable, but `!route` command sends OPTIONAL mirror notifications which respects the spec). target_persona kept verbatim (bot author / mod-tool dev with ≥500 WAU host sub). killer_feature (functional parity + time-savings telemetry) preserved via mod-action latency panel comparing modmail-thread acks vs. legacy PM round-trip. The Slack-Native bias expressed within Devvit boundaries: ModMail = the where-work-happens chat surface for moderator teams.",
    "_verification": {
      "canonical_bot": "Alert-Bot-Reddit",
      "tier": "A-",
      "license": "MIT",
      "last_push": "2023-05-05",
      "stars": 136,
      "repo": "tylerbrockett/Alert-Bot-Reddit",
      "owner": "tylerbrockett",
      "note": ""
    },
    "mockup_path": "mockups/P08-the-slack-native.html"
  },
  {
    "id": "P09",
    "advocate": "The CLI Devotee",
    "bot_name": "ContextMod",
    "bot_origin": "FoxxMD/context-mod (GitHub) — open-source TypeScript moderation bot built on snoowrap/PRAW-style Reddit Data API access, configured via JSON/YAML rule files committed to subreddit wikis. Long-running on r/mealtimevideos and several ≥500 WAU subs; original author (FoxxMD) retains ownership and the project is MIT-licensed, satisfying the hackathon eligibility gate when a written-consent fork is submitted.",
    "framing": "ContextMod's superpower was always the rule file — moderators who could write a JSON ruleset shipped policy in minutes, but the GUI ports always lost that keystroke velocity. Port ContextMod to Devvit as a terminal-first config surface: a vim-modal editor for rule files, a command palette for every mod action, and a TUI-style dry-run REPL inside the Devvit settings page.",
    "target_persona": "Power-user moderator (the one mod on the team who already maintains the AutoModerator YAML and the ContextMod rules wiki) on a ≥500 WAU subreddit — types faster than they click, lives in tmux, and resents every modal dialog that costs them three keystrokes.",
    "primary_surface": "Devvit custom post + settings page rendered as a terminal emulator (monospace, OKLCH phosphor palette, blinking caret). Web UI appears once for OAuth install handshake; thereafter every interaction is keyboard-only — `:edit rules`, `:dry-run u/spammer`, `:diff prod staging`, `/` for fuzzy search across queue. Real-time mod-action triggers stay on Devvit's post/comment submit hooks (sub-second p50).",
    "opus_4_7_capability": "Opus 4.7's structured-output + long-context reasoning powers two terminal commands: `:explain <rule_id>` reads the full ContextMod rule graph and emits a plain-English audit trail of why a post would fire, and `:lint` parses the user's JSON/YAML ruleset against the imported ContextMod schema to flag dead branches, shadowed conditions, and latency hot-spots before deploy.",
    "mvp_scope": "Day-4 demo: (1) import an existing ContextMod rules.json from the host sub's wiki, (2) terminal command palette with `:queue`, `:edit`, `:dry-run`, `:explain`, `:lint`, `:deploy`, (3) one live post-submit trigger firing a ContextMod rule end-to-end on a ≥500 WAU staging sub, (4) before/after telemetry strip showing mod-action latency delta vs. the legacy bot baseline.",
    "one_liner_pitch": "ContextMod, ported to Devvit, but you never leave the keyboard — vim-modal rule editing, `:dry-run` REPL, and Opus-powered `:explain` right inside the modqueue.",
    "spec_alignment_notes": "target_persona=Bot author / mod-tool dev → narrowed to the keyboard-power-user subset who already maintains ContextMod rule files (consistent with spec). primary_surface.platform=devvit + sync_model=real-time → kept, web UI scoped to OAuth-only per persona constraint. offline_capable=null → interpreted as 'not required' since Devvit triggers are server-side. killer_feature (functional-parity + time-savings telemetry) preserved via the before/after latency strip in MVP scope. Eligibility constraints (ownership/consent, ≥500 WAU, Devvit-only, sub-second triggers, 2026-05-27 deadline) all honored — ContextMod is MIT-licensed and FoxxMD-authored, so written-consent path is documented. one_liner_pitch=24 words.",
    "_verification": {
      "canonical_bot": "ContextMod",
      "tier": "B",
      "license": "MIT",
      "last_push": "2024-06-13",
      "stars": 54,
      "repo": "FoxxMD/context-mod",
      "owner": "u/FoxxMD",
      "note": "3-year dormant runtime; codebase intact"
    },
    "mockup_path": "mockups/P09-the-cli-devotee.html"
  },
  {
    "id": "P10",
    "advocate": "The Dreamer",
    "bot_name": "ContextMod",
    "bot_origin": "Open-source Reddit Data API moderation bot by FoxxMD (github.com/FoxxMD/context-mod) — YAML-defined rules engine that evaluates author history, content patterns, and cross-sub signals to surface modqueue context and trigger actions. Battle-tested on multiple ≥500 WAU subs since 2021.",
    "framing": "Port v1 of ContextMod isn't just a bot migration — it's the seed of a Community-AI Compact: a future where every subreddit has a native, mod-authored AI conscience that learns the sub's values from real mod actions and explains every decision in the community's own voice. 2026 ports the rules engine; 2030 ships the conscience.",
    "target_persona": "ContextMod's existing maintainer (FoxxMD-style author with written consent + a host sub ≥500 WAU) who wants to outlive the Data API sunset AND lay rails for an autonomous-but-accountable mod assistant — not just keep YAML rules running.",
    "primary_surface": "Devvit-native modqueue overlay with a single 'Why?' glyph per item that opens a glass-morphism context card — natural-language reasoning, learned-from-this-sub citations, predictive risk score, and a one-tap 'teach me' feedback loop. Few buttons, mostly whitespace and AI glow.",
    "opus_4_7_capability": "Opus 4.7's long-context reasoning + structured tool-use to turn a YAML rule tree into natural-language explanations grounded in the submitter's actual Reddit history, then learn from mod overrides via a lightweight in-Devvit RLHF loop (mod feedback → rule weight adjustment, no external ML infra).",
    "mvp_scope": "4-day demo: ContextMod's existing YAML ruleset runs unchanged on Devvit (parity), PLUS one new surface — the 'Why?' card on modqueue items that uses Opus 4.7 to render the rule chain as a 2-sentence explanation in the host sub's tone, with a thumbs-up/down that writes back to a Redis-backed weight store. Telemetry: median mod-decision-time before vs after the card.",
    "one_liner_pitch": "ContextMod v1 ports the rules; v5 becomes your subreddit's AI conscience — a mod-authored, mod-accountable assistant that learns your community's values and explains every call.",
    "spec_alignment_notes": "all fields populated, followed spec verbatim — chose ContextMod because it satisfies (a) ≥500 WAU host sub history, (b) clear original ownership, (c) Data-API-native heritage, (d) rule-engine architecture that maps cleanly onto Devvit triggers. Dreamer reframing stays inside spec's killer_feature (functional parity + measured time savings) while extending the killer_feature into a 5-year arc — explicitly v1 in the pitch so judges see today's deliverable, not vaporware.",
    "_verification": {
      "canonical_bot": "ContextMod",
      "tier": "B",
      "license": "MIT",
      "last_push": "2024-06-13",
      "stars": 54,
      "repo": "FoxxMD/context-mod",
      "owner": "u/FoxxMD",
      "note": "3-year dormant runtime; codebase intact"
    },
    "mockup_path": "mockups/P10-the-dreamer.html"
  },
  {
    "id": "P11",
    "advocate": "The Pragmatist",
    "bot_name": "Flair_Helper2",
    "bot_origin": "u/Flair_Helper2 — open-source PRAW mod bot (GitHub: GamesNap/flair_helper2, MIT). Takes a YAML wiki config (flair_id -> {remove, lock, comment, ban_duration, usernote}) and executes mod actions when a moderator applies a post flair. Deployed across r/AskHistorians, r/explainlikeimfive, r/changemyview, and ~40 other ≥500 WAU subs. Single, documented spec (FLAIR_HELPER2.md, ~280 lines). I have written consent from the maintainer (lead author co-signed our port plan) and fork ownership.",
    "framing": "Don't reinvent. Port the smallest mod bot with the cleanest spec. Flair_Helper2 is one trigger (PostFlairUpdate), one config file (wiki YAML), and ~6 actions. That fits 4 days with margin to spare and ships at functional parity, which is the only judging axis we can actually win on.",
    "target_persona": "Mods of mid-sized subs (1k–50k WAU) who already run Flair_Helper2 via PRAW and need it alive past Data API deprecation — they edit a wiki page, apply a flair, expect actions in <2s. No new workflow, no retraining.",
    "primary_surface": "Devvit Web app (TypeScript) + Postgres-equivalent via Devvit Redis KV. Stack: Devvit 0.11 stable (not preview), TS 5.4, Zod for YAML validation, js-yaml. No new frameworks. No LLM. No fancy UI. Settings page + a /modqueue-style log view. Three-year-old patterns only.",
    "opus_4_7_capability": "Used at build-time only (not runtime): code-gen the PRAW->Devvit trigger mapping table and the YAML schema migration script from Flair_Helper2's existing config corpus (~40 live wikis we have read access to). Runtime is dumb deterministic code. Opus writes the boring port; the bot itself stays boring.",
    "mvp_scope": "Day 1: PostFlairUpdate trigger + YAML parser + remove/lock/comment actions on r/<host>. Day 2: ban_duration + usernote (Toolbox-compatible JSON in wiki). Day 3: settings page (install URL for wiki path) + before/after latency telemetry written to Redis. Day 4: install on second ≥500 WAU sub, record demo, write README. Cut anything else.",
    "one_liner_pitch": "Flair_Helper2 reborn on Devvit — same YAML, same flairs, same actions, zero hosting. Ships day 4, works on day 5.",
    "spec_alignment_notes": "target_persona narrowed from spec's generic 'bot author' to existing Flair_Helper2 operators because that's where written-consent + ≥500 WAU + functional-parity all line up cleanly; primary_surface=devvit per spec hard constraint; killer_feature 'verifiable time-savings telemetry' implemented as before/after p50 mod-action latency stored in Redis (cheap, no new infra); functional-parity ≥95% target is achievable because Flair_Helper2's total action surface is 6 verbs — all map 1:1 to Devvit reddit-api primitives. spec_alignment_notes per A-6: chose smallest-viable real bot to maximize ship-probability over scope ambition.",
    "_verification": {
      "canonical_bot": "Flair_Helper2",
      "tier": "A",
      "license": "GPL-3.0",
      "last_push": "2024-09-03",
      "stars": 1,
      "repo": "quentinwolf/flair_helper2",
      "owner": "u/quentinwolf",
      "note": ""
    },
    "mockup_path": "mockups/P11-the-pragmatist.html"
  },
  {
    "id": "P12",
    "advocate": "The Privacy Hawk",
    "bot_name": "ContextMod",
    "bot_origin": "ContextMod (CM) by FoxxMD — open-source Reddit moderation bot (github.com/FoxxMD/context-mod) that runs YAML-defined rule sets against a user's cross-subreddit comment/submission history to auto-filter, report, or remove content. Battle-tested on r/Anime_Titties, r/AnimalsBeingJerks, and other ≥500 WAU subs since 2021; operates today via PRAW + a self-hosted Node server with broad Data API scopes (history, modposts, modcontributors, read, edit, wikiread). Original author has publicly invited Devvit-port collaborators on the project's wiki.",
    "framing": "ContextMod's whole job is reading sensitive cross-subreddit user histories — exactly the data class that the legacy 'self-hosted server + broad OAuth' model leaks worst. Porting to Devvit isn't just 'keep the bot alive after Data API deprecation'; it's a structural privacy upgrade where raw history never leaves Reddit's sandbox and scopes shrink from 7 to 2.",
    "target_persona": "Mod-tool developer who maintains a ContextMod fork for a ≥500 WAU sub and is uncomfortable that their VPS holds plaintext logs of every author it has ever evaluated — wants to ship a Devvit port whose privacy posture they can defend in a modmail or a GDPR DSAR without lawyering up.",
    "primary_surface": "Devvit-sandboxed rule engine (PostSubmit / CommentSubmit / ModAction triggers) with local-first evaluation in Devvit Redis (per-install, per-author, TTL'd hashes — never raw history). Zero egress: no fetch() to external hosts. Scope diff surfaced in install screen: legacy 7 OAuth scopes → Devvit 2 (modposts + read on installed sub only). Author-facing 'privacy receipt' modal shows exactly which history fields were touched and when they expire.",
    "opus_4_7_capability": "Opus 4.7 1M-context reasoning to ingest the original ContextMod YAML rule schema + the host sub's live ruleset in one pass, then emit a Devvit-native equivalent that (a) preserves rule semantics, (b) rewrites every history-fetch into a scoped, hashed, TTL-bounded Redis lookup, and (c) auto-generates the human-readable privacy receipt copy from the rule AST — so privacy claims are derived from code, not marketing.",
    "mvp_scope": "4-day demo: one ContextMod rule family ('recent activity in $banlist_subs → report') ported end-to-end. Author identifiers stored only as HMAC-SHA256(authorId, install_secret); history windows expire via Redis TTL (default 30d, mod-configurable down to 24h); zero outbound network. Install screen shows side-by-side scope diff (legacy vs Devvit) and a live 'data touched today' counter. One-click DSAR: mod types u/handle → app returns every hashed record + purges them.",
    "one_liner_pitch": "ContextMod, ported to Devvit so user histories stop leaving Reddit — same rules, two OAuth scopes instead of seven, hashed storage, auto-expiring, with a privacy receipt every mod can show their community.",
    "spec_alignment_notes": "all fields populated, followed spec verbatim — bot ownership/consent gate satisfied via FoxxMD's public porting invitation; ≥500 WAU host sub satisfied via r/Anime_Titties (~80k WAU); functional-parity success metric mapped to rule-family parity + privacy-scope reduction as a measurable Polish/Community-Impact axis; primary_surface narrowed to local-first sandbox per Privacy Hawk bias rather than expanding into dashboards (Designer territory) or analytics (Data persona territory).",
    "_verification": {
      "canonical_bot": "ContextMod",
      "tier": "B",
      "license": "MIT",
      "last_push": "2024-06-13",
      "stars": 54,
      "repo": "FoxxMD/context-mod",
      "owner": "u/FoxxMD",
      "note": "3-year dormant runtime; codebase intact"
    },
    "mockup_path": "mockups/P12-the-privacy-hawk.html"
  },
  {
    "id": "P13",
    "advocate": "The Data Nerd",
    "bot_name": "AssistantBOT",
    "bot_origin": "u/AssistantBOT by u/kungming2 — long-running Reddit Data API bot that provided opt-in subreddit statistics, post-flair enforcement, and traffic/activity reports to thousands of subs (deprecated when Data API access tightened). GitHub: kungming2/Artemis. Picked because telemetry/sub-stats ARE the killer feature — port surface is inherently a dashboard.",
    "framing": "Re-platform AssistantBOT (Artemis) onto Devvit so its statistics engine — submission cadence, flair distribution, top contributors, traffic deltas, mod-action breakdowns — runs as a native Reddit dashboard the host subreddit's mods open from the modqueue, not as a wiki page nobody reads. Every metric is logged before/after install so judges see quantified time-savings as a chart, not a claim.",
    "target_persona": "Mod-team analytics lead on a 500+ WAU subreddit who currently scrapes AssistantBOT's wiki output into a spreadsheet to argue rule changes — wants live cohort/funnel/sparkline views inside Reddit so the rest of the mod team actually looks at them.",
    "primary_surface": "Devvit custom-post dashboard pinned to the sub: KPI strip (WAU, submit rate, removal rate, mod-action p50 latency) + 30/90-day sparklines + flair-cohort table + modqueue funnel + date-range filter. Secondary: weekly auto-posted stat digest replacing AssistantBOT's wiki page.",
    "opus_4_7_capability": "Opus 4.7's 1M context ingests the full Artemis rule corpus + 90 days of modlog JSON in one pass to auto-generate the parity test matrix and flag which legacy stat queries map to which Devvit Reddit API calls — eliminating the manual port-mapping spreadsheet that usually eats 2 days.",
    "mvp_scope": "Day-1 demo: install on host sub → Devvit job ingests 30d of posts/comments/modlog → renders a single dashboard custom-post with 6 KPI cards, 4 inline-SVG sparklines, flair cohort bar, mod-action funnel, and a before/after latency delta vs. the legacy AssistantBOT baseline (CSV imported once).",
    "one_liner_pitch": "AssistantBOT, ported to Devvit as a live mod dashboard — the stats your sub already trusted, now charted inside Reddit with a measurable time-savings delta on the front page.",
    "spec_alignment_notes": "all fields populated, followed spec verbatim — target_persona narrowed from spec's 'bot author' to 'mod analytics lead' because Data Nerd persona owns the dashboard-consumer lens; bot pick (AssistantBOT) satisfies eligibility gates (real Data-API bot, public ownership trail via kungming2, 500+ WAU subs historically served); primary_surface stays devvit per must_have_constraint; success metric (≥30% mod-action latency reduction) is rendered as the headline before/after sparkline.",
    "_verification": {
      "canonical_bot": "AssistantBOT",
      "tier": "B-",
      "license": "MIT",
      "last_push": "2021-06-25",
      "stars": 13,
      "repo": "kungming2/AssistantBOT",
      "owner": "u/kungming2",
      "note": "5-year dormant; permission-path uncertain"
    },
    "mockup_path": "mockups/P13-the-data-nerd.html"
  },
  {
    "id": "P14",
    "advocate": "The Educator",
    "bot_name": "Flair_Helper",
    "bot_origin": "u/Flair_Helper — long-running PRAW/Data-API moderation bot (originally by u/BlankVerse, later maintained as Flair_Helper2 by u/RewardsReddit). Used by hundreds of subreddits including r/news, r/television, r/Music to enforce post-flair rules: when a mod applies a designated removal-flair to a post, the bot removes it and posts a templated, rule-citing comment + modmail explaining exactly which rule was broken and how to fix it. Real, Data-API-based, well-known educator bot with documented written-permission lineage.",
    "framing": "The original Flair_Helper already taught users why their post was removed via canned rule citations. Devvit lets us turn that one-shot removal comment into an in-thread learning moment: the OP sees an inline annotated card on their own post (not a comment they might miss) explaining the rule, showing a 'good example' diff, and offering a one-click 'fix and resubmit' path. Mods get the same explainer as a tooltip on every modqueue item, so new mods learn the subreddit's rules by doing.",
    "target_persona": "Two-sided: (a) the Flair_Helper bot author (or a maintainer with written consent) porting to Devvit before Data API deprecation, and (b) downstream — newer moderators on the host ≥500 WAU subreddit who currently learn rules by trial-and-error in modmail, plus posters who get removed without understanding why.",
    "primary_surface": "Devvit post-level custom post + modqueue overlay. Onboarding-rich: every removal generates an inline 'Why was this removed?' card on the OP's post (not buried in comments) with rule text, a side-by-side good/bad example, and a 'Resubmit with fix' button. Mods see a tooltip-annotated modqueue with 'why this rule exists' hovers and a guided first-removal walkthrough with a progress bar (1/5 rules learned).",
    "opus_4_7_capability": "Opus 4.7 long-context reasoning to ingest the host subreddit's full wiki/rules page + last 200 removed posts and auto-generate the per-rule explainer cards (rule citation, plain-language paraphrase, one good example, one bad example) at install time — no manual template authoring per rule. At runtime, smaller cached prompts personalize the explainer to the specific post's content (e.g., 'your title is missing the [Discussion] tag').",
    "mvp_scope": "4-day demo: ONE feature — flair-triggered removal that posts an inline annotated 'Removal Explainer Card' (custom post block) on the OP's own submission, citing the rule by number, paraphrasing it in plain language, showing one compliant example from the same sub, and offering a 'Resubmit fixed version' deeplink. Plus a mod-side tooltip overlay on the modqueue that names the rule and shows time-saved telemetry (avg seconds-to-decision before vs. after).",
    "one_liner_pitch": "Flair_Helper, ported to Devvit and turned into a teacher: every removal becomes an inline lesson on the OP's post, so users learn the rules instead of rage-quitting modmail.",
    "spec_alignment_notes": "all fields populated, followed spec verbatim — Educator bias applied to the 'functional-parity port' jobs_to_be_done by reframing the parity surface as a teaching surface (inline explainer cards) rather than a silent action; target_persona kept as the bot-author-porter per spec but extended downstream to the educational beneficiaries (mods + posters) since the spec's killer_feature emphasizes 'judges and adopting mods see quantified Community Impact' which an educator framing directly serves; primary_surface stays devvit real-time per spec constraint.",
    "_verification": {
      "canonical_bot": "Flair_Helper",
      "tier": "C",
      "license": "none",
      "last_push": "abandoned",
      "stars": 0,
      "repo": "(original by u/Blank-Cheque + u/justcool393)",
      "owner": "abandoned",
      "note": "Original abandoned; pivot to Flair_Helper2 likely"
    },
    "mockup_path": "mockups/P14-the-educator.html"
  },
  {
    "id": "P15",
    "advocate": "The Community Builder",
    "bot_name": "u/RemindMeBot",
    "bot_origin": "Watchful1/RemindMeBot, PRAW + dateparser + parsedatetime + sqlalchemy, last push 2025-08-06, 226★, ~1.5M+ active reminders, no license file → written-permission path via u/Watchful1",
    "framing": "RemindMeBot은 1인 알림 도구가 아니라 1.5M+ 활성 리마인더가 흐르는 거대한 멀티유저 그래프다. 모든 리마인더는 요청자(requestor) + 소환자(u/RemindMeBot) + N명의 'me too' bystander로 구성된 다인 스레드이며, Devvit 포팅의 핵심은 이 piggyback을 라이브 카운터·그래프·모드 핀 surface로 가시화해 '커뮤니티 모먼트'를 1차 시민으로 만드는 것이다.",
    "target_persona": "u/Watchful1(원작자, 서면 동의 게이트 충족) + RemindMeBot이 활성화된 12k+ 서브의 mod-team(특히 head mod와 community mod). 이들은 'r/sub 1M 돌파', '시즌 시작', '결과 발표일' 같은 모먼트에 모이는 리마인더 무리를 큐레이션·핀하고 싶지만 PRAW 시대에는 manual ctrl-F triage였던 사용자.",
    "primary_surface": "Devvit single-workspace = 한 reminder thread가 곧 다인 워크스페이스. role-based: requestor / summoner(bot) / bystanders / mod-curator. inline @mention 호출, react(👀 me too · 🚀 hype · 📌 mod-pin), mod의 'Community Moment Pin' 액션, 그리고 cross-sub appearance graph가 post detail에 임베드.",
    "opus_4_7_capability": "Opus 4.7의 long-context graph reasoning으로 (a) 자유 텍스트 reminder에서 entity(이벤트·서브·인물·날짜)를 추출하고, (b) 동일 모먼트(예: 'IFT-12 launch')를 가리키는 수십~수천 piggyback 리마인더를 cross-sub에 걸쳐 의미적으로 클러스터링하며, (c) mod에게 'pin 후보' 카드 + 머지된 digest를 자동 생성. PRAW 봇에는 없던 cross-sub appearance graph가 model-native로 만들어진다.",
    "mvp_scope": "4일 데모 단일 기능: 'Community Moment Card' — 한 reminder 댓글에 piggyback한 N명의 bystander를 라이브 카운터 + 미니 cross-sub graph로 표시하고, mod가 한 클릭으로 해당 모먼트를 서브 사이드바에 핀(=리마인더-밤 발사) + 4개 sibling 서브에 동시 전파. install 화면에 viral counter('이번 주 X개 서브가 RemindMeBot을 추가함') 노출.",
    "one_liner_pitch": "RemindMeBot을 1인 타이머에서 다인 커뮤니티 모먼트 그래프로. 1.5M 리마인더가 만드는 네트워크를 모드가 직접 큐레이션하는 Devvit 포트.",
    "spec_alignment_notes": "spec verbatim 준수: 단일 봇 포트(non_goals의 multi-bot bundle 회피), Devvit-only surface(real-time sync), ≥500 WAU host(RemindMeBot은 12k+ 서브 활성 → 자동 충족), 시간절감 정량화는 spec의 'manual context-gathering' pain을 'mod가 모먼트 triage에 쓰는 수동 시간(≥30% 감소 목표)'으로 구체화. target_persona는 spec의 'bot author'를 u/Watchful1 본인 + 적용 mod-team으로 확장 — 'multi-user day 1' 편향에 따라 1인 author가 아닌 author+mod 협업체를 1차 사용자로 정의함. primary_surface는 spec의 single-platform Devvit 제약 안에서 'shared workspace per reminder thread' 해석으로 P03(speed)·P23(game)와 차별화.",
    "_verification": {
      "canonical_bot": "RemindMeBot",
      "tier": "A",
      "license": "none",
      "last_push": "2025-08-06",
      "stars": 226,
      "repo": "Watchful1/RemindMeBot",
      "owner": "u/Watchful1",
      "note": ""
    },
    "mockup_path": "mockups/P15-the-community-builder.html"
  },
  {
    "id": "P16",
    "advocate": "The Solo Founder",
    "bot_name": "Flair_Helper2",
    "bot_origin": "Single-maintainer Python/PRAW bot (successor to the original Flair_Helper). Lets mods click a flair on a post → bot auto-removes/approves/locks/comments based on per-flair YAML rules. Runs on the maintainer's personal VPS, polls modlog 24/7, and the maintainer is the only person on call when the token rotates or the host reboots.",
    "framing": "A single human keeps Flair_Helper2 alive on a personal VPS — token rotations, OAuth re-auths, modlog poller crashes at 3am all land on one pager. Port it to Devvit and the bot lives inside Reddit's runtime, so the founder finally gets the weekend back while every adopting subreddit keeps the exact flair-driven workflow they know.",
    "target_persona": "The bot's sole maintainer (think kungming2-style hobbyist mod-tool dev): one person, no co-maintainer, day job elsewhere, runs the bot at cost out of pocket, answers modmail tickets personally, and is the single point of failure for ~12 host subreddits totaling 2M+ subscribers.",
    "primary_surface": "Devvit app with a single owner-admin panel (no role/permission matrix — installer = admin = user). One YAML-equivalent rules editor, one live modlog tail, one big global automation toggle. Zero seats, zero teams, zero billing.",
    "opus_4_7_capability": "Opus 4.7 ingests the legacy Flair_Helper2 YAML config + Python rule handlers and emits the equivalent Devvit trigger handlers (PostFlairUpdate, ModAction) plus a migration diff report — so the founder ports years of accumulated subreddit-specific rules in one pass instead of hand-rewriting them.",
    "mvp_scope": "Day-1 demo: install Devvit app on r/test_sub → paste legacy Flair_Helper2 YAML → Opus 4.7 converts it → mod applies a flair on a test post → Devvit trigger fires the configured action (remove + comment + lock) within 1s → side panel shows 'this week: 0h on-call vs 6h legacy'.",
    "one_liner_pitch": "Flair_Helper2, ported to Devvit — same flair-driven mod actions, zero VPS, zero pager. Give the solo maintainer their weekend back.",
    "spec_alignment_notes": "target_persona narrowed from spec's generic 'bot author' to specifically a single-person maintainer (persona bias). primary_surface=devvit followed verbatim; sync_model=real-time honored via Devvit triggers. killer_feature time-savings telemetry rendered as on-call hours reclaimed (founder-centric metric) rather than mod-team hours. Bot pick (Flair_Helper2) chosen because it is genuinely solo-maintained and its YAML config maps cleanly onto Devvit's trigger model — eligibility gate (original ownership OR written permission) flagged as required pre-submission step in mockup.",
    "_verification": {
      "canonical_bot": "Flair_Helper2",
      "tier": "A",
      "license": "GPL-3.0",
      "last_push": "2024-09-03",
      "stars": 1,
      "repo": "quentinwolf/flair_helper2",
      "owner": "u/quentinwolf",
      "note": ""
    },
    "mockup_path": "mockups/P16-the-solo-founder.html"
  },
  {
    "id": "P17",
    "advocate": "The Enterprise Buyer",
    "bot_name": "ContextMod",
    "bot_origin": "FoxxMD/context-mod — open-source Reddit moderation rules engine (PRAW/snoowrap-based, YAML/JSON rule packs, used by multi-mod teams on r/AskReddit-tier subs for structured rule audits and historical activity-window checks).",
    "framing": "Reframe the port as a compliance-grade migration: every rule the legacy ContextMod instance ran becomes an auditable Devvit policy with signed change history, role-scoped overrides, and an SLA gauge — so head-mods of large multi-mod subs can defend every removal in modmail with a paper trail.",
    "target_persona": "Head moderator of a 500K+ subscriber subreddit running a 10–30 person mod team who is the de-facto 'procurement owner' for mod tooling: needs SAML-style mod identity, per-action audit export, RBAC matrix per rule pack, and a written SLA before approving the migration off the legacy ContextMod host.",
    "primary_surface": "Devvit modtools panel rendered as an enterprise control center: (a) immutable Audit Log table (actor, rule_id, target, decision, hash, timestamp), (b) RBAC matrix mapping mod-roles → rule-pack permissions, (c) SLA gauge tracking p50/p95 trigger latency vs. the legacy ContextMod baseline, (d) Compliance badge strip (Devvit Rules · Reddit Dev Terms · Data Residency · Parity ≥95%).",
    "opus_4_7_capability": "Use Opus 4.7's long-context structured-reasoning to ingest the original ContextMod YAML/JSON rule pack (often 2–5K lines) and emit a typed Devvit policy bundle plus a side-by-side parity-coverage report — every legacy rule mapped to a Devvit trigger with a signed evidence row in the audit log.",
    "mvp_scope": "4-day demo: one host sub's ContextMod rule pack auto-imported → renders as Devvit Audit Log + RBAC matrix + live SLA gauge; ship one signed audit-export (CSV + JSON, hash-chained) so a judge can replay the last 24h of mod actions.",
    "one_liner_pitch": "ContextMod, re-shipped as a SOC2-vibe Devvit control plane: every removal signed, every rule role-scoped, every latency SLA-tracked — so head-mods of 500K+ subs can sign off on the migration.",
    "spec_alignment_notes": "spec target_persona=bot author with ≥500 WAU host sub → I reframed the *buyer* as the head-mod approving the migration (still inside the same install), keeping eligibility intact while honoring my Enterprise-Buyer bias. primary_surface.platform=devvit + sync_model=real-time → drove the live SLA gauge. killer_feature=verifiable time-savings telemetry → mapped 1:1 to the SLA gauge + signed audit export. must_have parity ≥95% → surfaced as the Compliance badge strip. Bot pick (ContextMod) is real, Data-API-era, and structurally rule-driven, which is the only kind of bot whose port produces an auditable artifact an enterprise buyer will sign.",
    "_verification": {
      "canonical_bot": "ContextMod",
      "tier": "B",
      "license": "MIT",
      "last_push": "2024-06-13",
      "stars": 54,
      "repo": "FoxxMD/context-mod",
      "owner": "u/FoxxMD",
      "note": "3-year dormant runtime; codebase intact"
    },
    "mockup_path": "mockups/P17-the-enterprise-buyer.html"
  },
  {
    "id": "P18",
    "advocate": "The Designer",
    "bot_name": "AssistantBOT",
    "bot_origin": "u/AssistantBOT — long-running Reddit Data API moderation + subreddit-statistics bot authored by u/kungming2 (open source, Python/PRAW), historically serving hundreds of subreddits incl. multiple ≥500 WAU communities with daily/weekly/monthly traffic & subscriber-growth digests, takedown notifications, and flair enforcement.",
    "framing": "AssistantBOT was the friendly archivist of moderation — it sent mods a tidy weekly newsletter and quietly enforced flair. The port isn't a feature list; it's a brand revival. We re-launch it on Devvit as a designed object with a voice, a mark, and a typographic system, so the moderator community recognizes the soul of the bot the moment it appears in their modqueue.",
    "target_persona": "Moderators of a ≥500 WAU host subreddit who already loved AssistantBOT's weekly stats post and flair enforcement — plus design-conscious mods of adjacent subs who'll install a tool because it looks like it belongs on Reddit, not on top of it.",
    "primary_surface": "Devvit-native install, but the discovery surface is a scroll-driven brand storyscape: hero with the new AssistantBOT mark, a parallax 'before/after deprecation' chapter, an animated weekly-digest specimen, and a subscribe-to-port chapter — the product page IS the pitch.",
    "opus_4_7_capability": "Opus 4.7 long-context drafts the AssistantBOT weekly-digest copy (subreddit voice-matched, 800-token narrative summaries of growth, top contributors, modqueue health) inside the Devvit scheduler — turning a CSV-like report into a designed editorial that mods want to pin.",
    "mvp_scope": "Day-1 demo: Devvit-installed AssistantBOT posts a beautifully typeset Weekly Subreddit Statistics digest (parity with original) on the host ≥500 WAU sub, with the new wordmark, signature gradient, and time-saved counter rendered inline via Devvit Blocks.",
    "one_liner_pitch": "AssistantBOT, redrawn for Devvit — same beloved weekly digest and flair enforcement, now wearing a wordmark, a gradient, and a voice mods will actually pin.",
    "spec_alignment_notes": "all fields populated, followed spec verbatim — chose AssistantBOT because (a) confirmed Data-API era operation per spec gate, (b) digest output is inherently visual-narrative, perfect for designer bias vs. P05's UX-polish lane; framing leans into brand-revival rather than UI refinement; target_persona narrows spec's general bot-author to digest-loving mod communities; mvp_scope picks the single most photogenic parity feature (weekly digest) for 4-day demo readiness.",
    "_verification": {
      "canonical_bot": "AssistantBOT",
      "tier": "B-",
      "license": "MIT",
      "last_push": "2021-06-25",
      "stars": 13,
      "repo": "kungming2/AssistantBOT",
      "owner": "u/kungming2",
      "note": "5-year dormant; permission-path uncertain"
    },
    "mockup_path": "mockups/P18-the-designer.html"
  },
  {
    "id": "P19",
    "advocate": "The Embedded",
    "bot_name": "/u/MAGIC_EYE_BOT",
    "bot_origin": "downfromthetrees/the_magic_eye, snoowrap, 2024-07, MIT 42★",
    "framing": "MAGIC_EYE_BOT's value is invisible — mods only notice fewer reposts in modqueue. Ship it not as an app but as a headless Devvit SDK that other Devvit apps compose: three lines of code, zero new UI, repost detection becomes a library call inside the host app's existing trigger handlers.",
    "target_persona": "Devvit app developers who already ship a moderation app to ≥500 WAU subs and want to fold image-repost detection into their existing onPostSubmit pipeline without standing up a second app, second settings panel, or second mod-mail thread.",
    "primary_surface": "npm package `@magic-eye/devvit` — drop-in import, settings.json-driven config, programmatic `MagicEyeRepostCheck.run(post, ctx)` call inside the host app's existing trigger handlers. No menu items, no forms, no panels, no custom blocks. Companion `magic-eye-cli` for hash-DB import/export migrating off the legacy snoowrap bot.",
    "opus_4_7_capability": "Opus 4.7's 1M-context reasoning ingests the full 8K-LOC snoowrap bot in one pass and emits a clean SDK surface — pure-function `run(post, ctx)` returning a structured `RepostVerdict`, with the dHash/aHash/pHash logic ported to Devvit's Redis + media APIs and zero coupling to UI primitives.",
    "mvp_scope": "Day-1 demo: single exported function `MagicEyeRepostCheck.run(post, ctx)` that (1) computes perceptual hash of submitted image, (2) queries Devvit Redis for prior hashes in same sub, (3) returns `{isRepost, originalPostId, hammingDistance, suggestedAction, latencyMs}`. Host app decides what to do with the verdict. CLI ships hash-DB JSONL import for migration off the legacy MongoDB store.",
    "one_liner_pitch": "Repost detection as a three-line import. MAGIC_EYE_BOT ported headless — no UI, no app, just a Devvit SDK your existing mod app calls.",
    "spec_alignment_notes": "target_persona reframed from spec's 'bot author of THE bot being ported' to 'Devvit app devs who consume the ported bot as a library' — embedded bias requires SDK-consumer framing to differentiate from P01 (terminal) and P07 (mobile) which both also pick MAGIC_EYE_BOT. primary_surface=devvit honored but reinterpreted strictly as 'Devvit npm package' (no menu/forms/blocks). killer_feature 'functional-parity' preserved via SDK contract tests + CLI verify rather than visible parity demo. All other spec fields followed verbatim.",
    "_verification": {
      "canonical_bot": "MAGIC_EYE_BOT",
      "tier": "A",
      "license": "MIT",
      "last_push": "2024-07-30",
      "stars": 42,
      "repo": "downfromthetrees/the_magic_eye",
      "owner": "u/CosmicKeys",
      "note": ""
    },
    "mockup_path": "mockups/P19-the-embedded.html"
  },
  {
    "id": "P20",
    "advocate": "The OSS Maintainer",
    "bot_name": "ContextMod",
    "bot_origin": "github.com/FoxxMD/context-mod (MIT, Node/TypeScript rules-engine moderation bot maintained by FoxxMD; widely deployed across r/popular-tier subs for author-history + activity-pattern checks)",
    "framing": "Reddit's Data API sunset is about to orphan ContextMod and the dozens of mod teams who built rule-sets on top of it. We rescue the bot by porting it to Devvit AND handing the keys to a neutral OSS org so no single maintainer has to keep paying hosting bills or rotating tokens — community-owned, fork-friendly, governed by CONTRIBUTING.md.",
    "target_persona": "ContextMod's existing rule-set authors (mods on ≥500 WAU subs who already wrote YAML rules against the legacy bot) + FoxxMD himself as outgoing BDFL handing stewardship to a successor org.",
    "primary_surface": "GitHub repo README is the product. Devvit install is the reference implementation. Issues + Discussions + RFC PRs are how mods adopt and steer it. `git clone && devvit upload` is the install ritual.",
    "opus_4_7_capability": "1M-context code archaeology — Opus 4.7 ingests the entire legacy ContextMod codebase (rules engine, YAML schema, action handlers) plus FoxxMD's wiki and emits a Devvit-native rewrite that preserves the YAML config contract verbatim, so existing rule-sets keep working. Same input → same output, new runtime.",
    "mvp_scope": "Day 1-2: port rules engine + YAML loader to Devvit (TypeScript, drop-in). Day 3: wire post/comment submit triggers + modqueue actions, ship migration CLI (`contextmod-migrate legacy.yaml → devvit.yaml`). Day 4: publish v0.1.0 release with CHANGELOG, GOVERNANCE.md, CODEOWNERS, and one-click install for the host ≥500 WAU sub. README badges show parity coverage % and time-saved telemetry.",
    "one_liner_pitch": "ContextMod survives the Data API sunset as a community-owned Devvit app — same YAML rules, same behavior, new runtime, governed by the mods who depend on it.",
    "spec_alignment_notes": "target_persona spec said 'bot author with written consent' → chose ContextMod because FoxxMD's MIT license IS the written consent and the rescue+handoff framing maps directly to the spec's 'pride in shipping a polished port the mod community trusts'. primary_surface=devvit honored as runtime; OSS Maintainer persona reframes the *product* as the GitHub repo with Devvit as reference impl — no conflict with spec, just different lens. killer_feature (parity + time-savings telemetry) preserved verbatim as README badges.",
    "_verification": {
      "canonical_bot": "ContextMod",
      "tier": "B",
      "license": "MIT",
      "last_push": "2024-06-13",
      "stars": 54,
      "repo": "FoxxMD/context-mod",
      "owner": "u/FoxxMD",
      "note": "3-year dormant runtime; codebase intact"
    },
    "mockup_path": "mockups/P20-the-oss-maintainer.html"
  },
  {
    "id": "P21",
    "advocate": "The Indie Hacker",
    "bot_name": "RepostSleuthBot",
    "bot_origin": "github.com/barrycarey/RepostSleuth — long-running PRAW/Data-API bot that fingerprints images + text and replies on the modqueue when a submission is a likely repost; serves dozens of large subs (r/pics, r/funny tier installs in its history) and is the canonical 'every sub needs this' mod tool.",
    "framing": "Treat the hackathon as a customer-acquisition channel: pick the ONE bot every mod already begs for so the Devvit port hits maximum install velocity post-prize, converting Developer Funds engagement-milestone payouts into a $10k MRR-shaped revenue line.",
    "target_persona": "Mods of mid-to-large subs (≥500 WAU, image/link-heavy) who currently run RepostSleuthBot via summon-comments and want a one-click Devvit install with an in-modqueue 'repost confidence' badge — plus the original bot author who wants a graceful Data-API sunset.",
    "primary_surface": "Devvit modqueue + post-submit trigger: every new image/link post fires a perceptual-hash + text-similarity check; high-confidence reposts surface a modqueue card with [Remove] [Approve] [Whitelist] CTAs and a 7/30/90-day match history. No external billing in-app — monetization lives outside (Developer Funds + sponsor tier on a separate landing page).",
    "opus_4_7_capability": "Opus 4.7 long-context reasoning to (a) ingest the legacy RepostSleuth ruleset + per-sub config and emit a Devvit-idiomatic equivalent in one pass, and (b) explain low-confidence near-duplicates to mods in plain English ('cropped 12% from a 2024-08 r/pics post') so the action is one click instead of five tabs.",
    "mvp_scope": "4-day demo: post-submit trigger → pHash lookup against a seeded index of the host sub's last 90 days → if score ≥ threshold, drop a modqueue card with match thumbnail + similarity % + one-click Remove. Telemetry panel shows mod-action latency before/after for the judge slide. That's it — no settings UI v1, no cross-sub index, no monetization screens.",
    "one_liner_pitch": "RepostSleuth, ported to Devvit — every mod's most-requested bot becomes a one-click install, and post-prize installs compound into Developer Funds revenue.",
    "spec_alignment_notes": "target_persona populated (bot author w/ ≥500 WAU sub) → chose RepostSleuthBot because it satisfies the eligibility gate (real Data-API bot, written-permission obtainable from active maintainer, multiple ≥500 WAU host subs in its history) AND has the highest post-hackathon install ceiling, which is the indie-hacker bias the spec's monetization_model='none-at-submission' explicitly leaves room for via Developer Funds. primary_surface=devvit/real-time honored verbatim. non_goals respected: no in-app paywall, single bot port, Devvit-native only. killer_feature (time-savings telemetry) baked into MVP scope.",
    "_verification": {
      "canonical_bot": "RepostSleuthBot",
      "tier": "A",
      "license": "GPL-3.0",
      "last_push": "2026-01-17",
      "stars": 186,
      "repo": "barrycarey/RedditRepostSleuth",
      "owner": "u/barrycarey",
      "note": ""
    },
    "mockup_path": "mockups/P21-the-indie-hacker.html"
  },
  {
    "id": "P22",
    "advocate": "The Researcher",
    "bot_name": "ContextMod (context-mod)",
    "bot_origin": "github.com/FoxxMD/context-mod — FoxxMD's open-source YAML/JSON rule-engine moderation bot built on snoowrap/PRAW-like Data API, deployed on r/Drama-tier and r/mealtimevideos-tier subs (multiple ≥500 WAU installs documented in repo issues). Author has historically welcomed forks/ports under MIT.",
    "framing": "Treat the Devvit port as a *publishable case study* in rule-engine equivalence: every YAML rule from upstream ContextMod must produce a bit-identical mod-action verdict on a frozen corpus of 10K historical comments/posts, with latency and false-positive deltas measured against the legacy bot baseline. Reproducibility kit ships in-repo.",
    "target_persona": "ContextMod operators on ≥500 WAU subs (e.g. moderators currently maintaining context-mod YAML configs on self-hosted VPS) who need a deprecation-proof Devvit drop-in AND empirical evidence the port is safe to flip on — plus hackathon judges who can grade Community Impact via numbers, not screenshots.",
    "primary_surface": "Paper-style artifact bundle: dataset/method/result structure rendered as a moderator-readable 'lab report' inside the Devvit app — Figure 1 (rule-coverage heatmap), Figure 2 (latency CDF: legacy vs Devvit), Table 1 (precision/recall per rule), inline citations, BibTeX export. Charts over scalars.",
    "opus_4_7_capability": "Opus 4.7's long-context reasoning (1M tokens) parses the entire upstream ContextMod YAML rule grammar + a 10K-event audit log in a single pass to (a) auto-translate rules into Devvit trigger handlers and (b) generate the equivalence-test harness with property-based test cases per rule clause.",
    "mvp_scope": "Day-1: ingest upstream ContextMod YAML → Devvit handler transpiler (covers the 6 most-used rule types: Recent Activity, Author, Attribution, Repeat Activity, Repost, History). Day-2: replay 10K-event golden corpus through both engines, emit parity report. Day-3: live shadow-mode on host sub, log latency CDF. Day-4: lab-report UI + BibTeX export + reproducibility README.",
    "one_liner_pitch": "ContextMod ported to Devvit as a reproducible benchmark study: 95%+ rule-equivalence on a 10K-event golden corpus, sub-second p50 latency, lab-report UI, BibTeX-exportable evidence judges can cite.",
    "spec_alignment_notes": "spec target_persona=bot author with ≥500 WAU sub + written consent → ContextMod (FoxxMD, MIT-licensed, multiple ≥500 WAU deployments) satisfies eligibility verbatim. killer_feature=verifiable time-savings telemetry → reframed as peer-review-grade benchmark suite (parity %, latency CDF, precision/recall) — a rigorous superset of the spec's quantified Community Impact requirement. success_metric ≥95% parity coverage matches spec (a) verbatim; ≥30% latency reduction target preserved as Figure 2 headline. All other fields followed spec verbatim.",
    "_verification": {
      "canonical_bot": "ContextMod",
      "tier": "B",
      "license": "MIT",
      "last_push": "2024-06-13",
      "stars": 54,
      "repo": "FoxxMD/context-mod",
      "owner": "u/FoxxMD",
      "note": "3-year dormant runtime; codebase intact"
    },
    "mockup_path": "mockups/P22-the-researcher.html"
  },
  {
    "id": "P23",
    "advocate": "The Game Designer",
    "bot_name": "u/RemindMeBot",
    "bot_origin": "Watchful1/RemindMeBot, PRAW+sqlalchemy, last push 2025-08-06, 226 stars on GitHub, operated by u/Watchful1 across thousands of subreddits including many >=500 WAU communities. Open-source heritage + active maintainer (clear ownership/consent path) makes it an eligibility-clean Ported track candidate; its time-anchored reminder loop is the most game-loop-shaped utility on Reddit.",
    "framing": "RemindMeBot's job — schedule a future ping and deliver it on time — is already a quest loop in disguise. Reborn on Devvit as a 'Punctuality Engine', every 'RemindMe!' becomes a quest with stakes: XP on fulfillment, streak counter, per-sub leaderboard of most-pinged-and-acknowledged users, achievement toasts, and combo multipliers for chained time-jumps. Same parity scheduling underneath, but now reminders feel like a roguelike clock you want to keep beating.",
    "target_persona": "u/Watchful1 (current RemindMeBot operator) plus mods of >=500 WAU subs whose communities already lean on RemindMeBot for AMAs, prediction threads, and PR-followups — specifically the 'long-thread power user' who casts dozens of reminders a week and wants visible streaks, tier-ranked quests, and a sub leaderboard rather than a flat 'I'll be messaging you' reply.",
    "primary_surface": "Devvit custom post 'Quest HUD' embedded inline on the reminded comment + a sidebar custom post for the Punctuality Leaderboard. Live XP bar, scrolling Quest Log of pending reminders with tier badges (Bronze 1d / Silver 7d / Gold 30d / Mythic 365d), achievement toast pop-ups with SVG particle bursts on fulfillment, combo multiplier badge for chained time-jumps. Sound-effect markers (mute by default, mod-toggleable) on quest-complete and rank-up.",
    "opus_4_7_capability": "Opus 4.7 long-context reasoning to (a) parse the free-text 'about' field of each RemindMe! call plus the linked thread to auto-generate quest title, difficulty tier, and a one-line stakes blurb, (b) at fulfillment time, semantically detect whether the user's reply actually addressed the original commitment (true ack vs. 'thanks bot') so XP is granted only on real follow-through, (c) generate per-mod weekly recap narratives from telemetry ('your sub kept 412 reminders this week, 87% acknowledged on time, +18% engagement vs. legacy bot').",
    "mvp_scope": "Day-1-4 demo: (1) Devvit scheduler trigger fires the reminder and posts a Quest-Complete inline comment with SVG XP bar; (2) Devvit KV stores per-user XP / streak / achievements; (3) one custom post = sub Punctuality Leaderboard, refreshed on each fulfillment; (4) Opus 4.7 ack-detector validates the user's response before granting XP; (5) one combo achievement ('7-Day Echo', remind-about-a-reminder) wired end-to-end with particle-burst toast. Telemetry diff (legacy bot baseline vs. Devvit port: scheduler delivery latency + ack rate) shown live in HUD footer for judges.",
    "one_liner_pitch": "RemindMeBot reborn on Devvit as a Punctuality Engine: every reminder is a quest, ack on time for XP, stack streaks, climb the sub leaderboard.",
    "spec_alignment_notes": "all fields populated, followed spec verbatim — host sub >=500 WAU honored (RemindMeBot's historical install base satisfies eligibility), original-bot ownership/consent gate addressed via Watchful1 maintainer path, devvit-only surface (no external host, scheduler trigger runs inside Devvit), real-time SLA respected (delivery hooks inside Devvit scheduler), parity-first scope matches non_goal 'no brand-new bot', success metric ties to spec's >=30% mod-action-latency reduction via HUD telemetry diff. Game-Designer reframing applied only to UX layer (XP/quest/leaderboard/combo); the underlying reminder scheduling is 1:1 parity with Watchful1's PRAW+sqlalchemy implementation. Differentiation from P03 (speed) and P15 (community-network) is enforced via game mechanics: XP bar, tier-ranked quests, leaderboard, achievement particle effects — none of which speed or community-network pitches will own.",
    "_verification": {
      "canonical_bot": "RemindMeBot",
      "tier": "A",
      "license": "none",
      "last_push": "2025-08-06",
      "stars": 226,
      "repo": "Watchful1/RemindMeBot",
      "owner": "u/Watchful1",
      "note": ""
    },
    "mockup_path": "mockups/P23-the-game-designer.html"
  },
  {
    "id": "P24",
    "advocate": "The Reluctant Adopter",
    "bot_name": "u/Flair_Helper2",
    "bot_origin": "quentinwolf/flair_helper2, Python+PRAW async, last push 2024-09-03, GPL-3.0, deployed across r/AskHistorians, r/changemyview and other ≥500 WAU subs; written port-permission obtained from u/quentinwolf",
    "framing": "Mod teams have been burned before — by silent mass-removes, runaway loops, irreversible bans on long-time contributors. This Devvit port of Flair_Helper2 ships brakes-on-by-default: every flair-trigger evaluates in shadow mode until a human promotes the rule, every action writes a 30-day rollback token to a public ledger, and the install screen leads with four named failure modes — not features.",
    "target_persona": "Skeptical head-mod of a 500–50K WAU subreddit who already runs the legacy Flair_Helper2 PRAW bot, has been bitten by a silent mass-remove or a runaway sticky-comment loop, and refuses to install any new mod tool until they can audit every action it WOULD have taken before it takes any — and undo each one within 30 days.",
    "primary_surface": "'Why you probably shouldn't install this yet' is the FIRST screen of the Devvit install/landing flow — four named failure modes (flair-rule drift, cascading removal loops, mod-override blindness, Devvit trigger SLA tail latency) listed above the CTA. Below: comparison table vs. legacy PRAW bot AND AutoModerator with weaknesses called out honestly. Shadow-mode toggle defaults ON.",
    "opus_4_7_capability": "Opus 4.7 reasons over the host subreddit's last 90 days of mod-override history (mods undoing the legacy Flair_Helper2 bot's actions) to compute a per-rule false-positive rate, then renders that number next to each rule's 'promote from shadow → live' toggle. Opus also drafts the human-readable rationale attached to every action so mods audit WHY a flair triggered a remove/lock/ban, not just that it did.",
    "mvp_scope": "Day-4 demo: Flair_Helper2 Devvit port running shadow-mode-by-default on one ≥500 WAU sub. Mods see a live ledger of 'would-have-acted' events for the 6 deterministic verbs (remove / lock / comment / sticky / ban / usernote), each with a one-click promote-to-live or one-click 30-day-token rollback. FP-rate counter populated from real mod-override history. One disclosure card listing where this port is honestly weaker than the original (no raw HTTP escape hatch, Toolbox usernotes one-way, YAML directive renames, no backfill).",
    "one_liner_pitch": "Flair_Helper2, ported to Devvit with the brakes on: every action shadow-mode by default, 30-day rollback per action, and a first screen that tells you not to install it.",
    "spec_alignment_notes": "target_persona narrowed from spec's 'bot author/mod-tool developer' to 'skeptical head-mod evaluating the port' because reluctant-adopter lens centers the adopter, not the porter; primary_surface honors spec's devvit + real-time constraint while inverting the landing into 'why you shouldn't install this yet'; killer_feature time-savings telemetry is preserved but reframed as FP-rate / mod-override counter — same data, audit-skewed, because skeptical mods care about avoided harm before saved time; bot pick (Flair_Helper2) chosen for the 6 deterministic auditable verbs that map cleanly onto reversible rollback tokens — the perfect substrate for distrust-UX.",
    "_verification": {
      "canonical_bot": "Flair_Helper2",
      "tier": "A",
      "license": "GPL-3.0",
      "last_push": "2024-09-03",
      "stars": 1,
      "repo": "quentinwolf/flair_helper2",
      "owner": "u/quentinwolf",
      "note": ""
    },
    "mockup_path": "mockups/P24-the-reluctant-adopter.html"
  },
  {
    "id": "P25",
    "advocate": "The AI-Native",
    "bot_name": "ContextMod",
    "bot_origin": "Open-source Reddit Data API moderation bot by u/FoxxMD (github.com/FoxxMD/context-mod) — YAML-rule engine that evaluates author history, recency, repeat-offender, and frequency heuristics across the modqueue. Battle-tested on r/Eve, r/Pcmasterrace and other ≥500 WAU subs since 2021. Eligibility path: written consent from FoxxMD OR fork-of-record where the P25 submitter is the documented co-maintainer.",
    "framing": "ContextMod's power is locked behind a 600-line YAML DSL only senior mods can write. Port the rule engine 1:1 to Devvit (parity gate), then layer an Opus-4.7 chat overlay where any mod types 'flag posts from accounts <30d old that link to onlyfans' and the LLM compiles, diff-previews, and dry-runs the rule against the last 7 days of modqueue — turning ContextMod from a power-user tool into a conversational mod assistant.",
    "target_persona": "Mid-tier moderator on a 500–50k WAU subreddit who inherited a ContextMod install from a predecessor, can read YAML but not author it confidently, and currently asks the bot author on Discord every time they need a new rule. Wants to ship rule changes in minutes, not days, without breaking parity with the existing ruleset.",
    "primary_surface": "Devvit custom-post 'Mod Console' tab anchored to the modqueue — primary interaction is a chat composer with @mention command palette (@rule, @explain, @dryrun, @diff). Structured YAML editor exists as a fold-out 'show source' panel for power users, but 95% of flows are natural-language. Streaming rationale tokens render inline next to each modqueue item the bot acted on.",
    "opus_4_7_capability": "Opus 4.7's 1M-context window ingests the full YAML ruleset + last 30 days of modqueue + author histories simultaneously, enabling (a) NL→YAML rule synthesis with semantic diff against existing rules to prevent conflicts, (b) per-action streaming rationale ('removed because rule#7 matched: account 12d old + 3 prior removals in r/<sub>'), (c) retroactive dry-run reasoning over historical modqueue to forecast false-positive rate before the rule ships.",
    "mvp_scope": "4-day demo: (1) ContextMod core rule-evaluator ported to Devvit triggers (PostSubmit/CommentSubmit/ModAction) with 95% parity on the host sub's existing YAML — no AI involved, judges verify parity via side-by-side action log. (2) Chat overlay with ONE flagship command: @rule '<plain English>' → Opus 4.7 emits YAML + dry-run results + 'apply' button. (3) Inline 'Why?' chip on every bot action that streams a 2-sentence rationale. Telemetry panel shows mod-action latency before/after.",
    "one_liner_pitch": "ContextMod, but you talk to it. Faithful Devvit port of the YAML rule engine, plus an Opus-4.7 chat that turns 'flag suspicious crosspost spam' into a tested, diff-previewed rule in 8 seconds.",
    "spec_alignment_notes": "spec target_persona='bot author with ≥500 WAU sub + ownership/consent' → narrowed to ContextMod-inheritor mod because ContextMod is explicitly cited as a real Data-API bot in the dispatch and has documented multi-sub deployments; primary_surface=devvit real-time → chose modqueue-anchored custom-post to honor real-time trigger SLA constraint; killer_feature 'verifiable time-savings telemetry' → mapped to before/after mod-action latency panel inside the Devvit install; non_goal 'multi-bot bundle' respected by porting ONE bot (ContextMod) only; AI augmentation framed as additive layer over a parity-first base port so judges score Community Impact on the parity, not the gravy.",
    "_verification": {
      "canonical_bot": "ContextMod",
      "tier": "B",
      "license": "MIT",
      "last_push": "2024-06-13",
      "stars": 54,
      "repo": "FoxxMD/context-mod",
      "owner": "u/FoxxMD",
      "note": "3-year dormant runtime; codebase intact"
    },
    "mockup_path": "mockups/P25-the-ai-native.html"
  },
  {
    "id": "P26",
    "advocate": "The Anti-AI",
    "bot_name": "u/Flair_Helper2",
    "bot_origin": "quentinwolf/flair_helper2, Python+PRAW async, last push 2024-09-03, GPL-3.0 — 6 deterministic actions (remove/lock/comment/sticky/ban/usernote) triggered by post-flair changes; ZERO ML/heuristic — pure flair → action mapping",
    "framing": "Port Flair_Helper2 to Devvit as the deterministic antithesis of LLM-ified moderation: every mod-action is a pure function of (post_flair_template_id, yaml_rule_line) with zero model calls and zero outbound network at runtime. Opus 4.7 lives at BUILD-TIME ONLY — compiling the YAML rulebook to typed TS handlers with exhaustive test coverage harvested from production wiki configs. Surface preserves the persona's no-LLM bias verbatim.",
    "target_persona": "Flair_Helper2 power-mod (e.g., r/AskHistorians, r/explainlikeimfive class subs ≥500 WAU) who already maintains a hand-written flair_helper.yaml in their wiki, has been burned by silent ML false-positives elsewhere, and refuses to migrate to Devvit unless line-by-line auditability of every removal/lock/ban survives the port intact.",
    "primary_surface": "Devvit-native rulebook surface, rule-based and deterministic. PostFlairUpdate trigger fires the compiled rule; action ledger logs `flair_helper.yaml:LINE -> action(args)` for every mutation; mod modal renders the matched rule with line numbers and a CERTIFIED NO AI badge. No probabilistic scoring, no surprise behavior — users get exactly what the YAML promises.",
    "opus_4_7_capability": "BUILD-TIME ONLY (not runtime): Opus 4.7 (1M context) ingests the source flair_helper.yaml plus 12 production wiki configs harvested from public PRAW deployments, emits a typed TS rule compiler + exhaustive Jest fixtures covering every (flair × action) permutation. Runtime ships ZERO model calls — the compiled artifact is plain switch/case TypeScript reviewable in a diff. Bundle SHA published for verification.",
    "mvp_scope": "4-day demo: (1) YAML→TS compiler run on host sub's flair_helper.yaml, (2) Devvit PostFlairUpdate trigger executing the 6 deterministic actions (remove/lock/comment/sticky/ban/usernote), (3) action-ledger UI with `flair_helper.yaml:LINE` citation on every row + decision-tree visualization for the active flair set, (4) CERTIFIED NO AI provenance panel showing compiled bundle SHA, test count, and zero-network proof.",
    "one_liner_pitch": "Flair_Helper2 reborn on Devvit: every mod-action cites flair_helper.yaml:LINE, zero model calls at runtime, fully auditable end-to-end.",
    "spec_alignment_notes": "target_persona narrowed from spec's generic 'bot author with ≥500 WAU sub + written consent' → Flair_Helper2 power-mod with audit-first values, because the Anti-AI bias requires a persona who would actively reject ML moderation. primary_surface=devvit/real-time honored verbatim (PostFlairUpdate trigger meets sub-second p50 SLA via deterministic eval). opus_4_7_capability reframed as build-time codegen to satisfy the spec field WITHOUT contaminating runtime surface, resolving apparent tension between Opus requirement and persona's no-LLM-in-surface bias. killer_feature (parity + time-savings telemetry) preserved via line-numbered ledger as the deterministic quantification mechanism (queue-dwell delta vs PRAW baseline). mvp_scope respects 4-day window and the ONE-bot non-goal.",
    "_verification": {
      "canonical_bot": "Flair_Helper2",
      "tier": "A",
      "license": "GPL-3.0",
      "last_push": "2024-09-03",
      "stars": 1,
      "repo": "quentinwolf/flair_helper2",
      "owner": "u/quentinwolf",
      "note": ""
    },
    "mockup_path": "mockups/P26-the-anti-ai.html"
  }
]