Skip to content

Arc Llama 1.0.0 - #91

Merged
offbyonebit merged 18 commits into
mainfrom
release/0.9.2-work-mode
Oct 24, 2026
Merged

offbyonebit merged 18 commits into
mainfrom
release/0.9.2-work-mode

Conversation

@offbyonebit

@offbyonebit offbyonebit commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Arc Llama 1.0.0. The planned 0.9.2 release is folded into 1.0.

Highlights

  • Redesigned web UI, Work (experimental) with built-in/OpenCode/Hermes agents and a Documents work type, chat
    compaction and context budgets, per-model runtimes, safe model stops, and config upgrade/rollback safety.
  • Windows portability fixes and a recorded native Windows 11 validation run.
  • SYCL runtimes start without oneAPI sourced: the oneAPI check and the capability probe now source it when needed.

Validation

  • scripts/check.sh on the release commit: ruff, mypy, 1670 tests passed, browser suite 88/88; CI on Linux and Windows, Python 3.10/3.12/3.14.
  • Native Windows 11 (Arc Pro B60, Vulkan): docs/release-validation-windows-2026-10-22.md.
  • Config upgrade/rollback round trips against the published 0.8.0, 0.9.0 and 0.9.1.2 packages.

Includes download destinations, partial-output retention, stream deadlines,
and the ruff formatting pass across src and tests.
Project and jobs move to a left rail, task entry becomes a centered composer,
project settings open in a slide-over sheet, and job detail is grouped into
cards with activity collapsed by default.
Add an opt-in staged sweep for MTP draft length and confidence, with repeated
measurements, acceptance telemetry, controlled sampling, output comparison,
and fresh confirmation before retaining a faster recipe. Preserve legacy
confidence flags and restore original settings on failure or interruption.

Credit DeepSeek's DeepInfer and its confidence-scheduled speculative decoding
for inspiring this tuning approach: https://github.com/deepseek-ai/DeepInfer
Local Qwen validation did not establish an additional verified speedup, so
the original recipe was restored and no numeric gain is claimed.

Validation: scripts/check.sh passed, including 1,548 Python tests and all
79 browser tests. Live validation exercised real MTP telemetry and rollback;
the service is healthy and the previously loaded Muse model was restored.
…ops and config rollback safety

Per-model runtimes
- Models can set their own llama-server executable and environment (TOML,
  Model settings, `model-runtime`); launch flags, tuning, compatibility and
  status follow each model's runtime. Docs: docs/per-model-runtimes.md.

Work
- Documents work type: read, create and review Word, Excel, PowerPoint and PDF
  files, with page images for vision-capable models only (the UI and server
  refuse it for text-only models). Optional `documents` extra. Paths and file
  types are validated before the Office libraries are imported.
- Native OpenCode and Hermes history in Work Sessions, a generation speed
  counter, and tool-profile/session fixes.

Safety and lifecycle
- POST /admin/stop and stop-all refuse with 409 while the model is serving a
  request (`force=true` overrides) and give llama-server 60 s after SIGTERM
  before SIGKILL (ARC_LLAMA_STOP_GRACE). A SIGKILL mid-request can wedge Intel
  Arc GPUs.

Upgrades and rollbacks (#78)
- Config keys this version does not recognise are kept on save, so rolling
  back to this version no longer drops settings written by a newer one.
- Upgrade and rollback tests use configs written by the published 0.8.0, 0.9.0
  and 0.9.1.2 packages; scripts/check_config_versions.py repeats the round
  trips against PyPI. Docs: docs/upgrading.md.

Docs
- Supported hardware narrowed to what has native results (Battlemage, B60);
  Alchemist and Lunar Lake detected and expected to work but outside the
  contract until reports arrive (#71).
- 1.0 plan: the soak is the maintainer's daily use of the published package,
  and the 1.0 candidate includes the current work (0.9.2+).
arc-llama install-runtime --optimized installs the optimized llama.cpp build for Intel Arc
B-series (Linux x86-64, oneAPI), from a GitHub release or a local --archive. The Ed25519
signature over SHA256SUMS (ssh-keygen -Y verify, release key shipped in the package) and the
archive checksum are verified before extraction; unsupported hosts are refused with reasons
and keep stock llama.cpp.

Per-model settings shipped in the runtime's arc-llama-runtime.json (matched on GGUF
architecture, optionally MoE only, ARC_RT_* keys only) apply to models launched with that
runtime; a model's own env still wins.
Version 1.0.0, dated changelog, README for 1.0 (Arc Llama Runtime, per-model runtimes,
upgrade safety, recorded Windows validation), lockfile brought up to date, and the 1.0
plan's stabilization note records how 1.0 shipped.
The check treated the oneAPI runtime as present when any of its libraries resolved, and
GPU driver packages install the Level Zero loader system-wide. A SYCL llama-server then
failed with "libsvml.so: cannot open shared object file" whenever Arc Llama ran without
oneAPI sourced. Require SVML or the SYCL runtime in the ldconfig cache or on
LD_LIBRARY_PATH; files elsewhere on disk no longer count.
LICENSE: Copyright (c) 2026 offbyonebit and arc-llama contributors (was only
"arc-llama contributors"). pyproject: authors = offbyonebit, so PyPI credits the author.
- Hermes: catch asyncio.TimeoutError. On Python 3.10 asyncio.wait_for raises it and it is not
  the builtin TimeoutError, so startup and stop timeouts escaped their handlers.
- Sessions: keep saved timestamps strictly increasing; Windows' coarse clock gave two quick
  saves the same time and the newest-first list fell back to file order.
- Tests: close SQLite connections explicitly (the connection context manager only commits;
  Python 3.13+ warns about the late close), and give the probe test a full environment
  (Windows Python 3.10 cannot start without SYSTEMROOT).
Outside a oneAPI shell, a SYCL llama-server's --help fails to load libsvml.so and the probe
fell back to assumed capabilities. Retry once with setvars applied, as launches do.
Hide install-runtime --optimized/--archive and drop the runtime from the README, changelog
and docs until its own launch. The inactive integration stays (it applies only to installs
of that runtime); the 1.1 wording is kept on a local branch.
@offbyonebit
offbyonebit merged commit 3fc4ae1 into main Oct 24, 2026
9 checks passed
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.

1 participant