docs: minimize entire review documentation · Entire

docs: minimize entire review documentation

Sessions

Changes

entire review Command

entire review runs a set of configured review skills inside an agent session. The review session is an immutable fact attached to a checkpoint — no verdict, no status tracking, no empty commits. On the next git commit, the review session is condensed into the checkpoint metadata alongside normal sessions, permanently recording that the code was reviewed and which skills were run. entire review runs a configured review profile. Keep documentation brief and user-facing.

Configured per-agent in .entire/settings.json (EntireSettings.Review); launchable agents (claude-code, codex, gemini-cli) receive ENTIRE_REVIEW_* env vars that the UserPromptSubmit hook reads to tag the session as Kind = "agent_review". Multi-agent runs use a TUI dashboard + opt-in cross-agent synthesis.

See Review Command for the full command surface, settings schema, env-var handshake, multi-agent UI, anti-features (do NOT recreate), and key-file map. See Review Command for usage, minimal profile config, and key files.

Important Notes

entire review Command

entire review

entire review runs a named review profile. A profile defines one canonical task (for example general, security, or accessibility), a set of reviewer agents that all run that task, and a single judge that consolidates the reviewers' reports into the final verdict in a closing round. Reviewer sessions are immutable facts attached to checkpoints; the final verdict is stored locally in the review manifest for findings/fix workflows. Experimental review command for running one configured review profile.

Command Surface

Basic use

entire review --configure       # create or edit a profile
entire review --list            # list profiles
entire review <profile>         # run a profile
entire review --profile <name>  # same as positional form
entire review --agent <name>    # run one reviewer from the profile
entire review --findings        # view local findings

entire review # Interactive: pick a profile to run. Non-interactive: list profiles + error entire review security # Run a named profile entire review --profile accessibility # Same, flag form entire review --list # List configured profiles (reviewers + judge), marking the default entire review --configure # Interactive: guided wizard. Non-interactive: list agents + profiles entire review --configure --profile general --set-agents claude-code,codex --set-judge claude-code --set-output trail # Configure a profile non-interactively (no TUI) entire review --configure --profile sec --set-slot claude-code=opus --set-slot codex --set-judge claude-code=opus entire review --configure --profile general --set-model codex=gpt-5-codex --set-task "..." entire review --edit --profile general # Advanced skill-level config (skill picker) entire review --agent # Run one reviewer from the selected profile entire review --agent --model # Override that reviewer's model for this run entire review --agents # List the profile's reviewers (valid --agent values) entire review --models # List models each agent advertises entire review --models --agent codex # ...filtered to one agent entire review --prompt "focus on auth" # Add one-off instructions entire review --timeout 15m # Per-reviewer timeout (default 10m) entire review --findings # Browse local review findings

Useful run flags:

entire review --prompt "focus on auth"
entire review --timeout 15m
entire review --agent claude-code --model opus

A bare entire review never silently runs a default crew. In an interactive terminal it opens a chooser listing the configured profiles (default pre-selected); in a non-interactive context it prints the profiles and exits with an error so automation must name a profile explicitly. To tag an already-finished session as a review after the fact, use entire attach --review <session-id> (the old entire review attach subcommand was removed).

Profiles

When no profiles are configured, interactive entire review runs a guided setup: choose a review focus (or Custom… to write the task), build the reviewer crew (a single-screen add/edit/remove slot list seeded with all launchable agents — the same agent may appear more than once on different or identical models), then choose the judge that consolidates their reports, and finally where the verdict should go (local or the branch's trail). It saves the profile and asks before starting agents. Profiles live in:

entire review --configure is the configuration entry point:

When two or more adapter-backed reviewers are configured and --agent is not set, entire review fans out to all configured reviewers. There is no per-run multi-picker: the profile is the fan-out contract. Multi-reviewer profiles resolve one judge (explicit, or auto-selected from the reviewers); the judge runs after the reviewers finish and produces the final verdict. A profile contains:

Settings Schema

Profiles are configured under review_profiles in either the shared project settings (.entire/settings.json, committed) or the per-developer override (.entire/settings.local.json, git-ignored). Guided setup and --configure let the user pick the destination (--local for the scripted path); the non-interactive first run writes the project file. The two layers (plus legacy clone-local preferences) are merged per profile name by settings.Load, so a team can share profiles in the project file while individuals add or override profiles locally without hiding the shared set. Schema: Minimal example:

{
  "security": {
    "task": "Review this change for auth, injection, secrets, and privilege-boundary bugs.",
    "agents": {
      "claude-sonnet": {"agent": "claude-code", "model": "sonnet", "skills": ["/security-review"]},
      "codex": {"model": "gpt-5-codex", "skills": ["/review"], "prompt": "Focus on security."}
    },
    "judge": {"agent": "claude-code", "model": "opus"},
    "output": "local"
  }
}

Behavior

entire review --models lists the models each agent advertises via the optional agent.ModelLister capability (cmd/entire/cli/agent/model_lister.go). Only claude-code advertises a list (its curated, real aliases opus/sonnet/haiku). Agents whose CLI has no enumeration command (codex, gemini) do not implement ListModels; the picker offers only Default + Custom for them, and --models notes there are none. The --model flag still forwards any value the agent CLI accepts.

Settings fields: EntireSettings.ReviewProfiles and EntireSettings.ReviewDefaultProfile in cmd/entire/cli/settings/settings.go.

Key files

How It Works (env-var handshake)

  1. entire review resolves a profile (positional/--profile, else the interactive chooser, else — non-interactively — an error). It composes reviewer prompts via review.ComposeReviewPrompt and computes scope (mainline base ref via review.ComputeScopeStats, overridable with --base).
  2. For agents with review-runner adapters (claude-code, codex, gemini-cli): the spawned process is given env vars ENTIRE_REVIEW_{SESSION,AGENT,SKILLS,PROMPT,STARTING_SHA} that the agent's UserPromptSubmit lifecycle hook reads to tag the session as Kind = "agent_review" with the configured skills/prompt. Each spawned process has its own env, so multiple worktrees and multi-agent runs are correct by construction (no shared marker file, no race).
  3. For agents without review-runner adapters yet: RunMarkerFallback writes a PendingReviewMarker file and prints guidance — the user opens the agent themselves and runs the skills, then tags it with entire attach --review.
  4. Reviewers run the selected profile's task; each session ends naturally.
  5. In multi-reviewer profiles, the judge runs after reviewers finish (see Multi-Agent UI). It receives all reviewer reports and consolidates them into the final verdict.
  6. On the next git commit, the PostCommit hook condenses reviewer sessions into the checkpoint on entire/checkpoints/v1, with Kind, ReviewSkills, and ReviewPrompt recorded in CommittedMetadata.
  7. The CheckpointSummary sets HasReview = true for O(1) lookup. HasReview is an umbrella "any review happened" flag.
  8. entire status and the re-run guard read HasReview from the checkpoint metadata (no commit history walking).

Checkpoint Metadata

Review metadata is stored at two levels on entire/checkpoints/v1:

Architecture

Multi-Agent UI

When RunMulti is dispatched in a TTY, the sink slice is [TUISink, DumpSink, SynthesisSink]:

Skill Discovery (Claude Code)

DiscoverReviewSkills (cmd/entire/cli/agent/claudecode/discovery.go) walks three roots: plugin cache, user skills (~/.claude/skills), and user commands/agents. pickLatestVersion picks ONE version directory per plugin (highest valid semver, else lexicographic max) to avoid duplicate skill entries.

Anti-Features (do NOT recreate)

Key Files