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
Legend:
- β Completed & merged
- π§ In progress
- π Planned
(data_browser stays independent, not a workspace member)
- 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
- Add Haliax workflows with
- 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
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/See workspace-migration scripts for:
step3/main.sh- Main migration script (7 parts: prepare, merge, integrate, workflows, pre-commit)step3/update_workspace.py- Workspace config updater (with alphabetization)step3/update_workflows.py- Workflow migrationstep3/update_precommit.py- Pre-commit config updater- Full documentation