Skip to content

Promote dev → main: unified DFlash execution and PyPI versioning - #175

Draft
drunkcoding wants to merge 2 commits into
mainfrom
dev
Draft

Promote dev → main: unified DFlash execution and PyPI versioning#175
drunkcoding wants to merge 2 commits into
mainfrom
dev

Conversation

@drunkcoding

Copy link
Copy Markdown
Contributor

Summary

  • unify DFlash speculative execution across batch and serving paths
  • add persistent serving sessions, paged DeepSeek MLA cache support, and row-aware backends
  • derive package and PyPI publish versions from Git tags via setuptools-scm
  • expand regression, integration, compatibility, and end-to-end validation coverage

Status

Draft/WIP pending review and CI validation.

drunkcoding and others added 2 commits August 19, 2026 18:38
#174)

* build: derive package version from git tags via setuptools-scm

Replace the env-var/hardcoded version (MOEINF_VERSION default 0.0.1) with setuptools-scm. The resolved version is written to moe_infinity/_version.py and baked into the sdist PKG-INFO, so it survives a source reinstall instead of reverting to the setup.py fallback.

* build: git-ignore generated _version.py and prune sdist contents

setuptools-scm regenerates moe_infinity/_version.py on every build, and its sdist file-finder includes all tracked files; prune docs/benchmarks/tests/examples/docker/scripts to keep the published sdist lean.

* ci(publish): version stable and nightly PyPI builds from git tags

Stable builds now version from the pushed tag instead of always publishing 0.0.1; nightly drops the setup-version job and NIGHTLY_BASE_VERSION and lets setuptools-scm emit X.Y.(Z+1).devN. Both checkouts use fetch-depth 0 and install setuptools-scm.

* ci: install setuptools-scm and fetch tags in PR build jobs

PR sdist and editable-install jobs need setuptools-scm present and full history (fetch-depth 0) so the version resolves and _version.py generation is validated.

* docs: document setuptools-scm versioning and drop manual version steps

Remove the manual __init__.py, setup.py, and NIGHTLY_BASE_VERSION bump steps, document tag-driven versioning and the initial v0.0.1 anchor tag, add setuptools-scm to source build deps, and record the fix in the changelog.

* ci(publish): authenticate to PyPI via trusted publishing (OIDC)

The pypa/gh-action-pypi-publish action reads credentials only from its 'user'/'password' inputs, never from TWINE_USERNAME/TWINE_PASSWORD env vars, so the existing env block was dead config and every nightly publish fell back to OIDC and failed with 'invalid-publisher'. Drop the dead env and add id-token: write (missing entirely from publish.yml) so trusted publishing works once a PyPI publisher is registered for this repo + workflow.

* docs(release): document PyPI trusted-publishing setup

Referenced by the publish workflows; lists the exact GitHub trusted-publisher registration values (owner/repo/workflow) required on PyPI before the first publish.

---------

Co-authored-by: drunkcoding <leyang.xue@ed.ac.uk>
)

* feat(spec_decode): add unified execution protocols

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* refactor(dflash): unify singleton session execution

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(spec_decode): add capability-selected session driver

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(dflash): add batched bare-HF execution

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(dflash): add row-aware rich backend

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* test(dflash): guard legacy batch-loop retirement

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(mla): add engine-owned DeepSeek paged cache

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(runtime): add row-aware rich forward

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(api): migrate deprecated DFlash generation facade

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(serving): add speculative session cache contexts

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* fix(serving): preserve speculative scheduler groups

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(serving): integrate persistent DFlash sessions

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(api): expose paged MLA admission controls

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* feat(dflash): separate pairing and executor evidence

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* test(serving): isolate standalone module loading

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* bench(dflash): add unified execution validation

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* docs(dflash): document unified execution behavior

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* docs(serving): document speculative cache modes

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* docs: update DFlash architecture compatibility

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* docs: record unified DFlash changes

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* docs(dflash): add unified execution plans

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* test(dflash): enforce compatibility documentation

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* test: remove deleted Snowflake fixture path

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* fix(api): preserve partial startup namespaces

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* ci(dflash): run unified validation end to end

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

* fix(serving): preserve cleanup metadata on Python 3.10

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

---------

Co-authored-by: drunkcoding <leyang.xue@ed.ac.uk>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
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