Skip to content

refactor(examples)(temp): leave fully_async out of the reorg - #1954

Closed
Zhichenzzz wants to merge 1 commit into
shi/260729-examples-reorgfrom
zhichen/1953-exclude-fully-async
Closed

refactor(examples)(temp): leave fully_async out of the reorg#1954
Zhichenzzz wants to merge 1 commit into
shi/260729-examples-reorgfrom
zhichen/1953-exclude-fully-async

Conversation

@Zhichenzzz

Copy link
Copy Markdown
Contributor

Stacked on #1953 (shi/260729-examples-reorg). Restores every fully_async path to its state
on main, so the reorg no longer touches fully_async. Please squash this into #1953, or merge
it into that branch, whichever you prefer.

Why hold fully_async back

1. It collides with #1716. That PR promotes the rollout module into the core library:

examples/fully_async/fully_async_rollout.py
  ├─ #1716 →  miles/rollout/fully_async_rollout.py           (into core)
  └─ #1953 →  examples/infra_features/fully_async/...        (stays in examples)

#1716 also rewrites --rollout-function-path from the bare module name
fully_async_rollout.generate_rollout_fully_async to the fully qualified
miles.rollout.fully_async_rollout.generate_rollout_fully_async, which removes the existing
dependency on the example directory being on sys.path. Six files are edited by both PRs, so
whichever lands second would conflict, or silently undo the other.

2. Content was deleted with no replacement. Nothing in the tree recreates these:

Path Lines In #1953
docs/examples/fully-async.md 205 deleted
examples/fully_async/run_qwen3_30b_a3b_fully_async.py 176 deleted
examples/fully_async/run-qwen3-4b-fully_async.sh 142 deleted
examples/fully_async/README.md 45 deleted
examples/infra_features/fully_async/README.md 43 added

docs/user-guide/fully-async.md gained 2 net lines, all link rewrites, so none of the deleted
material was folded into it. That leaves the feature with no runnable recipe and no examples
docs page.

What this PR does

Restores to their main state: docs/examples/fully-async.md,
docs/user-guide/fully-async.md, and all four files under examples/fully_async/. Drops
examples/infra_features/fully_async/. Restores the examples/fully-async navigation entry in
docs/docs.json and the Card in docs/examples/index.md.

It also repairs the references that would otherwise dangle once that directory is gone:

  • train_async.py
  • examples/infra_features/random_async/README.md and its rollout module
  • examples/README.md, where the entry moves to the top level list with its path corrected

Verified that the fully_async paths are now byte identical to main, that no reference to
infra_features/fully_async remains anywhere in the repository, that docs.json still parses,
and that pre-commit passes on every touched file.

Left alone deliberately

The docs/examples/index.md link to /user-guide/fully-async stays as you set it. That page
exists either way, and the reworded question reads better than the original.

Suggested sequencing

Land #1716 first, since it is 11 files and unambiguous. Once it is in, moving what remains of
examples/fully_async/ (a README and two launch scripts) under infra_features/ is a small
independent change, with the rollout module already in core and out of the way.

Stacked on shi/260729-examples-reorg. Restores every fully_async path to its
state on main, so this reorg no longer touches fully_async.

Two reasons to hold it back:

1. PR #1716 moves examples/fully_async/fully_async_rollout.py to
   miles/rollout/fully_async_rollout.py, promoting it into the core library and
   rewriting --rollout-function-path from the bare module name to the fully
   qualified miles.rollout.fully_async_rollout.generate_rollout_fully_async.
   The reorg moved the same file to examples/infra_features/fully_async/
   instead. Whichever landed second would conflict, or silently undo the other.

2. The reorg deleted content with no replacement anywhere in the tree:
   docs/examples/fully-async.md (205 lines), run-qwen3-4b-fully_async.sh
   (142 lines), run_qwen3_30b_a3b_fully_async.py (176 lines) and
   examples/fully_async/README.md (45 lines), against 43 lines added back as a
   new README. docs/user-guide/fully-async.md gained only 2 net lines, all link
   rewrites, so none of the deleted material was folded into it.

Also fixes the references that pointed at the moved directory and would
otherwise dangle: train_async.py, examples/infra_features/random_async/README.md
and its rollout module now point at examples/fully_async/ again, and the
examples/README.md entry moves to the top level list with its path corrected.

The docs/examples/index.md link to /user-guide/fully-async is left as the reorg
set it. That page exists either way, and the reworded question reads better than
the original.

Once #1716 lands, moving what remains of examples/fully_async/ (a README and two
launch scripts) under infra_features/ is a small independent change, with the
rollout module already living in core and out of the way.
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@Zhichenzzz
Zhichenzzz requested a review from Shi-Dong July 29, 2026 18:07
@Zhichenzzz Zhichenzzz changed the title refactor(examples): leave fully_async out of the reorg refactor(examples)(temp): leave fully_async out of the reorg Jul 29, 2026
@Zhichenzzz

Copy link
Copy Markdown
Contributor Author

Superseded by 84bf09c on the base branch, which does everything this PR did. Closing.

Verified against the current tip of shi/260729-examples-reorg:

  • the fully_async paths are byte identical to main
  • examples/infra_features/fully_async/ is gone
  • no reference to infra_features/fully_async remains in train_async.py,
    examples/README.md, or the random_async README and rollout module
  • the examples/fully-async nav entry and the index Card are back

Rebasing this branch onto that tip leaves an empty diff, with the only conflict being a
line wrap in train_async.py where both sides make the same change.

Two things your revert caught that this PR missed, worth recording:

  1. examples/swe-agent/run-glm47-flash-agentic-async.py builds FULLY_ASYNC_DIR from
    "infra_features" / "fully_async" as separate string literals, so my
    grep infra_features/fully_async never matched it. That one is executable code rather
    than prose, so it is the most consequential of the set.
  2. docs/user-guide/training-script-walkthrough.md had a /user-guide/fully-async link
    I did not check.

You also fully reverted the docs/examples/index.md intro sentence and the "where to start"
link, where I had deliberately kept the reworded version. A clean full revert is the better
call, since it leaves no partial state to reason about.

The sequencing suggestion stands: land #1716 first, then moving what remains of
examples/fully_async/ under infra_features/ is a small independent change with the rollout
module already in core.

@Zhichenzzz Zhichenzzz closed this Jul 29, 2026
An error occurred while trying to automatically change base from shi/260729-examples-reorg to main July 29, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant