Implemented issues
This page records the decisions behind the initial issue set. It describes behavior on main, including work that landed before the documentation site.
| Issue | Decision and behavior |
|---|---|
| #22 | On the local default branch, Changes since compares with its remote-tracking upstream. Local commits on main remain reviewable before they're pushed. |
| #21 | User documentation is a Fettle-specific Docusaurus site under website/, based on Saggar's site structure and visual language. |
| #20 | The command palette includes files, review targets, repositories, worktrees, navigation, comments, export, GitHub promotion, display controls, refresh, and setup actions. |
| #19 | Fettle follows Saggar's pure-core/thin-shell split, one clock, process allowlists, glaze themes, vendored contracts, CLI shape, and repository conventions. |
| #18 | The left rail presents one chronological change feed, grouped agent turns, explicit working-tree and branch comparisons, pull requests, status labels, and review progress. |
| #17 | Agent authorship is retained on turn records. A walkthrough uses the originating provider where possible, while review verdicts remain human-owned. Fettle doesn't claim that a different model makes a review adversarial by itself. |
| #16 | Repository review rules are discovered from .fettle/review-rules.md, then AGENTS.md, and included in review packets. Pull requests keep their GitHub title and context; turns keep their originating prompt. |
| #15 | Review comments, notes, verdicts, changed files, and screenshot annotations share the ReviewPacket boundary. Pull-request reviews can be promoted to GitHub as comment-only reviews without approving, requesting changes, or merging. |
| #14 | Fettle doesn't require Marginal Utility or Saggar authentication. GitHub access uses the user's gh session, and Saggar integration uses local versioned files. No credential is copied into Fettle. |
| #13 | Settings use Saggar's categorized native tabs for appearance, diff, editor, and integration state, with shared theme controls. |
| #12 | One two-second beat watches ledger and worktree fingerprints. Live turns are labeled, stale review marks are content-addressed rather than destroyed, and changed diffs must be reviewed again before a mark can be written. |
| #11 | Fettle reads local coverage, detects project visual-test systems, runs only the configured visual command, and normalizes its results. It reports evidence; it doesn't pretend to be hosted CI. |
| #10 | Comments attach to a changed line or a whole file and travel in review packets. A reviewer can expand a hunk to full-file context before asking about nearby code. |
| #9 | Standing review rules, turn prompts, commit history, coverage, visual results, and repository-owned screenshots are consumed as review context. Existing baselines stay authoritative. |
| #7 | The review packet is the handoff boundary. Fettle can generate an agent walkthrough through Saggar when a turn owns the session, or through the installed local provider otherwise. The task is read-only and can't publish review state. |
Guardrails
Git remains read-only. Fettle never stages, edits, commits, fetches, pushes, merges, or changes repository metadata. The sole remote write is a comment-only review to an existing GitHub pull request. Agent-generated walkthroughs explain a change but can't set the verdict.