If you have a idea, make sure it is discussed before you make a PR.
You can use just to help you fix your commit rapidly:
just fixYou can git reset --soft upstream/main and git commit --forge, this will merge your changes into one commit.
Or you also can use git rebase. But we will still merge them into one commit when it is merged.
If you are developing on vscode, you can use vscode plugin Coverage Gutters
And also need to install llvm-cov
cargo install cargo-llvm-cov
rustup component add llvm-tools-previewIf you are using coverage gutters plugin, add these config to let it know lcov output.
{
"coverage-gutters.coverageFileNames": [
"coverage.lcov",
],
"coverage-gutters.coverageBaseDir": "target/llvm-cov-target",
}New issues and pull requests are triaged by .github/workflows/triage.yml, which
runs in two stages.
- Automated classification. Codex reads the issue against the checkout and
applies a type (
bug/enhancement/question), a priority (P0-P3), componentT-*labels, and a workflow label. Pull requests skip this stage; their labels come from the diff viaauto-label-pr.yml. - Human review. The maintainer on rotation that week is assigned to the issue, or requested as a reviewer on the pull request, and @-mentioned with what the AI concluded. If they wrote the pull request, the next person on the roster is requested instead. They are responsible for the final call, and the labels from stage 1 are only a first pass.
Stage 2 runs even when stage 1 is skipped or fails, so every item reaches a person regardless of whether the automation worked.
The roster is every member with the rust-sdk role in
modelcontextprotocol/access
(src/config/users.ts), sorted by login for a stable order, with the ISO week number selecting whose turn it is. The
rotation turns over Monday 00:00 UTC. Adding or removing a member there changes
the roster and re-partitions future weeks, so the person on rotation can shift
when membership changes.
While on rotation, the expectation is:
- New issues are triaged within two business days.
- Critical (
P0/P1) pull requests are resolved within seven days.
Assignment is a starting point, not ownership: reassign or hand off freely.
Classification needs two secrets, and if either is missing that stage is skipped rather than failing the run:
| Secret | Purpose |
|---|---|
CODEX_AUTH_JSON |
Codex credentials, refreshed and written back each run. |
CODEX_AUTH_STORE_TOKEN |
Fine-grained PAT with secrets: write, since GITHUB_TOKEN has no secrets scope and cannot persist the refresh. |
Reviewer assignment needs no secret. The roster is read from the public
access repo, and the default GITHUB_TOKEN handles assigning and commenting.
To test either stage without side effects, run the workflow from the Actions tab
with dry_run enabled: it logs the verdict and the rotation pick, and changes
nothing.