Skip to content

Say upstream's live tests pass on the mlx backend, list each package product's targets, bring CONTRIBUTING up to 0.1.0, and restore the README's read-speed bullet - #148

Merged
alaineid merged 1 commit into
mainfrom
docs/stale-lines-after-0.1.0
Oct 6, 2026
Merged

alaineid merged 1 commit into
mainfrom
docs/stale-lines-after-0.1.0

Conversation

@alaineid

@alaineid alaineid commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Refs #65.

Fixes the stale documentation lines found while preparing release 0.1.0 (#145), and restores a
README line that #145's merge with #144 dropped. Docs only: no Swift code, configuration or test
changes. CI does not run, because every changed file is Markdown that no test reads.

docs/development.md, The live suite (line 317)

Was: "Against the Swift server's mlx backend, its think, chat and stream tests fail until #52
and #53 land, while the Swift suite skips them. The chat tests run there rather than skip because
the listing already names diffusiongemma-26b, as upstream's does."

Now:

Evidence: a run on 2026-10-06 at bbab174 (#137), on an M3 Max with macOS 27.0.1 and Swift 6.4,
following the section's own steps. Since then main has changed only the version strings (#146)
and DocC Markdown (#147), so the result holds for d176ce3.

  • swift build -c release --product openjev, then
    OPENJEV_MLX_CACHE_LIMIT_GB=4 OPENJEV_HOST=127.0.0.1 OPENJEV_PORT=8093 openjev serve --backend mlx.
    It loaded the default checkpoint, mlx-community/diffusiongemma-26B-A4B-it-4bit at a7a81407,
    from the Hugging Face cache. /v1/models listed openjev-latest, openjev-0.1 and
    diffusiongemma-26b.
  • make upstream (dcd2094) and Upstream/.venv with pytest 9.1.1 and httpx 0.28.1, then
    OPENJEV_LIVE_URL=http://127.0.0.1:8093 Upstream/.venv/bin/python -m pytest Upstream/openjev/tests/test_live.py -v:
    12 passed, 4 skipped in 60.95s.
  • The Swift suite: the OpenJevLiveTests bundle that swift test --filter OpenJevLiveTests runs.
    It was built with swift build --target OpenJevLiveTests and run with swiftpm-testing-helper,
    so no other test target had to build.
    • Its test_live.py suite passed 13: the same 12 plus "A long streamed reply arrives whole,
      with its finish and [DONE], as the reply unstreamed".
    • It skipped the 4 test_encoder cases ("the server at OPENJEV_LIVE_URL does not list ...").
    • The run ended "Test run with 28 tests in 3 suites passed after 90.915 seconds."
  • Free disk stayed at 46 GB and swap at 162 MB, and the server stopped cleanly on SIGINT.
pytest -v
test_live.py::test_readme_example PASSED
test_live.py::test_image PASSED
test_live.py::test_read_options[extra0] PASSED
test_live.py::test_read_options[extra1] PASSED
test_live.py::test_read_options[extra2] PASSED
test_live.py::test_think PASSED
test_live.py::test_255_options PASSED
test_live.py::test_many_questions_in_chunks PASSED
test_live.py::test_unknown_model PASSED
test_live.py::test_concurrent_reads PASSED
test_live.py::test_chat PASSED
test_live.py::test_chat_stream PASSED
test_live.py::test_encoder[laya-1.0] SKIPPED
test_live.py::test_encoder[verdict-1.4] SKIPPED
test_live.py::test_encoder[clm-v0.1] SKIPPED
test_live.py::test_encoder[jevk5-0.2] SKIPPED
=================== 12 passed, 4 skipped in 60.95s (0:01:00) ===================

docs/development.md, Dependencies (lines 99 to 106)

The "Products used" column now lists every product Package.swift uses, each with the targets
that link it. It keeps the server rows' names (server, CLI, stub server) and adds DiffusionGemma,
encoders, JevK5 and bench, the names the Targets bullets above the table use. Test targets are
spelled out one by one ("server tests, CLI tests"), because a grouped "server, CLI and JevK5
tests" can be read two ways. A script parses the column back into target names and compares it
with every target's .product(name:package:) entries in Package.swift: 22 products in each, no
mismatch.

Row Was Missing or wrong against Package.swift
mlx-swift MLX, MLXNN no targets named
mlx-swift-lm MLXLMCommon, MLXVLM MLXLLM (OpenJevLetterReadout) and MLXHuggingFace (OpenJevDiffusionGemmaTests) missing; MLXVLM is linked only by OpenJevDiffusionGemmaTests (D-054)
swift-transformers Tokenizers Hub (OpenJevDiffusionGemma, OpenJevLetterReadout) missing
swift-jinja Jinja no target named
hummingbird Hummingbird, HummingbirdCore (server), HummingbirdTesting (server and CLI tests) Hummingbird is also linked by OpenJevCLITests and OpenJevLetterReadoutTests, and HummingbirdTesting by OpenJevLetterReadoutTests
swift-argument-parser ArgumentParser no targets named (openjev, openjev-bench and their tests)
swift-http-types HTTPTypes (server, server and CLI tests) also linked by OpenJevLetterReadoutTests
swift-log Logging (server, CLI, server and CLI tests) also linked by openjev-stub-server

The swift-nio, swift-service-lifecycle, async-http-client and swift-docc-plugin rows already
matched and are unchanged. The Requirement and Resolved columns match Package.swift and
Package.resolved: 35 pins, these 12 and 23 transitive, as the text under the table says.

docs/05-architecture.md (lines 37 to 39, 70, and 132 to 135)

These are the same product facts, in the module tree and graph whose product names development.md
says it matches.

  • Was. The graph still gave OpenJevDiffusionGemma mlx-swift-lm (MLXLMCommon, MLXVLM),
    though D-054 removed MLXVLM from the library (the tree in the same file says "not MLXVLM").
    Neither the tree nor the graph named Hub (import Hub in SwiftTransformersTokenizer.swift
    and JevK5Tokenizer.swift) or swift-jinja (import Jinja in SwiftTransformersTokenizer.swift).
  • Now. OpenJevDiffusionGemma depends on mlx-swift, MLXLMCommon, swift-transformers'
    Tokenizers and Hub, and swift-jinja. OpenJevLetterReadout also depends on Hub.

CONTRIBUTING.md (lines 3 to 11)

README.md, Status (line 96)

Not changed: docs/development.md lines 89 and 90 (a question)

The lines say: "A package opens in Xcode with autogenerated schemes, which are per-user and are
never written to disk, so this one is committed."

  • What is in the repository. Since Read images on the MLX backend: the Gemma 4 vision tower, the image prefill and the images field (#47, #48, D-054) #129 (046a26f), eight autogenerated schemes are committed
    beside OpenJevCore-iOS.xcscheme in .swiftpm/xcode/xcshareddata/xcschemes/: OpenJevCore,
    OpenJevDiffusionGemma, OpenJevEncoders, OpenJevLetterReadout, OpenJevSwift-Package, openjev,
    openjev-bench and openjev-stub-server. .gitignore lets any *.xcscheme there through.
  • Why it is left as it is. Either the schemes are deleted (and the exception narrowed to
    OpenJevCore-iOS.xcscheme), or they stay and the lines are reworded. That is the maintainer's
    call.

Merge order

The 0.1.0 tag does not exist yet. The README's Status paragraph (#145), this PR's CONTRIBUTING
opening and the restored bullet all describe the release as published, so they read right once
0.1.0 is tagged.

Sweep

Every tracked text file was searched with comment markers stripped, lines joined and the text split
into sentences. This was done again after rebasing onto #144 to #147.

…product's targets, bring CONTRIBUTING up to 0.1.0, and restore the README's read-speed bullet
Copilot AI balanced review requested due to automatic review settings October 6, 2026 19:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The documentation-only changes align with the supplied implementation and release evidence, with no unresolved findings.

Review effort: Balanced
Findings: None

What changed in this PR

Updates release 0.1.0 documentation to reflect shipped functionality and current dependencies.

Changes:

  • Records passing MLX live tests, including think and chat.
  • Corrects dependency product and target documentation.
  • Refreshes contributor guidance and restores the pending read-speed improvements.
File Description
README.md Restores the read-speed improvement bullet.
docs/​development.md Updates dependency mappings and live-test results.
docs/​05-architecture.md Corrects module dependency descriptions and graph.
CONTRIBUTING.md Updates release status and issue-reporting guidance.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@alaineid
alaineid merged commit 5734bf7 into main Oct 6, 2026
1 check passed
@alaineid
alaineid deleted the docs/stale-lines-after-0.1.0 branch October 6, 2026 19:16
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.

2 participants