Skip to content

Commit add79de

Browse files
FortPercentFortPercent
authored andcommitted
TeleBoost: A systematic alignment framework for high-fidelity, controllable, and robust video generation
0 parents  commit add79de

386 files changed

Lines changed: 59348 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.gitattributes‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
* text=auto eol=lf
2+
3+
*.py text eol=lf
4+
*.sh text eol=lf
5+
*.md text eol=lf
6+
*.toml text eol=lf
7+
*.txt text eol=lf
8+
*.yaml text eol=lf
9+
*.yml text eol=lf
10+
*.json text eol=lf
11+
makefile text eol=lf
12+
13+
*.png binary
14+
*.jpg binary
15+
*.jpeg binary
16+
*.mp4 binary
17+
*.pth binary
18+
*.pt binary
19+
*.bin binary
20+
*.safetensors binary

‎.github/dependabot.yml‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Version-update PRs are disabled on purpose: requirements.txt carries
2+
# load-bearing pins (deepspeed==0.17.5 etc.) documented as BIT-EXACT
3+
# alignment points — automatic bumps would break them. Security updates
4+
# remain enabled (they ignore open-pull-requests-limit: 0).
5+
version: 2
6+
updates:
7+
- package-ecosystem: pip
8+
directory: "/"
9+
schedule:
10+
interval: weekly
11+
open-pull-requests-limit: 0

‎.github/workflows/cpu-tests.yml‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# CPU-only algorithm-layer tests. No GPU, no verl, no megatron: the package
2+
# init gates every backend (see teleboost/__init__ and teleboost/patches),
3+
# so the pure algorithm layer imports and tests stand alone. The file list
4+
# below is the no-backend subset; backend-coupled tests (dp_actor / DPO /
5+
# CP trees) only run on GPU nodes via the training/heavy pytest profiles.
6+
name: cpu-tests
7+
8+
on:
9+
push:
10+
branches: [main]
11+
pull_request:
12+
13+
jobs:
14+
algorithms:
15+
runs-on: ubuntu-latest
16+
timeout-minutes: 20
17+
steps:
18+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
19+
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
20+
with:
21+
python-version: "3.12"
22+
- name: Install CPU deps (torch-cpu + test tooling only)
23+
run: |
24+
pip install --index-url https://download.pytorch.org/whl/cpu torch
25+
pip install pytest numpy omegaconf safetensors tensordict
26+
pip install --no-deps -e .
27+
- name: Core collection gate
28+
run: |
29+
python -m pytest -q --collect-only tests/
30+
- name: Run the no-backend test subset
31+
run: |
32+
python -m pytest -q \
33+
tests/architecture \
34+
tests/test_antithetic_variance.py \
35+
tests/test_branched_advantage.py \
36+
tests/test_diffusion_rl_common.py \
37+
tests/test_grpo_advantage.py \
38+
tests/test_grpo_guard.py \
39+
tests/test_noise_weight.py \
40+
tests/test_sigma_schedule.py \
41+
tests/test_solver_contract.py \
42+
tests/test_trajectory_branch.py \
43+
tests/test_uid_broadcast.py \
44+
tests/test_wan_family.py \
45+
tests/test_wan_patches_idempotent.py
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: pre-commit-full
2+
3+
# Run weekly on Sunday at 00:00 UTC
4+
on:
5+
schedule:
6+
- cron: "0 0 * * 0"
7+
# Allow manual triggering
8+
workflow_dispatch:
9+
10+
# Declare permissions just read content.
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
pre-commit-full:
16+
runs-on: ubuntu-latest
17+
strategy:
18+
matrix:
19+
python-version: ["3.12"]
20+
steps:
21+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
22+
- name: Set up Python ${{ matrix.python-version }}
23+
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
24+
with:
25+
python-version: ${{ matrix.python-version }}
26+
- name: Set ruff --output-format=github
27+
run: |
28+
sed -i 's/--output-format=full/--output-format=github/' .pre-commit-config.yaml
29+
git add .pre-commit-config.yaml
30+
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1

‎.github/workflows/pre-commit.yml‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# c.f. https://github.com/pre-commit/action?tab=readme-ov-file#using-this-action
2+
name: pre-commit
3+
4+
# No need to avoid / cancel lightweight pre-commit jobs
5+
on:
6+
pull_request:
7+
push:
8+
branches: [main]
9+
10+
# Declare permissions just read content.
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
pre-commit:
16+
runs-on: ubuntu-latest
17+
strategy:
18+
matrix:
19+
python-version: ["3.12"]
20+
steps:
21+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
22+
- name: Set up Python ${{ matrix.python-version }}
23+
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
24+
with:
25+
python-version: ${{ matrix.python-version }}
26+
- name: Set ruff --output-format=github
27+
run: |
28+
sed -i 's/--output-format=full/--output-format=github/' .pre-commit-config.yaml
29+
git add .pre-commit-config.yaml
30+
# Check "--all-files" by default
31+
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1

‎.github/workflows/release-gate.yml‎

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: wan-only-release-gate
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
build-and-inspect:
13+
runs-on: ubuntu-latest
14+
timeout-minutes: 20
15+
steps:
16+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
17+
with:
18+
persist-credentials: false
19+
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
20+
with:
21+
python-version: "3.11"
22+
cache: pip
23+
- name: Install pinned release tooling
24+
run: |
25+
python -m pip install \
26+
-c constraints/release.txt \
27+
'build>=1.2' 'setuptools>=77,<81' 'twine>=6' 'wheel>=0.46,<0.47'
28+
- name: Build and validate Wan-only artifacts
29+
run: |
30+
python tools/release/build_artifacts.py \
31+
--out-dir "${RUNNER_TEMP}/teleboost-release-wan"
32+
- name: Confirm the checkout stayed clean
33+
run: git diff --exit-code

‎.github/workflows/scorecard.yml‎

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# This workflow uses actions that are not certified by GitHub. They are provided
2+
# by a third-party and are governed by separate terms of service, privacy
3+
# policy, and support documentation.
4+
5+
name: Scorecard supply-chain security
6+
on:
7+
# For Branch-Protection check. Only the default branch is supported. See
8+
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
9+
branch_protection_rule:
10+
# To guarantee Maintained check is occasionally updated. See
11+
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
12+
schedule:
13+
- cron: "27 7 * * 1"
14+
push:
15+
branches: [main]
16+
17+
# Declare default permissions as read only.
18+
permissions: read-all
19+
20+
jobs:
21+
analysis:
22+
name: Scorecard analysis
23+
runs-on: ubuntu-latest
24+
permissions:
25+
# Needed to upload the results to code-scanning dashboard.
26+
security-events: write
27+
# Needed to publish results and get a badge (see publish_results below).
28+
id-token: write
29+
# Uncomment the permissions below if installing in a private repository.
30+
# contents: read
31+
# actions: read
32+
33+
steps:
34+
- name: "Checkout code"
35+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
36+
with:
37+
persist-credentials: false
38+
39+
- name: "Run analysis"
40+
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1
41+
with:
42+
results_file: results.sarif
43+
results_format: sarif
44+
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
45+
# - you want to enable the Branch-Protection check on a *public* repository, or
46+
# - you are installing Scorecard on a *private* repository
47+
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
48+
# repo_token: ${{ secrets.SCORECARD_TOKEN }}
49+
50+
# Public repositories:
51+
# - Publish results to OpenSSF REST API for easy access by consumers
52+
# - Allows the repository to include the Scorecard badge.
53+
# - See https://github.com/ossf/scorecard-action#publishing-results.
54+
# For private repositories:
55+
# - `publish_results` will always be set to `false`, regardless
56+
# of the value entered here.
57+
publish_results: true
58+
59+
# Upload the results to GitHub's code scanning dashboard (optional).
60+
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
61+
- name: "Upload to code-scanning"
62+
uses: github/codeql-action/upload-sarif@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 #v3.28.9
63+
with:
64+
sarif_file: results.sarif

‎.github/workflows/secrets_scan.yml‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
on:
2+
push:
3+
branches: [main]
4+
pull_request:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
15+
with:
16+
fetch-depth: 0
17+
- name: Secret Scanning
18+
uses: trufflesecurity/trufflehog@7dc056a193116ba8d82154bf0549381c8fb8545c # v3.88.14
19+
with:
20+
extra_args: --results=verified,unknown

‎.gitignore‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
__pycache__/
2+
*.py[cod]
3+
*.so
4+
.pytest_cache/
5+
.ruff_cache/
6+
.mypy_cache/
7+
*.egg-info/
8+
build/
9+
dist/
10+
.venv/
11+
venv/
12+
.DS_Store
13+
14+
# Local training and profiling artifacts
15+
outputs/
16+
outputs.*/
17+
videos/
18+
checkpoints/
19+
tensorboard/
20+
logs/
21+
wandb/
22+
ray_results/
23+
*.prof
24+
*.trace.json
25+
26+
# Model and dataset payloads should live outside source control
27+
*.ckpt
28+
*.pt
29+
*.pth
30+
*.safetensors
31+
data/processed/

‎.pre-commit-config.yaml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
repos:
2+
- repo: https://github.com/astral-sh/ruff-pre-commit
3+
rev: "v0.15.4"
4+
hooks:
5+
- id: ruff
6+
args: ["--fix", "--show-fixes", "--output-format=full"]
7+
exclude: ^.*\.(ipynb)$
8+
- id: ruff-format

0 commit comments

Comments
 (0)