maxtext-pr-upload
Skill2.5k starsChanged 13 days agoApache-2.0View on GitHub
Prepares, validates, uploads, and shepherds pull requests to the AI-Hypercomputer/maxtext GitHub repository through CI and code-owner review. Use when formatting or linting MaxText code, writing MaxText commit messages or PR descriptions, stacking or rebasing dependent PRs, diagnosing MaxText CI failures or missing pull-ready labels, or resolving reviewer comments.
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 30
Every PR must have git rev-list --count <base>..<branch> == 1:
- Very specific: line 34
Avoid double-push races: When force-pushing a stacked chain, wait ~45s between branches so GitHub Actions does not cancel the child PR's …
- Distinctive: line 40
Keep commit messages and PR descriptions concise and free of local machine paths:
- Very specific: line 68
Run the exact linters pinned in .pre-commit-config.yaml (pyink==24.10.1, pylint==3.3.8, codespell==2.4.1, yamllint==1.35.0) and serial unit …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
MaxText Pull Request Validation & CI Workflow
Merging into AI-Hypercomputer/maxtext requires:
- Exactly one commit per PR (
AddPullReadyblocks multi-commit PRs). - Green required CI (
RunPrecommitChecks.yml+MaxText Package Tests). - Code-owner approvals (
.github/CODEOWNERS,>= 2unique approvers forpull ready).
| Resource | Purpose |
scripts/ci_status.py | Queries PR commit count, active vs. superseded CI runs, and blocking vs. non-blocking job failures |
scripts/pr_comments.py | Fetches review states and inline comment threads, flagging unanswered reviewer comments |
scripts/check_doc_train_cmds.py | Extracts maxtext.train commands from Markdown docs and validates them through pyconfig |
references/ci_mechanics.md | Job step failure classification, _Cfg and hlo_diff_test.py CI traps, and pull ready rules |
references/stacked_prs.md | Bottom-up merge, retargeting, and rebase sequence for stacked PRs |
1. Branch Shape & One-Commit Rule
Every PR must have git rev-list --count <base>..<branch> == 1:
- Independent PRs branch directly from
origin/main. - Dependent PRs stack on their parent PR branch (
base = <parent-branch>) with exactly 1 commit on top of the parent. Seereferences/stacked_prs.md. - Review fixes: Amend the existing commit (
git commit --amend) and force-push with--force-with-lease=<branch>:<expected_sha>. Never add a second fixup commit. - Avoid double-push races: When force-pushing a stacked chain, wait ~45s between branches so GitHub Actions does not cancel the child PR's
synchronizerun and leave a permanentcancelledstatus check.
2. Commit Message & PR Description Format
Keep commit messages and PR descriptions concise and free of local machine paths:
# Description
<Concise summary of root cause, design change, or feature.>
Fixes #<issue_id>
# Tests
<Unit tests executed (`pytest -q ...`) and end-to-end verification summary.>
# Checklist
Before submitting this PR, please make sure (put X in square brackets):
- [X] I have performed a self-review of my code. For an optional AI review, add the `gemini-review` label.
- [X] I have necessary comments in my code, particularly in hard-to-understand areas.
- [X] I have run end-to-end tests and provided workload links above if applicable.
- [X] I have made or will make corresponding changes to the doc if needed, including adding new documentation pages to the relevant Table of Contents (toctree directive) as explained in [our documentation](https://maxtext.readthedocs.io/en/latest/development.html#adding-new-documentation-files).Require Checklist fails if any - [X] box in # Checklist is unchecked.
3. Local Pre-Push Gates
Run the exact linters pinned in .pre-commit-config.yaml (pyink==24.10.1,
pylint==3.3.8, codespell==2.4.1, yamllint==1.35.0) and serial unit tests
before pushing:
export PYTHONPATH=$PWD/src XLA_FLAGS=--xla_force_host_platform_device_count=4
FILES="<changed .py files>"
pyink --pyink --pyink-indentation=2 --line-length=122 --check $FILES
pylint --rcfile=pylintrc --disable=R0401,R0917,W0201,W0613 \
--ignore-patterns='.pytype,.*pyi$' \
--ignore-paths='src/maxtext/input_pipeline/protos|src/maxtext/eval/simple_evals_template' $FILES
yamllint -c .yamllint <changed .yml files>
codespell -L ND,nd,sems,TE,te,als,ROUGE,rouge,astroid,ags,dout <changed files>
python3 -m pytest -q -p no:cacheprovider <affected *_test.py files>Common MaxText Test & CI Traps
- Test file discovery:
pytest.inionly collects*_test.pyand*_tests.py. Files namedtest_*.pyare silently ignored in CI. - Run
pytestserially (no-n): Parallel workers contend on local XLA/TPU lockfiles. - Touching
train_step/loss_fn/eval_step:- Any new
config.<attr>read there must also be added to_Cfgintests/unit/train_nnx_test.py. - Any change to the compiled HLO of reference models (
default,gpt3-175b,llama2-7b) breakstests/integration/hlo_diff_test.pyunless gated behind an opt-in config flag that defaults off.
- Any new
- Markdown docs with
maxtext.traincommands: Validate every documented command block withcheck_doc_train_cmds.py:python3 .agents/skills/maxtext-pr-upload/scripts/check_doc_train_cmds.py <doc.md> \ --start "<section heading>" --end "<next heading>" \ --subst BASE_OUTPUT_DIRECTORY=/tmp/out --keys model_name,per_device_batch_size
4. CI Triage & Reviewer Comments
# Check commit count, active workflow run, and blocking vs. non-blocking jobs
python3 .agents/skills/maxtext-pr-upload/scripts/ci_status.py <pr_number>
# Fetch reviews and unanswered inline comment threads
python3 .agents/skills/maxtext-pr-upload/scripts/pr_comments.py <pr_number> --fullTrack Test Performance / Track Test Durationis non-blocking (All Required Tests Passedexcludes it).- See
references/ci_mechanics.mdfor distinguishing real test failures from runner preemptions (exit 130) and diagnosing missingpull readylabels.
Trending
More talk lately.about the whole repository
Who's talking about AI-Hypercomputer/maxtext
- google/tunix“Stacked on #2979 (`uwlei/rl-4600-final-tunix` @ `54f488d8`); **retarget base branch to `atwigg/mlperf` once …”GitHub · Oct 21, 2026 · 1 reactions
- google/tunix“[MLPerf RL 397B]Supersedes #2884, #2948, #2913, and #2940 onto `atwigg/mlperf`.”GitHub · Oct 21, 2026 · 1 reactions
- AI-Hypercomputer/tpu-recipes“Add recipe for training Maxtext Qwen3.5-35B-A3B with v6e-256 #recipebot”GitHub · Oct 20, 2026 · 1 reactions
- google/tunix“orchestrator: compact routed_experts wire packing with uint10/uint8 encoding and unrouted-token stripping”GitHub · Oct 15, 2026 · 1 reactions
- google/tunix“feat(maxtext): bump commit pin for RBF overflow logging”GitHub · Oct 6, 2026 · 1 reactions
The biggest 5 of 50 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 50
Talked about on GitHub (50 times).
On GitHub · 50
- Oct 21, 2026Stacked on #2979 (`uwlei/rl-4600-final-tunix` @ `54f488d8`); **retarget base branch to `atwigg/mlperf` once #2979 merges**. — google/tunix1 reaction · 2 comments
- Oct 21, 2026[MLPerf RL 397B]Supersedes #2884, #2948, #2913, and #2940 onto `atwigg/mlperf`. — google/tunix1 reaction · 2 comments
- Oct 20, 2026Add recipe for training Maxtext Qwen3.5-35B-A3B with v6e-256 #recipebot — AI-Hypercomputer/tpu-recipes1 reaction
- Oct 15, 2026orchestrator: compact routed_experts wire packing with uint10/uint8 encoding and unrouted-token stripping — google/tunix1 reaction · 1 comment
- Oct 6, 2026feat(maxtext): bump commit pin for RBF overflow logging — google/tunix1 reaction · 1 comment
45 more on GitHub
- Sep 30, 2026Add ROLLOUT_FP8 / TRAINER_FP8 switches for FP8 MoE in all recipe launchers — google/tunix1 reaction · 1 comment
- Sep 30, 2026feat(recipes): add FP8_MOE environment variable directly to mlperf recipes — google/tunix1 reaction · 1 comment
- Sep 19, 2026Migrate Llama 3.1 8B on Trillium (v6e-8) to Cluster Toolkit — AI-Hypercomputer/tpu-recipes1 reaction
- Oct 25, 2025Feature Enhancement: Add Advanced Post-Training and Fine-Tuning Capabilities to Simply — google-deepmind/simply1 reaction
- Oct 20, 2026Migrate MaxText E2E checkpoint conversion (to-mt and to-hf) to CPU cluster — GoogleCloudPlatform/ml-auto-solutions0 reactions
- Oct 19, 2026Layer streaming: measure saving the attention projections instead of recomputing the whole layer — MakazhanAlpamys/Soup0 reactions · 3 comments
- Oct 16, 2026Migrate MaxText E2E checkpoint conversion (to-mt and to-hf) to CPU cluster — CIeNET-International/ml-auto-solutions-30 reactions · 1 comment
- Oct 14, 2026update maxtext pin — google/tunix0 reactions · 1 comment
- Oct 13, 2026recipes: opt-in Raiden trainer knobs for the pathways-worker and trainer client — google/tunix0 reactions · 2 comments
- Oct 12, 2026Documentation Link Check Failed - 2026-10-12 — gitrajav/maxtext0 reactions
- Oct 10, 2026recipes: add USE_BATCHED_RPA_LONG_CTX_KERNEL switch (default true) -> attention=vllm_batched_rpa_long_ctx — google/tunix0 reactions · 2 comments
- Oct 8, 2026feat(multipod): Add DAG `maxtext_distillation` with Cluster Toolkit — GoogleCloudPlatform/ml-auto-solutions0 reactions
- Oct 7, 2026feat(multipod): Add DAG `maxtext_distillation` with Cluster Toolkit — CIeNET-International/ml-auto-solutions-30 reactions · 1 comment
- Oct 7, 2026 feat(multipod): add `maxtext_distillation` DAG with Cluster Toolkit — GoogleCloudPlatform/ml-auto-solutions0 reactions
- Oct 5, 2026Documentation Link Check Failed - 2026-10-05 — gitrajav/maxtext0 reactions
- Oct 3, 2026[Add] MaxText (AI-Hypercomputer/maxtext) — PyTorchKR/landscape0 reactions
- Oct 3, 20263. MaxText: run one small pinned configuration after lower-level checks — egesamuray/jax-rocm-systems-lab0 reactions
- Sep 28, 2026Documentation Link Check Failed - 2026-09-28 — gitrajav/maxtext0 reactions
- Sep 21, 2026Documentation Link Check Failed - 2026-09-21 — gitrajav/maxtext0 reactions
- Sep 21, 2026feat(multipod): Add test_scope param to `maxtext_e2e_tests` — GoogleCloudPlatform/ml-auto-solutions0 reactions
- Sep 21, 2026feat(multipod): Add test_scope param to `maxtext_e2e_tests` — CIeNET-International/ml-auto-solutions-30 reactions · 5 comments
- Sep 19, 2026[RL] Sever autodiff graph with jnp.where on masked/padded tokens in G… — google/tunix0 reactions
- Sep 17, 2026# Description — matrawybarte-lgtm/gpc0 reactions
- Sep 15, 2026fix(checkpointing, infra): orchestrator save interval, save-sync serialization, memory requests, and fail-fast — google/tunix0 reactions
- Sep 14, 2026Documentation Link Check Failed - 2026-09-14 — gitrajav/maxtext0 reactions
- Sep 7, 2026Documentation Link Check Failed - 2026-09-07 — gitrajav/maxtext0 reactions
- Aug 31, 2026Documentation Link Check Failed - 2026-08-31 — gitrajav/maxtext0 reactions
- Aug 24, 2026feat: support multimodal models and eager loading in checkpoint conversion — GoogleCloudPlatform/accelerated-platforms0 reactions
- Aug 24, 2026Documentation Link Check Failed - 2026-08-24 — gitrajav/maxtext0 reactions
- Aug 22, 2026feat: RLVllmSampler weight sync via Raiden, bound in-process in the EngineCore worker — vllm-project/tpu-inference0 reactions · 1 comment
- Aug 18, 2026Update MaxText E2E TPU DAG checkpoint paths for reduced step count — GoogleCloudPlatform/ml-auto-solutions0 reactions
- Aug 17, 2026Documentation Link Check Failed - 2026-08-17 — gitrajav/maxtext0 reactions
- Aug 10, 2026Documentation Link Check Failed - 2026-08-10 — gitrajav/maxtext0 reactions
- Jul 20, 2026Update maxtext_moe_tpu_e2e DAG: hf access token & refactor — GoogleCloudPlatform/ml-auto-solutions0 reactions
- Jul 17, 2026[Maxtext] [Tunix] New Weight Sync for Post-train, maxtext -> maxtext — google/tunix0 reactions
- Jul 16, 2026feat: Restrict DAG `maxtext_e2e_tests` to GitHub schedule events — GoogleCloudPlatform/ml-auto-solutions0 reactions
- Jul 16, 2026feat: Restrict DAG `maxtext_e2e_tests` to GitHub schedule events — CIeNET-International/ml-auto-solutions-30 reactions · 2 comments
- Jun 9, 2026add qwen3.5 35b to xlml tests — GoogleCloudPlatform/ml-auto-solutions0 reactions
- May 26, 2026fix: Fix `test_checkpoiting.sh` — GoogleCloudPlatform/ml-auto-solutions0 reactions
- May 21, 2026Remove collect_stack_trace config from checkpointing test — GoogleCloudPlatform/ml-auto-solutions0 reactions
- May 2, 2026 fix: Resolve Gemini PR review trust workspace issue and update settings — AI-Hypercomputer/maxdiffusion0 reactions · 2 comments
- Apr 16, 2026Adding MTP DSV3 Tests — GoogleCloudPlatform/ml-auto-solutions0 reactions
- Feb 24, 2026Experiment: cast pallas xent dW to bf16 (keep fp32 accum) and validate speed + numerics — marin-community/marin0 reactions · 2 comments
- Feb 20, 2026Add Qwen3-Next tests to MaxText_MoE DAG — GoogleCloudPlatform/ml-auto-solutions0 reactions
- Feb 6, 2026[JAX] Upstream checkpointing of quantizations in TE/JAX to MaxText — NVIDIA/TransformerEngine0 reactions · 1 comment
In this repositoryOne other file it gives its agents.
- model-bringupSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

