Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Linux] --calibrate combined with --model silently falls through to plain re-setup (setup.py:4958)

Closed Beginner friendly
#2,036 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@nekomario28 is already working on this.

Since Oct 12, 2026.

  • #2136 by @nekomario28 — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
75/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
linux, python, shell
Domain
cli

Research direction

Start in setup.py around line 4958, where the calibration guard checks the command-line options; trace how --calibrate and --model are parsed and how the plain setup path is reached. Reproduce with the two commands in the issue, then verify that --calibrate --model X either calibrates that model or exits with a clear error and never falls through to plain setup.

Written by the indexing model from the issue text.

Description

Problem

./setup.sh --calibrate --model IQ3_XXS --yes does not calibrate. setup.py:4958:

if have and a.calibrate and not (a.setup or a.model or a.family or a.check):

The calibrate branch is skipped whenever --model is also present; execution falls through to the plain setup path, which re-runs setup and then idles waiting for a browser. No warning is printed that --calibrate was ignored.

Reproduction (Linux, RTX 3060 12G, build 7695859)

  1. ./setup.sh --calibrate --model IQ3_XXS --yes </dev/null -> no calibration runs; setup re-runs (and silently rewrites the engine config, see #388) and idles with a validation server on :8080.
  2. ./setup.sh --calibrate --yes </dev/null (no --model) -> calibration runs normally (15-45 min), writes tuned args into the model config, then serves the model on :8080 as its own validation step - that idle IS the finished state.

Impact

The natural invocation (--calibrate --model <name>, "calibrate this specific model") silently does a different thing: a full re-setup that also rewrites engine config. In an unattended/systemd bootstrap this burns 10+ minutes, occupies the serving port, and the operator believes calibration happened. It cost a full calibration cycle during our switchover before we found the guard clause.

Expected

Either accept --model as the calibration target, or fail fast with an explicit message: --calibrate cannot be combined with --model; run bare --calibrate.

Acceptance criteria

  • --calibrate --model X either calibrates model X or exits with a clear error.
  • No silent fall-through to plain setup when --calibrate was requested.
Dominant language
C++
Stars
11.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Niko1221/Strata

All issues in Niko1221/Strata

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.