orbitquant 0.1.2__tar.gz → 0.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {orbitquant-0.1.2 → orbitquant-0.1.3}/.github/workflows/publish-pypi.yml +1 -1
- {orbitquant-0.1.2 → orbitquant-0.1.3}/PKG-INFO +38 -2
- {orbitquant-0.1.2 → orbitquant-0.1.3}/README.md +36 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/docs/kernel-audit.md +10 -3
- {orbitquant-0.1.2 → orbitquant-0.1.3}/docs/kernel-hub-approval-request.md +10 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/docs/release-gates.md +70 -5
- {orbitquant-0.1.2 → orbitquant-0.1.3}/pyproject.toml +2 -2
- {orbitquant-0.1.2 → orbitquant-0.1.3}/scripts/run_cuda_kernel_checks.sh +2 -2
- {orbitquant-0.1.2 → orbitquant-0.1.3}/scripts/run_mps_kernel_checks.sh +1 -1
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/__init__.py +1 -1
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/cli/main.py +614 -1
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/kernels/native_packed_matmul.py +4 -6
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/layers.py +11 -1
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_cli.py +545 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_native_packed_matmul.py +81 -3
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_optional_dependencies.py +11 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_orbit_linear.py +30 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_readme.py +3 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_release_gates.py +52 -1
- {orbitquant-0.1.2 → orbitquant-0.1.3}/uv.lock +3 -3
- {orbitquant-0.1.2 → orbitquant-0.1.3}/.github/workflows/ci.yml +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/.gitignore +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/LICENSE +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/docs/paper-methodology-audit.md +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/docs/publication-checklist.md +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/docs/release-0.1.0.md +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/docs/release-0.1.1.md +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/docs/release-0.1.2.md +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/CARD.md +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/benchmarks/benchmark.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/build.toml +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/example.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/flake.lock +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/flake.nix +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/orbitquant_packed_matmul_cuda/packed_matmul.cu +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/orbitquant_packed_matmul_metal/packed_matmul.metal +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/orbitquant_packed_matmul_metal/packed_matmul.mm +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/tests/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/tests/test_packed_matmul.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/torch-ext/orbitquant_packed_matmul/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/torch-ext/torch_binding.cpp +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/native-kernels/orbitquant-packed-matmul/torch-ext/torch_binding.h +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/scripts/run_hf_compat_checks.sh +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/scripts/run_paper_methodology_checks.sh +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/scripts/runpod_ssh_health.sh +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/scripts/verify_hf_kernel_model_artifact.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/adaln.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/assets.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/benchmark.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/checksums.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/comparisons.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/loader.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/manifest.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/model_card.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/refresh.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/repair.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/validator.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/artifacts/writer.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/benchmarks.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/cli/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/codebooks/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/codebooks/lloyd_max.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/config.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/errors.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/assets.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/external_export.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/external_metrics.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/external_plan.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/metrics.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/native_plan.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/native_runner.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/native_settings.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/prompts.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/eval/report.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/functional.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/hub.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/kernels/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/kernels/dispatch.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/kernels/mps.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/kernels/triton_cuda.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/modeling.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/packing/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/packing/bitpack.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/pipeline.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/policies/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/policies/flux.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/policies/flux2.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/policies/generic_dit.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/policies/wan.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/policies/z_image.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/quantizer.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/rotations/__init__.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/rotations/fwht.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/rotations/rpbh.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/src/orbitquant/transformers_ops.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_adaln_rtn.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_artifact_writer.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_benchmarks.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_bitpack.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_ci.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_cli_report.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_codebooks.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_config.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_diffusers_modelmixin_integration.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_distribution.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_eval_assets.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_eval_prompts.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_eval_report.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_external_eval_plan.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_external_export.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_hub.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_kernel_model_verifier.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_kernels.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_manifest.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_model_card.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_model_quantization.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_native_kernel_package.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_native_runner.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_native_settings.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_paper_alignment.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_paper_methodology.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_pipeline_helpers.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_policies.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_prompt_jobs.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_prompt_selection.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_quantizer_adapter.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_rpbh.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_target_policies.py +0 -0
- {orbitquant-0.1.2 → orbitquant-0.1.3}/tests/test_transformers_pretrained_integration.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: orbitquant
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Clean-room OrbitQuant implementation for diffusion transformers
|
|
5
5
|
Project-URL: Homepage, https://github.com/iamwavecut/OrbitQuant
|
|
6
6
|
Project-URL: Repository, https://github.com/iamwavecut/OrbitQuant
|
|
@@ -39,7 +39,7 @@ Requires-Dist: diffusers>=0.35; extra == 'hf'
|
|
|
39
39
|
Requires-Dist: transformers>=4.53; extra == 'hf'
|
|
40
40
|
Provides-Extra: kernels
|
|
41
41
|
Requires-Dist: kernels>=0.16; extra == 'kernels'
|
|
42
|
-
Requires-Dist: triton>=3.5; extra == 'kernels'
|
|
42
|
+
Requires-Dist: triton>=3.5; (platform_system == 'Linux') and extra == 'kernels'
|
|
43
43
|
Description-Content-Type: text/markdown
|
|
44
44
|
|
|
45
45
|
# OrbitQuant
|
|
@@ -402,6 +402,42 @@ reproduction targets:
|
|
|
402
402
|
User-facing comparison assets are generated at the native settings above. Small
|
|
403
403
|
low-resolution checks are not accepted as published quality evidence.
|
|
404
404
|
|
|
405
|
+
To create a local original-vs-OrbitQuant evidence bundle without writing raw
|
|
406
|
+
samples into the model artifact repository, run `compare-native` against a local
|
|
407
|
+
OrbitQuant artifact:
|
|
408
|
+
|
|
409
|
+
```bash
|
|
410
|
+
orbitquant compare-native \
|
|
411
|
+
--suite flux2-native \
|
|
412
|
+
--artifact ./artifacts/flux2-klein-w4a4 \
|
|
413
|
+
--prompt-id simple-object \
|
|
414
|
+
--output ./reports/native/flux2-klein-w4a4-comparison \
|
|
415
|
+
--device cuda \
|
|
416
|
+
--dtype bfloat16 \
|
|
417
|
+
--runtime-mode auto_fused
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
The output directory contains the BF16 sample, the OrbitQuant sample, a
|
|
421
|
+
side-by-side WebP comparison, per-split metadata, and `summary.json` with native
|
|
422
|
+
settings, wall time, peak VRAM, requested runtime mode, and available local
|
|
423
|
+
kernel backends. By default `compare-native` validates the completed bundle
|
|
424
|
+
before returning and includes the validation report in its JSON output. Use
|
|
425
|
+
`--skip-comparison-validation` only when you intentionally want to inspect or
|
|
426
|
+
repair an incomplete bundle.
|
|
427
|
+
|
|
428
|
+
Validate a copied or previously generated comparison bundle before using it as
|
|
429
|
+
evidence:
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
orbitquant validate-comparison \
|
|
433
|
+
--input ./reports/native/flux2-klein-w4a4-comparison
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
The validator accepts bundles copied from a remote GPU host, checks native
|
|
437
|
+
settings and metadata, resolves remote absolute paths by local filename, rejects
|
|
438
|
+
blank-like images, and reports timing, VRAM, and selected OrbitQuant runtime
|
|
439
|
+
counts when the bundle was generated by a recent `compare-native`.
|
|
440
|
+
|
|
405
441
|
## Release Metrics
|
|
406
442
|
|
|
407
443
|
Full GenEval and VBench runs are release evidence for paper reproduction,
|
|
@@ -358,6 +358,42 @@ reproduction targets:
|
|
|
358
358
|
User-facing comparison assets are generated at the native settings above. Small
|
|
359
359
|
low-resolution checks are not accepted as published quality evidence.
|
|
360
360
|
|
|
361
|
+
To create a local original-vs-OrbitQuant evidence bundle without writing raw
|
|
362
|
+
samples into the model artifact repository, run `compare-native` against a local
|
|
363
|
+
OrbitQuant artifact:
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
orbitquant compare-native \
|
|
367
|
+
--suite flux2-native \
|
|
368
|
+
--artifact ./artifacts/flux2-klein-w4a4 \
|
|
369
|
+
--prompt-id simple-object \
|
|
370
|
+
--output ./reports/native/flux2-klein-w4a4-comparison \
|
|
371
|
+
--device cuda \
|
|
372
|
+
--dtype bfloat16 \
|
|
373
|
+
--runtime-mode auto_fused
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
The output directory contains the BF16 sample, the OrbitQuant sample, a
|
|
377
|
+
side-by-side WebP comparison, per-split metadata, and `summary.json` with native
|
|
378
|
+
settings, wall time, peak VRAM, requested runtime mode, and available local
|
|
379
|
+
kernel backends. By default `compare-native` validates the completed bundle
|
|
380
|
+
before returning and includes the validation report in its JSON output. Use
|
|
381
|
+
`--skip-comparison-validation` only when you intentionally want to inspect or
|
|
382
|
+
repair an incomplete bundle.
|
|
383
|
+
|
|
384
|
+
Validate a copied or previously generated comparison bundle before using it as
|
|
385
|
+
evidence:
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
orbitquant validate-comparison \
|
|
389
|
+
--input ./reports/native/flux2-klein-w4a4-comparison
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
The validator accepts bundles copied from a remote GPU host, checks native
|
|
393
|
+
settings and metadata, resolves remote absolute paths by local filename, rejects
|
|
394
|
+
blank-like images, and reports timing, VRAM, and selected OrbitQuant runtime
|
|
395
|
+
counts when the bundle was generated by a recent `compare-native`.
|
|
396
|
+
|
|
361
397
|
## Release Metrics
|
|
362
398
|
|
|
363
399
|
Full GenEval and VBench runs are release evidence for paper reproduction,
|
|
@@ -21,9 +21,9 @@ for the current artifact format and runtime modes.
|
|
|
21
21
|
the current environment.
|
|
22
22
|
- `scripts/run_cuda_kernel_checks.sh` is the CUDA correctness and benchmark
|
|
23
23
|
gate for GPU hosts. It first tries to load a prebuilt
|
|
24
|
-
`native_packed_matmul` package
|
|
25
|
-
|
|
26
|
-
is available, it fails before starting a source build unless
|
|
24
|
+
`native_packed_matmul` package from an importable `orbitquant_packed_matmul`
|
|
25
|
+
module, then through Hugging Face `kernels`/`LOCAL_KERNELS`. If no compatible
|
|
26
|
+
prebuilt package is available, it fails before starting a source build unless
|
|
27
27
|
`ORBITQUANT_ALLOW_NATIVE_KERNEL_BUILD=1` is set. With that explicit opt-in,
|
|
28
28
|
it builds the exact
|
|
29
29
|
`native-kernels/orbitquant-packed-matmul` kernel-builder redistributable
|
|
@@ -284,6 +284,13 @@ for the current artifact format and runtime modes.
|
|
|
284
284
|
snapshot model repo resolved to commit
|
|
285
285
|
`cb0ceb1a4d070556c52cfba691aba3f6647c246b`. The native loader therefore
|
|
286
286
|
still requires `LOCAL_KERNELS`, an importable package, or Kernel Hub approval.
|
|
287
|
+
- A 2026-07-09T15:06Z live refresh found no new reviewer reply after the
|
|
288
|
+
2026-07-09T14:00Z model-artifact numbers. Discussion 15 remains open,
|
|
289
|
+
`repo_info("WaveCut/orbitquant-packed-matmul", repo_type="model")` resolves
|
|
290
|
+
to commit `cb0ceb1a4d070556c52cfba691aba3f6647c246b`, and
|
|
291
|
+
`repo_info("WaveCut/orbitquant-packed-matmul", repo_type="kernel")` still
|
|
292
|
+
returns 404. Do not describe the native package as remotely loadable until a
|
|
293
|
+
kernel-type repository exists and `get_kernel(...)` has been verified.
|
|
287
294
|
|
|
288
295
|
## Packaging Boundary
|
|
289
296
|
|
|
@@ -170,6 +170,16 @@ approval blocker.
|
|
|
170
170
|
On 2026-07-09T14:00Z, `WaveCut` posted those actual model artifact numbers in
|
|
171
171
|
discussion 15.
|
|
172
172
|
|
|
173
|
+
Live status refresh:
|
|
174
|
+
|
|
175
|
+
On 2026-07-09T15:06Z, discussion 15 was still open and no newer reviewer reply
|
|
176
|
+
was present after the 2026-07-09T14:00Z model-artifact numbers. The public
|
|
177
|
+
source snapshot repo still resolved as a model repo at commit
|
|
178
|
+
`cb0ceb1a4d070556c52cfba691aba3f6647c246b`; the kernel-type repository still
|
|
179
|
+
returned 404. The remaining action is Hugging Face Kernel Hub publish approval,
|
|
180
|
+
followed by `kernel-builder build-and-upload` and `get_kernel(...)`
|
|
181
|
+
verification.
|
|
182
|
+
|
|
173
183
|
## Title
|
|
174
184
|
|
|
175
185
|
Request Kernel Hub publish access for `WaveCut/orbitquant-packed-matmul`
|
|
@@ -196,7 +196,13 @@ URL, or signed-off audit note.
|
|
|
196
196
|
source build unless `ORBITQUANT_ALLOW_NATIVE_KERNEL_BUILD=1` is set. A
|
|
197
197
|
2026-07-09 prebuilt-only loader check still returned 404 for the Kernel Hub
|
|
198
198
|
repo while the public source snapshot model repo resolved to commit
|
|
199
|
-
`cb0ceb1a4d070556c52cfba691aba3f6647c246b`.
|
|
199
|
+
`cb0ceb1a4d070556c52cfba691aba3f6647c246b`. A 2026-07-09T15:06Z live
|
|
200
|
+
refresh confirmed discussion 15 remains open, the public source snapshot
|
|
201
|
+
model repo still resolves to commit
|
|
202
|
+
`cb0ceb1a4d070556c52cfba691aba3f6647c246b`, and
|
|
203
|
+
`repo_info("WaveCut/orbitquant-packed-matmul", repo_type="kernel")` still
|
|
204
|
+
returns 404. The loadable Kernel Hub package therefore remains an external
|
|
205
|
+
approval gate, not a completed release artifact.
|
|
200
206
|
- [x] Final paper conformance audit is complete against arXiv 2607.02461, with
|
|
201
207
|
documented deviations, implementation notes, and evidence that accepted
|
|
202
208
|
deviations are intentional. The required audit checklist is
|
|
@@ -228,7 +234,11 @@ URL, or signed-off audit note.
|
|
|
228
234
|
metadata, zero remote checksum mismatches, zero README mismatches, and zero
|
|
229
235
|
forbidden remote files. It also reported `public_count=14`,
|
|
230
236
|
`private_count=0`, 14/14 policy-inventory-ready, and 144 missing
|
|
231
|
-
release-grade metrics.
|
|
237
|
+
release-grade metrics. A 2026-07-09T15:06Z rerun with `--summary-only` and
|
|
238
|
+
the same policy inventory root again passed `--fail-on-artifact-regression`
|
|
239
|
+
with 14/14 artifact-ready, native-smoke-ready, metadata-complete, and
|
|
240
|
+
policy-inventory-ready; it reported `release_eval_applicable_count=10`,
|
|
241
|
+
`release_eval_ready_count=0`, and `missing_required_metric_count=144`.
|
|
232
242
|
- [x] Full-model module classification inventories are captured for FLUX.2
|
|
233
243
|
Klein, FLUX.1-schnell, Z-Image-Turbo, and Wan2.1. Raw inventory JSON may
|
|
234
244
|
remain unpublished, but each published artifact manifest must be
|
|
@@ -258,7 +268,9 @@ URL, or signed-off audit note.
|
|
|
258
268
|
`repo_count=14`, `artifact_ready_count=14`, `metadata_complete_ready_count=14`,
|
|
259
269
|
`native_smoke_ready_count=14`, `remote_checksum_mismatch_count=0`,
|
|
260
270
|
`readme_mismatch_count=0`, `forbidden_file_count=0`, `public_count=14`, and
|
|
261
|
-
`private_count=0`.
|
|
271
|
+
`private_count=0`. A 2026-07-09T15:06Z `--summary-only` rerun preserved the
|
|
272
|
+
same compact artifact counts and still reported `forbidden_file_count=0`,
|
|
273
|
+
`remote_checksum_mismatch_count=0`, and `readme_mismatch_count=0`.
|
|
262
274
|
- [x] The GitHub repository is public, tagged, released, and includes the
|
|
263
275
|
release docs, license, source distribution expectations, and reproducible
|
|
264
276
|
verification commands.
|
|
@@ -289,7 +301,17 @@ URL, or signed-off audit note.
|
|
|
289
301
|
`5972b6cfd1d89653fb9ac17668f72818c61a0e3cc5ea1cdd46e59d54405dc1ff` and
|
|
290
302
|
`orbitquant-0.1.1-py3-none-any.whl` SHA256
|
|
291
303
|
`b829c5df00093e697872ca24104e6ef38dbe7e7d70b2c2e33560bfaec224cde1`.
|
|
292
|
-
|
|
304
|
+
Patch release notes for compact artifact audit output are
|
|
305
|
+
[release-0.1.2.md](release-0.1.2.md). GitHub CI for commit `f18feb9`
|
|
306
|
+
passed as run `29025114082`, tag `v0.1.2` points at commit
|
|
307
|
+
`f18feb95f7595965f046b3455997d6ce9b8e8e4a`, and GitHub Release
|
|
308
|
+
`https://github.com/iamwavecut/OrbitQuant/releases/tag/v0.1.2` was published
|
|
309
|
+
on 2026-07-09 with exact PyPI-matching assets:
|
|
310
|
+
`orbitquant-0.1.2.tar.gz` SHA256
|
|
311
|
+
`4afc15589fe713345dfa47be30dc078d943484a1f4bbd4861a413532a6ec8377` and
|
|
312
|
+
`orbitquant-0.1.2-py3-none-any.whl` SHA256
|
|
313
|
+
`3bdddebaa46f60307ed50e2ebf4b7ff4fef7817845b512ecfbb6fbf8ba71c91c`.
|
|
314
|
+
- [x] The PyPI package is published as `orbitquant==0.1.2`.
|
|
293
315
|
Evidence: commit `ce5c232` added the manual
|
|
294
316
|
`.github/workflows/publish-pypi.yml` Trusted Publishing workflow. A PyPI
|
|
295
317
|
pending publisher was registered for project `orbitquant`, owner
|
|
@@ -316,6 +338,19 @@ URL, or signed-off audit note.
|
|
|
316
338
|
`OrbitQuantConfig().runtime_mode == "auto_fused"`,
|
|
317
339
|
`OrbitQuantConfig().packed_matmul_block_n == 128`, and
|
|
318
340
|
`orbitquant --version == "0.1.1"`.
|
|
341
|
+
Patch publish run `29025225397` completed successfully on 2026-07-09 from
|
|
342
|
+
head SHA `f18feb95f7595965f046b3455997d6ce9b8e8e4a`, including full pytest,
|
|
343
|
+
`ruff check`, package build, `twine check`, wheel smoke, OIDC publication,
|
|
344
|
+
and PyPI digital attestations. The PyPI JSON API reports version `0.1.2` with
|
|
345
|
+
`orbitquant-0.1.2.tar.gz` SHA256
|
|
346
|
+
`4afc15589fe713345dfa47be30dc078d943484a1f4bbd4861a413532a6ec8377` and
|
|
347
|
+
`orbitquant-0.1.2-py3-none-any.whl` SHA256
|
|
348
|
+
`3bdddebaa46f60307ed50e2ebf4b7ff4fef7817845b512ecfbb6fbf8ba71c91c`; a fresh
|
|
349
|
+
venv installed `orbitquant==0.1.2` from PyPI and verified
|
|
350
|
+
`orbitquant.__version__ == "0.1.2"`,
|
|
351
|
+
`OrbitQuantConfig().runtime_mode == "auto_fused"`,
|
|
352
|
+
`orbitquant --version == "0.1.2"`, and `orbitquant audit-hf-artifacts --help`
|
|
353
|
+
includes `--summary-only`.
|
|
319
354
|
- [x] ComfyUI compatibility is verified after the relevant schema stabilizes,
|
|
320
355
|
including load, graph execution, artifact metadata behavior, and kernel extra
|
|
321
356
|
install guidance for the default `auto_fused` runtime.
|
|
@@ -332,7 +367,37 @@ URL, or signed-off audit note.
|
|
|
332
367
|
`ruff`, package build, and `twine check`, and passed GitHub CI run
|
|
333
368
|
`29020564152` on 2026-07-09. A live GitHub check then reported
|
|
334
369
|
`iamwavecut/ComfyUI-OrbitQuant` as `PUBLIC`, Apache-2.0 licensed, with
|
|
335
|
-
default branch `main`.
|
|
370
|
+
default branch `main`. Follow-up commit `85527ee` required
|
|
371
|
+
`orbitquant>=0.1.1` after the packed-matmul default update and passed
|
|
372
|
+
GitHub CI run `29022774661`. Current commit `4832d4a` requires
|
|
373
|
+
`orbitquant>=0.1.2`, updates the README install commands for both
|
|
374
|
+
`orbitquant>=0.1.2` and `orbitquant[kernels]>=0.1.2`, refreshes `uv.lock`
|
|
375
|
+
to the PyPI `orbitquant` 0.1.2 release hashes, and passed GitHub CI run
|
|
376
|
+
`29027011708` on 2026-07-09. GitHub Release
|
|
377
|
+
`https://github.com/iamwavecut/ComfyUI-OrbitQuant/releases/tag/v0.1.0` was
|
|
378
|
+
published on 2026-07-09T15:12Z from commit
|
|
379
|
+
`4832d4addb39681e82f38e07627a2bb682e4332d` with assets
|
|
380
|
+
`comfyui_orbitquant-0.1.0.tar.gz` SHA256
|
|
381
|
+
`630628c56e5ed35626cd7cca6749c51056cb78a0041b7c1268cf0b5e995d28c0` and
|
|
382
|
+
`comfyui_orbitquant-0.1.0-py3-none-any.whl` SHA256
|
|
383
|
+
`0c774c20a6759bea18d5d02b598035c3446a72ee4efaa0be6c1f325f4b3e928b`.
|
|
384
|
+
Before release, local `uv run pytest -q`, `uv run ruff check .`, package
|
|
385
|
+
build, and `twine check` passed for the node pack. Follow-up commit
|
|
386
|
+
`ca62b7a` added the manual `.github/workflows/publish-pypi.yml` Trusted
|
|
387
|
+
Publishing workflow for a future `comfyui-orbitquant` PyPI release. GitHub
|
|
388
|
+
reported both `CI` and `Publish PyPI` workflows as active, and ComfyUI CI run
|
|
389
|
+
`29028857599` passed on 2026-07-09 with node-pack tests, lint, package
|
|
390
|
+
build, package metadata check, and wheel smoke. The GitHub `pypi`
|
|
391
|
+
environment was created on 2026-07-09T15:21Z. After PyPI password
|
|
392
|
+
confirmation, the pending publisher for `comfyui-orbitquant` was registered
|
|
393
|
+
and workflow run `29029534070` published `comfyui-orbitquant==0.1.0` through
|
|
394
|
+
Trusted Publishing on 2026-07-09. The PyPI version JSON for `0.1.0` reports
|
|
395
|
+
`comfyui_orbitquant-0.1.0-py3-none-any.whl` SHA256
|
|
396
|
+
`0c774c20a6759bea18d5d02b598035c3446a72ee4efaa0be6c1f325f4b3e928b` and
|
|
397
|
+
`comfyui_orbitquant-0.1.0.tar.gz` SHA256
|
|
398
|
+
`9a2c1e23e7c7674bb8fb7c350473c9ad636c952c5495b71d805a91996a00b51f`. A fresh
|
|
399
|
+
venv installed `comfyui-orbitquant==0.1.0` from PyPI and imported
|
|
400
|
+
`comfyui_orbitquant.NODE_CLASS_MAPPINGS`.
|
|
336
401
|
- [x] MPS shader-only gate can be run independently from the native packed
|
|
337
402
|
matmul package gate. Evidence: on 2026-07-09,
|
|
338
403
|
`ORBITQUANT_RUN_NATIVE_KERNEL_PACKAGE_CI=0` with tiny benchmark dimensions
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "orbitquant"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.3"
|
|
8
8
|
description = "Clean-room OrbitQuant implementation for diffusion transformers"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -38,7 +38,7 @@ hf = [
|
|
|
38
38
|
]
|
|
39
39
|
kernels = [
|
|
40
40
|
"kernels>=0.16",
|
|
41
|
-
"triton>=3.5",
|
|
41
|
+
"triton>=3.5; platform_system == 'Linux'",
|
|
42
42
|
]
|
|
43
43
|
eval = [
|
|
44
44
|
"imageio>=2.37",
|
|
@@ -237,14 +237,14 @@ PY
|
|
|
237
237
|
printf '%s\n' \
|
|
238
238
|
"native kernel package CI could not load a compatible prebuilt native packed-matmul kernel." \
|
|
239
239
|
"The script will not start a kernel-builder/Nix source build unless ORBITQUANT_ALLOW_NATIVE_KERNEL_BUILD=1 is set, because uncached CUDA builds can compile the CUDA/NCCL stack on paid GPU hosts." \
|
|
240
|
-
"
|
|
240
|
+
"Make a compatible orbitquant_packed_matmul package importable, use a loadable Hugging Face Kernel Hub artifact, set LOCAL_KERNELS to a compatible built CUDA variant, or rerun with ORBITQUANT_ALLOW_NATIVE_KERNEL_BUILD=1 only on a host where the build cache/toolchain is intentional." \
|
|
241
241
|
>&2
|
|
242
242
|
exit 1
|
|
243
243
|
fi
|
|
244
244
|
if ! command -v nix >/dev/null 2>&1; then
|
|
245
245
|
printf '%s\n' \
|
|
246
246
|
"native kernel package CI requires either a loadable prebuilt native packed-matmul kernel or nix for kernel-builder." \
|
|
247
|
-
"Install nix,
|
|
247
|
+
"Install nix, make a compatible orbitquant_packed_matmul package importable, set LOCAL_KERNELS to a compatible built variant, wait for the Hugging Face kernel repo to become loadable, or set ORBITQUANT_RUN_NATIVE_KERNEL_PACKAGE_CI=0 only when intentionally skipping native package closure." \
|
|
248
248
|
>&2
|
|
249
249
|
exit 1
|
|
250
250
|
fi
|
|
@@ -94,7 +94,7 @@ if [[ "$RUN_NATIVE_KERNEL_PACKAGE_CI" == "1" && -z "${LOCAL_KERNELS:-}" ]]; then
|
|
|
94
94
|
stage "native-packed-matmul-local-variant-missing status=$native_kernel_variant_status"
|
|
95
95
|
printf '%s\n' \
|
|
96
96
|
"native packed matmul local variant was not found for this MPS runtime." \
|
|
97
|
-
"
|
|
97
|
+
"Make a compatible orbitquant_packed_matmul package importable, set LOCAL_KERNELS=$NATIVE_KERNEL_REPO_ID=/absolute/path/to/a/built/variant containing metadata.json, build the matching kernel-builder variant, or set ORBITQUANT_RUN_NATIVE_KERNEL_PACKAGE_CI=0 to run only the inline Metal shader checks." \
|
|
98
98
|
>&2
|
|
99
99
|
fi
|
|
100
100
|
fi
|