Skip to content

Instantly share code, notes, and snippets.

@ryan-williams
Last active November 11, 2025 17:10
Show Gist options
  • Select an option

  • Save ryan-williams/7f4bc4a644cf998043dab6e91635dd3a to your computer and use it in GitHub Desktop.

Select an option

Save ryan-williams/7f4bc4a644cf998043dab6e91635dd3a to your computer and use it in GitHub Desktop.

marin-community/marin#1967 "Workspace" step 3: Ingest haliax as lib/haliax/

Third step in the "uv workspace migration plan" (#1773):

  • Merge Haliax into lib/haliax/ (preserving full Git history)
  • Migrate GitHub Actions workflows to monorepo structure
  • Builds on: #1723 ("step 2", Levanter integration)
  • Next step: Step 4 (Thalas executor)
flowchart TB
    subgraph " "
        experiments["<b>experiments</b><br/><small>step 1</small>"]
        data_browser["<b>data_browser</b><br/><small>independent</small>"]
    end

    subgraph "lib/"
        marin["<b>marin βœ…</b><br/><small>step 1</small>"]
        levanter["<b>levanter βœ…</b><br/><small>step 2</small>"]
        haliax["<b>haliax 🚧</b><br/><small>step 3</small>"]
        thalas["<b>thalas πŸ“‹</b><br/><small>step 4</small>"]
        zephyr["<b>zephyr βœ…</b><br/><small><a href='https://github.com/marin-community/marin/pull/1646'>#1646</a></small>"]
    end

    experiments --> marin
    experiments --> levanter
    experiments --> haliax
    experiments --> zephyr

    marin --> levanter
    marin --> zephyr

    levanter --> haliax

    style experiments fill:#d4edda,color:#000
    style marin fill:#d4edda,color:#000
    style levanter fill:#d4edda,color:#000
    style zephyr fill:#d4edda,color:#000
    style haliax fill:#fff3cd,color:#000
    style thalas fill:#f8d7da,color:#000
    style data_browser fill:#e2e3e5,color:#000

    classDef completed fill:#d4edda,stroke:#28a745,stroke-width:2px,color:#000
    classDef inProgress fill:#fff3cd,stroke:#ffc107,stroke-width:2px,color:#000
    classDef planned fill:#f8d7da,stroke:#dc3545,stroke-width:2px,stroke-dasharray: 5 5,color:#000
    classDef independent fill:#e2e3e5,stroke:#6c757d,stroke-width:2px,color:#000
Loading

Legend:

  • βœ… Completed & merged
  • 🚧 In progress
  • πŸ“‹ Planned

(data_browser stays independent, not a workspace member)

Changes

  • Merge Haliax into lib/haliax/ (preserving full Git history)
  • Add Haliax member to workspace root pyproject.toml (alphabetized)
  • Update Levanter's Haliax dependency to use workspace reference
  • Migrate GitHub Actions workflows to monorepo structure:
    • Add Haliax workflows with haliax- prefix
    • Add "Haliax - " prefixes to workflow names
    • Update workflows for workspace structure
  • Update pre-commit config with separate Haliax rules:
    • Preserve Haliax's line-length 119 config (vs Marin's 121)
    • Preserve Haliax's license headers separately
    • Exclude lib/haliax/ from Marin's general Python config
  • Alphabetize workspace members and sources in root pyproject.toml

Structure After

 marin/
   pyproject.toml        # Workspace root
   experiments/
   .github/workflows/
     marin-*.yaml        # Marin workflows
     levanter-*.yaml     # Levanter workflows
+    haliax-*.yaml       # Haliax workflows (new)
   lib/
+    haliax/             # Workspace member (new)
+      pyproject.toml
+      src/haliax/
     levanter/           # Workspace member
       pyproject.toml
       src/levanter/
     marin/              # Workspace member
       pyproject.toml
       src/marin/
     zephyr/             # Workspace member
       pyproject.toml
       src/zephyr/

Migration Scripts

See workspace-migration scripts for:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment