physical-ai-toolchain

Physical AI Toolchain uses a liberal contribution model where active contributors are recognized for current work. Microsoft maintains stewardship of the project while welcoming community contributions and leadership.

Governance Model

This project operates under a corporate-sponsored maintainer model:

Roles and Responsibilities

The following matrix summarizes capabilities by role:

Capability Maintainer Triage Contributor
Code review
Merge pull requests
Release management
Architecture decisions Advise Propose
Issue triage
Label management

Maintainers

Maintainers guide project direction, manage releases, and resolve conflicts.

Responsibility Description
Technical direction Set architectural standards and approve significant changes
Release management Coordinate versioning, changelogs, and publication
Community health Enforce code of conduct and foster inclusive participation
Access management Grant and revoke repository permissions

Current maintainers are members of the @microsoft/edge-ai-core-dev team.

Triage Contributors

Triage contributors assist maintainers by managing issue flow and initial assessments.

Responsibility Description
Issue labeling Apply appropriate labels to new issues
Initial assessment Identify duplicates, request clarification, verify reproduction steps
Community support Answer questions and direct contributors to resources

Triage contributors target the response times documented in SUPPORT.md for initial issue acknowledgment.

Contributors

Contributors improve the project through code, documentation, and community engagement.

Responsibility Description
Code contributions Submit pull requests following contribution guidelines
Documentation Improve guides, fix errors, add examples
Issue reporting Report bugs with reproduction steps and suggest enhancements
Community participation Engage in discussions and help other users

Decision-Making Process

Decisions follow a tiered model based on impact and reversibility.

Routine Changes

Standard pull requests for bug fixes, documentation updates, and minor enhancements:

Significant Changes

New features, API additions, or changes affecting multiple components:

Breaking Changes

Changes that alter existing behavior or remove functionality:

Governance Changes

Modifications to this governance document or project policies:

Role Progression

Contributors advance through demonstrated commitment and quality work.

Becoming a Triage Contributor

Contributors may be nominated for triage status after:

Nomination process:

  1. Existing maintainer nominates candidate in a private discussion
  2. Maintainers reach consensus on the nomination
  3. Candidate is invited and onboarded to triage responsibilities

Becoming a Maintainer

Triage contributors and significant contributors may be nominated for maintainer status after:

Nomination process:

  1. Existing maintainer nominates candidate
  2. Maintainers reach consensus
  3. Candidate is onboarded to maintainer responsibilities

Inactivity and Role Changes

Dispute Resolution

When contributors disagree on technical or process matters:

  1. Discussion: Parties discuss the issue in the relevant pull request or issue
  2. Maintainer input: If unresolved, a maintainer provides guidance
  3. Maintainer decision: If consensus remains elusive, maintainers make a binding decision

Code of conduct violations follow the process defined in CODE_OF_CONDUCT.md.

Inactivity Closure Policy

Open issues and discussions that remain inactive create noise for contributors and maintainers. This section defines the lifecycle policy for closing inactive items. Automation that enforces this policy (stale bot, scheduled workflows) is a separate effort that references these thresholds.

For pull request inactivity policy, see Pull Request Inactivity Policy in the pull request process guide.

Issues

Issue inactivity follows a three-stage lifecycle:

Stage Trigger Label Action
Active Any activity within the past 60 days (none) Normal lifecycle
Stale 60 days without activity stale Warning comment posted
Closed-stale 14 days after stale label without activity closed-stale Issue closed as not_planned

Exemptions that prevent automatic closure:

Reopening rules:

Discussions

The same 60-day warning and 14-day closure thresholds apply to GitHub Discussions in principle. The same exemptions that prevent automatic closure for issues (pinned, security, do-not-close, or assigned to a milestone) and the same reopening behavior (reopening clears any stale status and resets the inactivity clock) apply to Discussions.

Because current automation tooling (actions/stale) does not support Discussions, enforcement is manual through periodic triage until dedicated tooling is implemented.

Access Continuity

Project continuity is ensured through Microsoft stewardship:

Contribution Authorization

All contributions require agreement to the project license terms:

Amending This Document

Changes to this governance document follow the governance changes process:

  1. Propose changes via pull request with clear rationale
  2. Allow one-week comment period for community input
  3. Obtain maintainer consensus
  4. Merge and communicate changes to the community