Repository navigation
Releases
Releases · HomericIntelligence/Odyssey
Odyssey v0.2.0 — Mojo 1.0.0 stable port
Odyssey v0.2.0 — Mojo 1.0.0 stable port
219 commits since v0.1.0-pkgtest (2026-05-20). This release is the full Mojo 1.0.0 stable port.
Highlights
- Mojo 1.0.0 stable migration complete — toolchain pinned
mojo==1.0.0(MAX 26.5), full codebase migrated off 0.26-era APIs (pointer origins,unsafe_*memory ops,__deinit__,def/fnunification), docs + ADRs updated (ADR-018: uv-managed toolchain). - All 363 test files pass on 1.0.0 stable (
just validategreen end-to-end: 61 executables built, full test suite, --Werror clean). - Rename: ProjectOdyssey → Odyssey — module namespace
src/projectodyssey→src/odyssey. - 16 new primitives (10 layers + 6 optimizers); new optimizers: Adan, Sophia (clipped-preconditioned update), Muon variants (Hyperball, LionMuon, SF-NorMuon), Muon delegator dispatch; autograd vector-Jacobian products.
- 6 neural-network architectures training end-to-end (LeNet-5, MLP, ResNet-18, GoogLeNet, VGG-16, MobileNetV1, AlexNet) with synthetic-data smoke mode for all 8 train entrypoints.
- Security hardening: 100+ CodeQL/CVE alerts cleared (tarslip, ReDoS, workflow injection, least-privilege tokens), pinned base image digests.
Upstream Mojo bug work
Documented in docs/dev/mojo-1.0.0-regressions.md. 14 issues filed against modular/modular:
- Filed: #6939 (return-move UAF), #6940 (Scalar pow compile), #6941 (VM-limit abort), #6958/#6959/#6963, #6965 (closure-capture UAF), #6445 (KGEN JIT), #6433 (VM reservation)
- Closed & verified fixed on 1.0.0 (2026-08-26): #6959 (Atomic escape — workaround removed, original API restored), #6413/#6445 (KGEN JIT canaries in suite)
- Closed DUPLICATE (expected behavior, no fix): #6939/#6963 — canonical patterns (origin-tied
data_ptr, single-tensor returns) retained - Permanent watchdog tests:
test_jit_crash_6413,test_jit_crash_6445,test_return_move_canary+ escape-audit CI gate
Ecosystem
- modular-community: new
odysseyrattler-build recipe (v0.2.0) → install viapixi add odysseyfrom themodular-communityprefix.dev channel.
Repo stats
- ~198K lines of Mojo, 363 test files, 74 justfile recipes, UV/Just/Podman tooling.
Full changelog: git log v0.1.0-pkgtest..v0.2.0
v0.1.0-pkgtest
Immutable
release. Only release title and notes can be modified.
Release v0.1.0-pkgtest
Release Date: $(date -u +"%Y-%m-%d")
What's New
Changes since datasets-v2
- fix(ci): remove
testjob from release.yml until upstream Mojo JIT bug is fixed (#5431) (200d2eb) - fix(tests): update test_io_helpers fixtures-path assertion after shared→projectodyssey rename (#5430) (d271044)
- fix(ci): bump release.yml test job timeout 20→60 min (#5428) (495840f)
- fix(ci): replace removed
mojo testsubcommand withjust test-mojoin release.yml (#5427) (0f25b33) - fix(packaging): narrow
just wheelchmod to just the wheel file (#5426) (12b33c6) - fix(ci): chmod dist/ world-writable so in-container
just wheelcan write to it (#5425) (31347d0) - fix(packaging): run
just wheelinside container (mirror #5422 fix) (#5424) (1f0dd72) - fix(ci): pin sanitizer builds to x86-64-v3 to avoid SIGILL on CI runners (#5423) (ffce9df)
- fix(packaging): run
just build-recipeinside container (#5422) (5cf1de8) - fix(ci): add
setup-juststep to release.yml build job (#5421) (9ac970a) - fix(packaging): make conda recipe + install-local actually work end-to-end (#5419) (9d5dd46)
- feat(packaging): Python wheel bundling .mojopkg (PR 4 of 4) (#5416) (bd08356)
- fix(ci): release workflow attaches .mojopkg/.conda/.whl artifacts (PR 3 of 4) (#5417) (56a6ef8)
- feat(packaging): conda recipe + just install/publish (PR 2 of 4) (#5415) (e9e123f)
- refactor(packaging): rename shared/ → src/projectodyssey/ (PR 1 of 4) (#5414) (e8c5609)
- fix(ci): stream ASan test output live & surface signal-kill exit codes (#5412) (9946879)
- fix(ci): capture real ELF cores via gdb wrapper for SIGILL diagnosis (#5411) (e986838)
- chore(ci): remove coredump-capture action and its wiring (#5409) (652abcc)
- fix: add missing worktree cleanup path (#5410) (f2b3133)
- refactor(scripts): inline worktree cleanup in rebase-all-branches (#5408) (c8724cc)
- fix(justfile): export USER_ID/GROUP_ID to podman compose up/down (#5407) (e79165e)
- fix(ci): repair main container-publish (nightly SBOM tag + summary aggregator) (#5406) (da1b3f7)
- chore(ci)(deps): bump the github-actions group across 1 directory with 4 updates (#5404) (05c9c83)
- fix(ci): unblock main — MD040 + trailing-whitespace from PR #5402 (#5405) (4565246)
- docs(blog): day 187 — phantom bugs in the CI machines (#5402) (591f9f1)
- chore(ci): remove Changelog Reminder workflow (#5403) (d995def)
- ci(test): remove modular/modular#6433 workaround, fan out matrix (#5381) (e3e0de8)
- fix(justfile): make
just buildactually compile everything; add asan/tsan modes (#5389) (2462f1e) - fix(tests): alias shared.training.SGD to TrainingSGD to resolve import ambiguity (#5388) (adb4c35)
- Forbid ::warning:: advisory pattern; flip 9 sites fail-fast (#5387) (5b01298)
- chore: refactor || true workarounds; add forbid-suppressions guard (#5385) (e1f03e2)
- fix(ci): coredump-capture path namespace + always-write metadata (#5380) (ab048ab)
- docs(mojo): add UnsafePointer memory safety guidance (#5371) (948756c)
- docs(training): monitoring & divergence detection strategy (#5370) (6dcf689)
- tooling(version): add version-sync automation (closes #5327, #5190) (#5368) (45eab7d)
- infra: extend resource limits + dep-sync hook (closes #5317, #5137) (#5369) (584bad7)
- refactor(tests): merge duplicate import blocks (closes #5297, #5186) (#5377) (f546526)
- tooling: add CHANGELOG-update reminder for PRs (closes #5165) (#5374) (7022dde)
- docs: add external install guide and roadmap (closes #5326, #5321) (#5367) (e0b880b)
- docs(privacy): add GDPR/data-privacy guidance (closes #5332) (#5365) (188eecc)
- chore(ci)(deps): bump the github-actions group with 2 updates (#5364) (aaa07e3)
- ci: extend core-dump capture to all 5 test jobs (modular/modular#6413) (#5378) (f308c77)
- docs: update coverage status post-1.0 bump (closes #5301) (#5375) (eea739c)
- ci: add concurrency groups to cancel stale PR runs (closes #5051) (#5373) (119cf82)
- chore(security): untrack .env, strengthen gitignore, add pre-commit guard (refs #5188) (#5372) (b89ea54)
- ci(security): extend audit to pixi/conda packages (closes #5314) (#5376) (96c251d)
- test(spinlock): add concurrency tests for race condition (closes #5319) (#5366) (1469b42)
- Phase G: EASY tier consolidated (33 issues) (#5363) (9124a74)
- chore(deps): migrate to Mojo 1.0.0b2 (#5353) (e054d5d)
- test(foundation): implement paper implementation validation tests (#5350) (3a79b71)
- feat(ci): implement Test Configuration Loading tests (#5344) (#5349) (d216545)
- fix: make just train lenet fp16 200 work end-to-end in Podman (#5351) (0dd0952)
- fix(env): separate host/container pixi envs, remove ADR-009, fix stale tests (#5348) (9067e02)
- chore(ci)(deps): bump anthropics/claude-code-action (#5345) (953ecca)
- fix: Add hephaestus dependency to resolve mypy type errors (#5341) (462b0e8)
- fix(docker): fix root:root bind-mount breaking just build-release (#5340) (f3de3c3)
- fix(audit): add pip-audit and pip-licenses to pixi.toml (#5337) (0a3bb34)
- fix(docker): add build/ to _ensure_writable in entrypoint.sh (#5335) (72c8ee5)
- feat(ci): add markdownlint/pixi/justfile/symlink CI jobs (#5278) (eb3c9c8)
- chore(ci): add unified required-checks workflow (#5276) (143a0d7)
- docs(repro): add self-contained minimal reproducer for KGEN JIT buffer overflow (8e3be11)
- docs(repro): add standalone SpinLock race condition reproducer (62497e8)
- fix(memory-pool): replace store(0) with fetch_add(-1) in SpinLock.unlock() (2b95aca)
- fix(ci): serialize mojo test jobs and lift virtual address limit (c7a4918)
- docs(workaround): remove superseded retry mitigation section and unused retry.py (e04197f)
- fix(tests): fix Mojo compile errors blocking CI on main (59696db)
- fix(ci): remove trailing blank lines from requirements files (end-of-file-fixer) (eb73d5e)
- fix(docs): fix MD013 line-length in scripts/README.md and mojo-jit-crash-workaround.md (4f7d092)
- fix(docs): fix markdownlint MD060/MD013 errors in 3 files (c33a484)
- style(scripts): ruff format check_precommit_versions.py (852553f)
- fix(scripts): read feature deps in check_precommit_versions (hephaestus 0.7.0 bug) (120884b)
- fix(tests): update test_check_stale_scripts to hephaestus 0.7.0 API (2a35698)
- fix(ci): install hephaestus in Python test jobs + regenerate requirements (07c9c21)
- fix(ci): install hephaestus in test-agents job (cfc766e)
- fix(ci): install hephaestus in test-python job (6dbf498)
- cleanup(adr009): remove check_test_count.py enforcement (ADR-009 resolved 2026-03-20) (b1b4c4d)
- fix(ci): remove stale-cache restore-keys from setup-pixi action (9aafa27)
- fix(docs): replace out-of-tree relative links with absolute GitHub URLs (mkdocs strict) (1f2215e)
- fix(docs): blank line before ordered list in repro/README (MD032) + fix table style (MD060) (ba6280b)
- chore(ci)(deps): bump anthropics/claude-code-action (f675096)
- fix(deps): regenerate pixi.lock with prod environment (3570830)
- chore(deps): separate dev from production dependencies in pixi.toml (c64014a)
- style(scripts): apply ruff format to wrapper scripts (0dc7f7e)
- fix(scripts): update hephaestus wrappers to 0.7.0 API (ab43c6b)
- fix(shared/testing): import shape symbols from shared.core.shape (8f3ae43)
- perf(tests): complete ADR-015 import audit + add targeted-import repro (9b5063c)
- chore(adr): reconcile superseded ADRs with tree (3f08e9d)
- perf(core): localize elementwise import in loss_utils.mojo (0d5d85d)
- perf(core): localize shape import in matrix.mojo (c17dc4f)
- perf(core): localize shape imports in conv.mojo and pooling.mojo (fb5d87d)
- perf(core): localize shape import in reduction.mojo to reduce JIT footprint (2842b95)
- refactor: migrate remaining from shared.data imports to submodule paths (4d92558)
- repro: fix reproduction steps — clone-based, no hardcoded paths, includes container build (4fbac36)
- repro: add repro_hello.mojo and fix hello.mojo references (c73ba7f)
- fix(ci): add max-parallel: 2 to test matrix; add Day 165 blog post (44dc9e4)
- repro: document root cause of JIT crash as virtual memory exhaustion (0f5cea6)
- repro: add Category 4 deterministic module-level import chain crash reproducers (7cee744)
- chore: regenerate pixi.lock with homericintelligence-hephaestus==0.7.0 (5ce4005)
- fix(deps): require hephaestus>=0.7.0 for agents, validation, and other new modules (703d2ea)
- fix(ci): correct hephaestus dep constraint and fix pre-pixi script invocations (d1c8f2d)
- feat(cleanup): add hephaestus dep and replace ported scripts with wrappers (L13) (e29dc07)
- chore(deps)(deps): bump pytest from 8.4.2 to 9.0.3 (7b2b099)
- chore(deps)(deps): bump the python-minor-patch group with 2 updates (8d7ce36)
- chore(ci)(deps): bump the github-actions group across 1 directory with 5 updates (a31b1cd)
- chore(dev-deps)(deps-dev): update setuptools requirement (d0432a5)
- fix(security): add input validation, path traversal protection, and health endpoint to dashboard server (08bc38f)
- fix(refactor): add raises to _is_uniform_tensor after rebase onto main (e8b671e)
- refactor: migrate remaining _get_float64 reads to typed pointers (6450923)
- fix(core): fix BFloat16 latent bug in AnyTensor FP8/BF8 conversion (4b90364)
- fix(tests): repair test_gradient_checker_meta.mojo parse error (7a4412f)
- refactor(docker): parameterize hardcoded /home/dev path in COPY --from directives (d781927)
- docs: add changelog contribution guidelines to CONTRIBUTING.md (6545b7b)
- perf(data): localize shape import in cifar10 and reduction import in integration test (6cab17c)
- perf(core): localize heavy imports in loss, linear, and conv modules (9c8880c)
- perf(core): localize heavy imports in activation.mojo to reduce JIT footprint (21b94d8)
- chore(ci): remove stale non-blocking comments from comprehensive-tests.yml (ADR-015 Action 3) (0f8bf57)
- refactor(ci): remove test-with-retry.sh and wire direct mojo invocat...
Dataset Mirror v2
Immutable
release. Only release title and notes can be modified.
Pre-downloaded datasets for CI reliability.