Adoption settings

Catalog of every user-configurable section and key in .pair/adoption and the pair.config.json keys outside registries, file, allowed values, default, reader, effect, and how to configure each.

One page listing every setting you can put in your adoption files. reference/configuration covers the registry part of pair.config.json (Configuration); this page covers everything else. Every section is optional: absent means the default in the table, never an error. A malformed section is a HALT naming the file and line, not a silent fallback.

In your assistant, or with /pair-assistant (optional, Claude Code). Default: edit the file by hand in your editor or assistant, then validate with the scripts below. Optional: ask /pair-assistant ("let green cards go up to merge"); it shows the diff, validates with the same scripts, and writes through /pair-capability-record-decision. Rows marked assistant are supported by its capability menu.

tech/automation.md

Read by the delivery cycle (/pair-workflow-cycle, pair-cli run), /pair-loop, /pair-implement-batch, /pair-next and publish-pr. Explained in Automated development.

Section / keyAllowed valuesDefault when absentRead byEffectAssistant
## Autonomy filterlabels, any-ofall cardsautonomy-policy.mjswhich cards unattended runs pickyes
## Autonomy assignee, status, root@me or login; canonical macrostates; issue idall openautonomy-policy.mjsnarrows the selectionyes
## Autonomy untilready, pr, mergedprautonomy-policy.mjshow far a card goes; only merged evaluates the merge gateyes
## Autonomy preparealways, never, when; has: …; lacks: …alwayscycle-prepare.mjswho refines and breaks down a Draft card (always keeps a human)yes
## Autonomy mergealways, never, when; has: …; lacks: …alwaysautonomy-policy.mjs, cycle-merge.mjswhether a review-approved card merges; a when condition escalatesyes
## Eligibility (legacy)one labelnoneautonomy-policy.mjstranslated to filter:; still honouredyes
## Auto-Advance (legacy)(none) or the eligibility tier(none)autonomy-policy.mjstranslated to merge:; still honouredyes
## Stop Predicate<selector> ⇒ <condition>, max-iterations: Nmax-iterations: 1pair-cli run, /pair-loopwhen an unattended run stopsno
## Max Parallelismpositive integer, optional <tier>: N1pair-cli run --parallel, /pair-loopparallel batch ceilingno
## Audit Locationproject-relative pathautomation/loop-audit.md under working_path/pair-loop, pair-cli runwhere the unattended trail is appendedno
## Workflows<tag> ⇒ <workflow>, Precedence:none (no tag routing)dispatcheropt-in per card: tag to workflowno
## Blocking Severitiesfloor Critical, Major or MinorMinorblocking-severities.mjsfindings at or above the floor blockyes
## Blocking Severities max-dispatches<N> [warn|block]no ceilingblocking-severities.mjsceiling on a run's published handoffsyes
## Cycle Hookspre-<stage>, post-<stage>, pre-cycle, post-cycle, on-halt; timeout (default 600, 0 off)no hookscycle-hooks.mjsshell commands at stage boundariesyes
## Publish-PR Hookspre-publish, post-publishno hooks/pair-capability-publish-prcommands around PR publicationyes
## Harnessharness names, Requires: mcpall harnesses supported/pair-capability-setup-harnesswhich harnesses the project supportsyes (delegated)
## Model Policy<risk tier>: cheap|balanced|frontierno class/pair-capability-setup-harness, workflow-profile.mjsmodel class per tier; what a profile's model: by-tier readsyes (delegated)

Validate before committing: node .claude/skills/pair-workflow-cycle/scripts/autonomy-policy.mjs resolve, cycle-hooks.mjs load <file>, blocking-severities.mjs read <file>. Section grammars: Automation Policy.

tech/way-of-working.md

Section / keyAllowed valuesDefault when absentRead byEffectAssistant
PM toolgithub-projects, linear, azure-devops, filesystem, …none (setup HALTs)every PM skillwhich tracker is the backlogyes (/pair-capability-setup-pm)
code-host, base-branchtool name; branchthe PM tool; mainpublish-pr, host adapterswhere PRs live and targetyes (/pair-capability-setup-pm)
## State MappingBoard State → Macrostate table; an unmapped state (e.g. Removed) is ignored; closure without completion (Not planned) is never Donecanonical names/pair-capability-write-issue, /pair-nextmaps your board to the five macrostatesyes (/pair-capability-setup-pm)
## Assignment default-assignee, code-host-assigneeloginnone (items unassigned, with a warning)write-issue, publish-prwho items and PRs are assigned tono
Review enforcementdisabled, enableddisabled/pair-capability-setup-gateswhether pair-review blocks merge (PR states)yes
Review identitynone, app, bot-usernonepublish and review skillswho executes review writes (Review identity)yes
Coverage guardraildisabled, enableddisabled/pair-capability-setup-gatesblocks coverage regressions (Tag-driven gates)yes
Pre-merge tiering, hook managerdisabled/enabled; husky or otherdisabled; husky/pair-capability-setup-gatestier-scoped pre-merge checks; hook toolingyes (delegated)
format-check-commandshell commandnonepublish-pr, implement phaseformatting gate run before publishingyes
worktree-setup-commandshell commandnoneimplement and review phasesrun once in a fresh worktree before any gateyes
Review Tier Matrixtier.<tier>.reviewers, tier.<tier>.sla_days, …KB defaults (Quality model)review skillsper-tier reviewers, SLA, checklist depth (Definition of Ready/Done tier requirements)yes
Custom Gate Registrytable: order, gate, command, scope key, requiredstandard gates/pair-capability-verify-qualityextra gates after lint, types, testsno
Merge Strategysquash; commit format; branch cleanup; prompt/silent confirmationsquash, prompt/pair-process-reviewhow a PR endsno
## Process Profile profile, whitelistdefault, poc, custom + step idsdefault/pair-next and every skill (process-profile gate)which process steps the project runsyes
## Manual Testingfree text (paths, templates)nonereview skillswhere manual test suites liveno

More: Quality gates configuration, Definition of Ready and Done.

tech/risk-matrix.md

SectionAllowed valuesDefault when absentRead byEffectAssistant
## Tag ProjectionActive: families (risk, cost, renamed family)risk/pair-capability-classifywhich classification tags are written to cards and PRsyes
## Criticality Tableservice or domain to Low, Medium, Highderived from the KB model/pair-capability-classifyservice-criticality dimension of the tieryes
## Overrides<dimension>.<rule>: <value>KB rules/pair-capability-classifyproject deltas to the matrixyes

Model: Quality model.

Package-local adoption and templates

SettingFileDefaultEffectAssistant
## Package-Local Adoption routercentral tech/*.mdofflists packages whose rules live in <pkg>/.pair/<area>.md; skills load only touched packages (Package-local adoption)yes
Template overrides.pair/adoption/tech/templates/<name>-template.mdKB templateoverride-first resolution, file used whole (Customize templates)yes

pair.config.json

Outside the registries (Configuration):

KeyAllowed valuesDefaultRead byEffectAssistant
skipRegistriesregistry namesnoneinstall, updateregistries left untouched, e.g. agents keeps your AGENTS.md/CLAUDE.md (Quickstart)yes (update --skip-registries)
workflowProfilesdefault, files, inline: named JSON profiles with engine, model, effort, context per stageKB default: the run's engine, its default model, default effort, fresh contextworkflow-profile.mjsengine, model, effort and context per stage; --profile / --workflow-config override per run (Workflow profiles)yes
engineid, bin, model mapsclaudepair-cli runwhich agent engine runs (Execution engine)no

On this page