# GADHS pi Documentation > GADHS pi Documentation — generated from Antora. Every page has a Markdown mirror at the same URL with a .md extension. ## Pi - [ADR-001: TypeScript toolchain — pnpm, Biome, vitest, Node task runner](/pi/adrs/adr-001-ts-toolchain.md) - [ADR-002: Downstream-in-spirit of claude-quickstart (deferred sync gating)](/pi/adrs/adr-002-downstream-in-spirit.md) - [ADR-003: Agent configuration lives in @gadhs/pi; claude-quickstart sunsets as the agent vehicle](/pi/adrs/adr-003-agent-config-lives-in-pi.md) - [ADR-004: Package boundaries — policy, workflow, and content are separate packages](/pi/adrs/adr-004-package-boundaries.md) - [ADR-005: One first-party Vertex provider for every publisher, delegating the wire](/pi/adrs/adr-005-vertex-publishers.md) - [ADR-NNN: <Short, action-oriented title>](/pi/adrs/adr-000-template.md) - [Architecture](/pi/architecture.md): How the GADHS pi distribution is put together, and the path a single action takes through it. - [Architecture Decision Records](/pi/adrs/index.md) - [Configuration Cookbook](/pi/tuning.md): Copy-paste recipes for tuning @gadhs/pi — modes, models, rules, the judge, guards, guidance, and themes. - [GADHS pi](/pi/index.md): The Georgia DHS distribution of the pi coding agent — one install for models, working modes, safety rails, and agency guidance. - [Local Development](/pi/local-dev.md): Toolchain, tasks, hooks, and publishing for the GADHS pi monorepo. - [Model battery: every shipped model, per role, as permutations](/pi/model-battery.md): The battery's store over the packaged models — reviewer, planning, judge, explore, coder, integrity — per task, subject and stack, and the recommendation matrix derived from the production cells. - [Models on Vertex AI (@gadhs/pi-vertex)](/pi/vertex.md): Every publisher on Google Cloud Vertex AI — Claude, Gemini, and the Model-as-a-Service catalogue — through one extension, one config file, one probe, one ADC story, with a region pinned per model. - [Packages](/pi/packages.md): The packages in this monorepo and the vendored upstreams they bundle. - [Phase 1 — Widgets: the @gadhs/pi distribution](/pi/plans/phase-1-widgets.md): Build the extensions and meta package every GADHS developer installs; ship the guidance-injection seam as a tested no-op pipe. - [Plan: @gadhs/pi-remote/remote-control hands the running session to a paired phone (#142)](/pi/plans/pi-remote.md) - [Plan: author-declared review context (#52, #53)](/pi/plans/review-context.md): The submitting model declares which unchanged files the cold reader may see; the guard enforces the list deterministically and inlines the files; the reviewer's instructions check plans and prose against what was supplied, not against themselves. - [Plan: close the review pane (#43) — terminal acceptance and close](/pi/plans/close-review-pane.md): The composed review pane shipped as 0.8.0–0.8.2 and gained the edited-since marker in 0.17.0. What remains for #43 is the operator's live observation of the pane — this document is the acceptance script, run against the pane it describes — followed by the close: the plan page's Status, the nav move, and the closing comment. - [Plan: findings get a recorded disposition, and a review’s outcome is one of five, not one line (#96)](/pi/plans/review-disposition.md) - [Plan: headless hosts — plan approval by select, gate asks that time out to deny, no hangs under RPC (#135)](/pi/plans/headless-hosts.md) - [Plan: mechanical cold review of plan drafts (#44)](/pi/plans/plan-review.md): exit_plan_mode gets the commit review's reflection pause — a contextless reviewer at least as strong as the author reads the DRAFT before the human sees the dialog. - [Plan: one Vertex provider for every publisher (#76)](/pi/plans/vertex-publishers.md): Generalise @gadhs/pi-vertex-anthropic from "Claude on Vertex" to "Vertex": one config file, one probe, one ADC story, three publisher kinds — anthropic (today's path), google (Gemini, via pi-ai's Vertex adapter with a pinned location per call), openai-compatible (every MaaS model behind Vertex's OpenAI endpoint, via pi-ai's completions adapter with an ADC bearer). Gemini and the MaaS kind both land on the shape; nothing is reimplemented at the wire. - [Plan: plan review as one composed component (#43)](/pi/plans/review-pane.md): Replace the display-only overlay + separate select with a single ui.custom component: a scrollable document viewport, the last cold-review outcome, and the choice list, under one handleInput. One focused component that fits any terminal; no focus juggling, nothing for ctrl+o to clobber. - [Plan: split the pi-modes wiring closure along its seams (#63)](/pi/plans/split-modes-wiring.md): packages/pi-modes/index.ts is a 1,673-line factory closure sharing nineteen pieces of mutable state between every handler. Split it into one mode controller plus four wiring modules, with index.ts left as the composition root. Behaviour-preserving; one commit per seam; the existing tests, unchanged, are the acceptance bar. - [Plan: Structural bash analysis for the workflow guards (#14)](/pi/plans/structural-bash.md) - [Plan: the ask broker — one ask, put to the local dialog and a paired phone at once; first answer wins (#140)](/pi/plans/ask-broker.md) - [Plan: the battery as permutations — task × subject × stack, one store (#108)](/pi/plans/battery-permutations.md) - [Plan: the cold reviewer reads the snapshot — bounded read/grep/find beyond the declared context (#97)](/pi/plans/reviewer-snapshot-access.md) - [Plan: the model battery — every shipped model, per role, with a matrix (#79)](/pi/plans/model-battery.md) - [Plan: the quality pass before others consume — decompose the entry closures, cover the last inch, hunt bugs (#131)](/pi/plans/quality-pass.md) - [Project Conventions](/pi/project-conventions.md): TypeScript conventions for this repo, and how the Rust-centric agency standards map onto it. - [Reviewer evaluation: does a second vendor add value?](/pi/reviewer-eval.md): A re-runnable corpus of contrived changes with planted defects, run through the shipped review prompts on candidate reviewer models, scored against an answer key. First run (2026-09-07): Gemini 3.8 Flash beside Claude Fable 5.1, for #70. - [Security](/pi/security.md): Security posture of the GADHS pi distribution — threat model, credential handling, and the enforcement stack. - [Testing](/pi/testing.md): Test strategy for the GADHS pi monorepo. - [Workflow Modes (@gadhs/pi-modes)](/pi/modes.md): Modes, deterministic permission layers, the safety-only judge, workflow guards, and guidance injection — the full reference. - [Working remotely](/pi/remote.md): Which remote workflows carry the whole GADHS distribution, which carry part of it, and where the phone-first client is coming from. ## Standards - [Agency Standards](/pi/standards/index.md): GADHS agency-wide engineering standards, distributed from the claude-quickstart template - [CLAUDE.md Skeleton](/pi/standards/claude-md-skeleton.md): What belongs in .claude/CLAUDE.md vs the synced rules and standards - [Coding Conventions](/pi/standards/coding-conventions.md): Rust style, errors, types, dependencies, lints, and service patterns - [Delivery Protocol](/pi/standards/delivery-protocol.md): Preflight, recommendations, debugging, and the delivery checklist - [Git Workflow](/pi/standards/git-workflow.md): Branching, commits, signing, hooks, and versioning - [GitLab Workflow Standards](/pi/standards/gitlab-workflow.md): Issue, MR, and epic standards - [Migration Runbook](/pi/standards/migration-runbook.md): Step-by-step downstream migration/re-sync onto the synced deterministic-first layout - [Security Baseline](/pi/standards/security-baseline.md): Kerckhoffs's principle and public-visibility enforcement - [Testing](/pi/standards/testing.md): Test strategy, runners, categories, and the pre-push battery ## Optional - [Full corpus](/llms-full.txt) - [Search index](/search-index.js)