Table of Contents generated with DocToc

Modes — MISSION taxonomy mapped to current skills

MISSION.md frames the framework around five toggleable modes of agent-assisted repository maintainership and development: Triage, Mentoring, Drafting (agent-authored fixes with human review), Pairing (developer-side dev-cycle skills with mentorship intrinsic), and Auto-merge (narrowly-scoped fix-and-merge). Each adopting project picks the modes that match its culture and risk tolerance.

This document maps that taxonomy to the skills that currently ship in the framework. It is the honest snapshot — modes that are not yet implemented are listed as such, with a tracking issue or roadmap pointer rather than a placeholder shell. Read MISSION.md for the why of each mode and the sequencing commitments behind them.

Status legend

StatusMeaning
stableImplemented, in use by at least one adopter, behaviour expected to remain backward-compatible across minor framework versions.
experimentalImplemented but not yet covered by an adopter pilot or contributor-sentiment evaluation; shape may change.
proposedDesigned in MISSION.md but no skill yet exists; tracked for future implementation.
offDeliberately not implemented per a MISSION-level sequencing rule (Auto-merge).

Modes at a glance

ModePurposeStatusSkill count
TriageIssues, security reports, PRs: spot, classify, route, surface duplicates. Every output is a suggestion the human signs off on.stable (security) / experimental (pr-management, issue-management, contributor-nomination) / proposed (release-management)13 + 4 proposed
MentoringJoins issue and PR threads in a teaching register: clarifying questions, pointers to project conventions, paired examples from prior PRs, hand-off to a human when scope exceeds the agent.experimental1
DraftingAgent drafts a fix for a well-scoped problem and opens a PR; every PR is reviewed and merged by a human committer.stable (security-only); experimental (issue-management); release-management family proposed2 + 6 proposed
PairingDeveloper-side dev-cycle skills with mentorship intrinsic — multi-agent review pipelines, self-review and pre-flight patterns, scoped fix drafting under the developer‘s driver’s seat.experimental1
Auto-mergeAuto-merge restricted to objectively boring change classes (lint, dependency bumps inside an allow-list, license-header insertion, formatting, broken-link repair).off0

A few skills sit outside the mode taxonomy by design — see Outside the modes below.

Triage

Inbound report and PR triage. The lowest-risk surface and the foundation everything else builds on. Skills propose labels, spot duplicates, link related discussions, classify reports against prior triaged cases, and route to the right human; they do not act without human review.

SkillDomainStatus
pr-management-triageGeneric PR queue triage.experimental
pr-management-statsPR-queue reporting (supports triage decisions).experimental
pr-management-code-reviewMaintainer-facing deep code review.experimental
issue-triageGeneral-issue-tracker triage (per-issue classification + disposition proposal).experimental
issue-reassessPool-level sweep of resolved / EOL issues for re-assessment.experimental
contributor-nominationNomination-readiness brief for a named contributor — activity breadth, consistency, and evidence prose for a committer or PMC thread.experimental
security-issue-importInbound security-report classification + initial routing.stable
security-issue-import-from-prOpen a tracker from a security-relevant public PR.stable
security-issue-import-from-mdBulk-import findings from a markdown report.stable
security-issue-deduplicateMerge two trackers describing the same root-cause vulnerability.stable
security-issue-invalidateClose a tracker as invalid with a polite-but-firm reporter reply.stable
security-issue-syncReconcile a tracker against its mail thread, fix PR, release train, and archives.stable
security-cve-allocateAllocate a CVE for a tracker (Vulnogram URL + paste-ready JSON).stable
release-verify-rcRead-only pre-flight on a staged RC: signatures against project KEYS, checksums, license headers (Apache RAT), NOTICE/LICENSE diff, no prohibited binaries, version-string consistency. Doubles as a Pairing-mode skill voters run in their own dev loop.proposed
release-vote-tallyParse a [VOTE] thread, classify each reply (+1 / 0 / -1) binding vs non-binding against the PMC roster, propose [RESULT] [VOTE]. Conservative on ambiguous votes, refuses to count.proposed
release-archive-sweepScan dist/release/<project>/, identify releases past retention, propose the svn mv sequence to archive.apache.org.proposed
release-audit-reportPer-release structured report (RM, voters with binding flags, artefacts with sigs and checksums, promote revision, [ANNOUNCE] archive URL) appended to the project's audit log.proposed

Three notes on the boundaries:

  • pr-management-code-review is a deeper variant of triage — the agent reads diff and surrounding code rather than only metadata, but the output is still a suggestion for the human reviewer. It belongs to Triage by the same rule.
  • security-cve-allocate is procedural rather than classificatory (CVE allocation happens after assessment), but it shares Triage's shape: the agent prepares a paste-ready artefact, the human PMC member submits it. Listed here for navigability.
  • The four release-* Triage skills share the same paste-ready- artefact shape: release-verify-rc reports pass/fail per check, release-vote-tally proposes [RESULT], release-archive-sweep proposes an svn mv sequence, release-audit-report proposes an audit-log append. None of them flip state labels or publish artefacts, see docs/release-management/spec.md § Cross-cutting commitments.

Mentoring

Status: experimental. First prototype skill shipped.

MISSION.md § Mentoring names this the highest-value project-side mode and the one off-the-shelf agent tooling skips. The spec — tone guide, hand-off protocol, adopter contract — landed ahead of the skill code so the project's tone choices were reviewable independently from the runtime behaviour.

SkillPurposeStatus
pr-management-mentorDraft a teaching-register comment on a single GitHub issue or PR thread; waits for maintainer confirmation before posting.experimental
DocPurpose
docs/mentoring/README.mdFamily overview, current status, planned shape.
docs/mentoring/spec.mdFull spec: scope, triggers, register, hand-off, adopter knobs.
projects/_template/mentoring-config.mdAdopter-config scaffold (required before running the skill).

The prototype ships flagged mode: Mentoring + experimental. Shape may change as adopter pilots and contributor-sentiment evaluation land. The skill is read-only by default and never posts without explicit maintainer confirmation — see pr-management-mentor/SKILL.md for the full contract.

The closest existing surface is pr-management-triage/comment-templates.md, which carries Triage classification responses — informational, not pedagogical. It is not Mentoring.

Drafting

The agent drafts a fix for a well-scoped problem (a tracked issue, a triaged security report with team consensus on scope, a failing test with an obvious cause, a documentation hole) and opens a PR. Every PR is reviewed and merged by a human committer; the agent never merges its own work.

SkillDomainStatus
security-issue-fixDraft a fix PR in <upstream> from a triaged, CVE-allocated tracker.stable (security-only)
issue-fix-workflowDraft a fix for a triaged general-issue-tracker issue (BUG or FEATURE-REQUEST).experimental
release-preparePlanning issue + version-bump / changelog / NOTICE / LICENSE prep PR (Steps 1-2). Also the post-release -SNAPSHOT bump (Step 14).proposed
release-keys-syncDraft the KEYS diff for a new Release Manager (Step 3). Agent never holds the private key.proposed
release-rc-cutPaste-ready command sequence: signed tag, build, detached signatures, checksums, svn import to dist/dev/ (Steps 4-5). Agent never signs and never imports.proposed
release-vote-draftDraft the [VOTE] email body to dev@<project> (Step 7). Agent never sends.proposed
release-promotePaste-ready svn mv dist/dev → dist/release command set after a passing vote (Step 10). Agent never moves; the human commit is the act of release.proposed
release-announce-draftDraft the [ANNOUNCE] email body for announce@apache.org and the site-bump PR (Step 11). Agent never sends mail and never merges the PR.proposed

Generic Drafting is proposed. MISSION.md names lint fixes, audit-tool findings (Apache Verum, Apache Caer, CodeQL, equivalents), failing tests with obvious causes, and documentation holes as in-scope for Drafting beyond the security case. None of those are implemented yet; security-issue-fix is the only Drafting skill shipping in the framework today.

The six release-* Drafting skills above land as a single family (docs/release-management/README.md) once the spec lands. They share the security family's discipline that every state-changing action is a proposal the human executes, see docs/release-management/spec.md § Cross-cutting commitments.

For security-class Drafting PRs, the public surface strips CVE and private context per the project's disclosure policy, so the public surface stays clean until the embargo lifts — see AGENTS.md § Confidentiality for the rules the skill enforces.

Pairing

Status: experimental. 1 skill.

MISSION.md § Pairing introduces this mode as the developer-side counterpart to the project-side modes. Where Triage / Mentoring / Drafting / Auto-merge describe the agent‘s presence on the project’s own infrastructure, Pairing skills run in the maintainer‘s or contributor’s own dev loop — multi-agent review pipelines, self-review and pre-flight patterns, scoped fix drafting under the developer‘s driver’s seat. Mentorship is intrinsic to Pairing skills: the agent handles the mechanical, implementation-detail review (formatting, conventions, lint-grade nits) so the human conversation between contributor and maintainer — and between peer maintainers — stays on design, reasoning, and the trade-offs the project cares about. Pairing skills are the platform's mechanism for protecting the ASF contribution path (contributor → committer → PMC) against being eroded by automation that replaces, rather than augments, the human-to-human relationships that path is built on.

Pairing skills don't make state changes on behalf of the project; they share the same skill format and security posture as the project-side modes, so a maintainer who already trusts the framework for Triage gets the same posture for the patches they write themselves.

SkillDomainStatus
pairing-self-reviewPre-flight self-review of local changes before opening a PR. Read-only; returns a structured report.experimental

A multi-agent review pipeline (fans the diff through independent review passes) is the planned follow-on Pairing skill; it shares the self-review report format and follows this one.

Sequencing. Pairing ships before Auto-merge in the project's automation roadmap — full auto-merge of maintainer-driven changes follows only after Pairing has established that human reasoning and relationships, not implementation chatter, are the load-bearing parts of the workflow.

Auto-merge

Status: off. Deliberately not implemented.

MISSION.md § Auto-merge holds auto-merge off until Triage, Mentoring, Drafting, and Pairing have been running for two quarters and contributor-sentiment data says the project is healthier, not just faster. Security-class changes are explicitly out of Auto-merge — no auto-merge ever touches anything embargoed or CVE-tagged.

The framework's current .asf.yaml configuration reflects this posture: pull_requests.allow_auto_merge is set to false (.asf.yaml).

When Auto-merge ships, the eligible change classes will be declared per-adopter in <project-config>/ and gated by an allow-list that the framework refuses to grow without an adopter PR.

Outside the modes

Several skills are framework infrastructure rather than maintainership modes. They support adoption, isolation, and upgrade flows; they do not act on issues, PRs, or contributor threads on their own.

SkillPurpose
setup-stewardAdopt the framework into an adopter repo; manage the snapshot, symlinks, and overrides.
issue-reproducerPer-issue code extraction + execution; produces structured evidence. Read-only on the tracker.
issue-reassess-statsRead-only dashboard over reassessment-campaign verdict.json files.
setup-isolated-setup-installInstall the credential-isolation sandbox harness.
setup-isolated-setup-updateUpdate pinned system tools (bubblewrap, socat, agent CLI) past the cooldown window.
setup-isolated-setup-verifyRead-only health check of the sandbox harness.
setup-override-upstreamPromote an adopter's local override into a framework PR.
setup-shared-config-syncSync shared configuration across worktrees.

These ship as a single setup family — see docs/setup/README.md.

Mode lifecycle

A mode moves through four states as it matures:

  1. proposed — designed in MISSION.md, no skill code yet. Spec PRs may land before any skill code so tone, scope, and adopter knobs are reviewable in isolation.
  2. experimental — at least one skill exists, behaviour may change, no adopter pilot has run an evaluation. Adopters can opt-in but should expect breaking changes between framework versions.
  3. stable — at least one adopter is running the mode in production, behaviour is backward-compatible across minor framework versions. The default state for skills shipped to adopters.
  4. graduated-to-Auto-merge-eligible (future state; Triage, Mentoring, Drafting, and Pairing only) — the mode has run stable for two quarters with positive contributor-sentiment evidence, the framework will start considering an equivalent change class for Auto-merge. This state does not exist yet because Auto-merge itself is off.

A mode can be retracted from any state. The retraction triggers MISSION names — sustained negative contributor sentiment, a confidentiality leak, a sandbox bypass that escapes detection — apply per-adopter and per-mode. A retraction in one adopter does not auto-retract in another, but the framework records it for cross-adopter pattern detection.

Cross-references

  • MISSION.md — the why of each mode, the sequencing commitments, and the privacy/security/vendor- neutrality posture each mode inherits.
  • README.md — adopter-facing skill family table; this document is the maintainer-facing taxonomy view of the same skills.
  • AGENTS.md — repository-level rules every mode inherits (external content as data, polite-but-firm tone, brevity, confidentiality).
  • docs/mode-economics.md — indicative token-cost shape per mode and model class; for maintainers evaluating adoption.