# Agents Guide — Right Here, Right Now (RhRn) This file provides guidance for AI coding agents working on this Flutter project. **Moderation flow update (2026):** Moderation is now performed by HiveAI by default. Human review is only required for flagged, uncertain, or appealed cases. All AI moderation/classification output should be logged in the moderation_log table for traceability. If a human moderator takes action, that is also logged in moderation_log. --- ## agents.md todo - as an agent you should add developer notes so the user can understand what the new code does, and how it connects to other parts of the code - when a new feature is complete, we should log what it is, why it exists, and how it interacts with other parts of the app. - when a feature is ready to be tested, launch the Chrome debugger via **F5** in VS Code (see [Testing & Debugging](#testing--debugging) below) and inspect the debug console for errors before marking the feature done. - when done with a feature. log it in changelog/ with a new file - before marking a task as done, check the Problems panel (Ctrl+Shift+M) in VS Code. If any errors or warnings are present, the task is not complete and must be fixed first. - while making a plan, research online for best practices, tips, tricks, and pitfalls — this helps find well-supported solutions instead of building them ourselves. - when working on a new feature: create the plan, push it to GitHub, execute the plan, then wait for the user to test before committing. --- ## Implementation Plan Standard When a user asks for a plan (or when scoping work before starting implementation), write it to `doc/_plan.md` and follow this template exactly. The goal is to make every plan readable by a non-engineer and reviewable before a single line of code is written. ### Required sections, in order --- #### 1. Header block ``` # — Implementation Plan **Feature:** One-sentence description of what is being built. **Problem:** The real-world pain point this solves. **Solution:** How the feature solves it in plain language. **Overall difficulty:** Easy / Medium / Hard (N / 5) **Estimated effort:** X–Y days for an experienced Flutter developer. ``` The difficulty rating uses this scale: - **1–2 Easy:** Mechanical additions (new constant, new enum value, glue code). Low risk of breakage. - **3 Medium:** Requires architectural thought, new service classes, lifecycle wiring, or integration between two unfamiliar systems. Some risk if done carelessly. - **4–5 Hard:** Background platform channels, cryptographic logic, complex state machines, or work that touches many files simultaneously with hard-to-test interactions. --- #### 2. Decisions & Tradeoffs *This is the most important section for collaboration.* List every meaningful design option that was considered, which one was chosen, which were rejected, and the explicit reasoning. This lets the developer push back on choices before implementation begins. Format: ```markdown ## Decisions & Tradeoffs ### **Chosen:**