Skip to content

refactor(backend): reduce numbers pipeline to stats->features->gen and decouple gen from MetaSelection - #74

Merged
guigerdts merged 1 commit into
mainfrom
feat/numbers-pipeline-gen-only-core
Aug 25, 2026
Merged

guigerdts merged 1 commit into
mainfrom
feat/numbers-pipeline-gen-only-core

Conversation

@guigerdts

Copy link
Copy Markdown
Owner

Summary

Reduces the /numbers generation pipeline from the 8-stage canonical chain to stats -> features -> gen. The meta stages (ml/dl/bt/rank/select) are removed from the numbers path. gen is decoupled from MetaSelection: when no active selection exists it uses a deterministic seed derived from the active probability snapshot checksum + lottery id (no GEN_NO_SELECTION).

This is part 1 of 2 stacked PRs (split to stay under the 400-line review budget). Part 2 (feat/numbers-pipeline-gen-only-tests) updates the backend + frontend suites to the 3-stage contract.

Scope

  • pipeline_service.py: STAGE_ORDER = (stats, features, gen); removed meta stages, gated-stage logic, and adapter classes.
  • gen_service.py: _resolve_selection fallback for missing MetaSelection.
  • api/v1/pipeline.py: docstring updated.

Notes

On this branch alone the legacy 8-stage tests still assert the old chain; they are updated in part 2. Backend+frontend suites are green once both parts land.

@guigerdts
guigerdts merged commit 9c0d391 into main Aug 25, 2026
8 of 9 checks passed
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