Skip to content

Add Flux scheduler (parser + emitter) #29

Description

@stackedsax

Add support for the Flux scheduler (fluxrm/flux-sched), one of the two remaining planned HPC schedulers.

Scope

  • internal/parser/flux — Flux jobspec JSON → SPLAT
  • internal/emitter/flux — SPLAT → Flux jobspec JSON
  • Register in both internal/{parser,emitter}/all/all.go; drop from the "Planned" list in cmd/bammm/main.go and mark ✅ in the README table

Known hard bits (see SPEC.md / CLAUDE.md)

  • Flux symbolic named dependencies — no portable equivalent; preserve in extensions.flux, drop-with-warning cross-scheduler
  • Flux NUMA/socket resource graph — flatten to total CPU count for non-Flux targets
  • Priority via --urgency; add a PriorityScale in internal/splat/priority.go

Process: follow docs/adding-a-scheduler.md. Add a corpus config entry and check coverage against real specs; add unit + round-trip + golden tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions