Skip to content

README: a decision tree for picking a setup - #140

Merged
mhenrichsen merged 1 commit into
mainfrom
readme-decision-tree
Sep 17, 2026
Merged

mhenrichsen merged 1 commit into
mainfrom
readme-decision-tree

Conversation

@mhenrichsen

Copy link
Copy Markdown
Contributor

The README explained what the two modes measure, but never answered the question a first-time reader actually has: which one do I want? That was spread across a comparison table, a prose section, and 70 lines of commented .env.example.

Adds a three-question flowchart — who is sending the requests, how long are the prompts, do the answers quote the prompt back — with five lettered outcomes, and a table giving each outcome as a diff against the .env that Quick start already told you to copy. Two of the five need no edit at all.

Writing it exposed three stale or wrong claims, fixed here:

  • .env.example suggested CTX=long while leaving SPEC=dflash2 set above it. DFlash2 past 64k is worth it only for context reproduction — SPEC=mtp CTX=long beats it about 2:1 on everything else, which single-user/README.md has said for a while.
  • .env.example told CTX=huge users to run bash kvarn/install.sh first. That file is read only by Docker Compose, and Dockerfile:38 already builds KVarN into the image. Only the venv install needs the step.
  • single-user/README.md said CTX=huge "stays MTP (the script falls back with a message)". single-user/start_qwen.sh:204 grew a dflash2 + huge arm, and docs/long-context.md has measured it at 268k tokens of pool at 245760 max-model-len.

The "If you are the only user" section is dropped: it is now two rows of the table plus the link it already carried. Net +22 lines on the README.

Checked: the flowchart renders (mmdc produces the SVG), and the repo-wide link/anchor check is still 0 broken.

The README told you what the two modes measure, not which one you want. Adds a
three-question flowchart (who is sending requests / how long are the prompts /
do the answers quote the prompt back) with five lettered outcomes, and a table
giving each one as a diff against the .env that Quick start already told you to
copy — so "which setup" has a mechanical answer instead of a reading exercise.

Writing it surfaced three things that were wrong:

- .env.example suggested CTX=long while leaving SPEC=dflash2 set. DFlash2 past
  64k is worth it only for context reproduction; SPEC=mtp CTX=long beats it
  about 2:1 on everything else (single-user/README.md). Says so now.
- .env.example told CTX=huge users to run kvarn/install.sh first. That file is
  read only by Docker Compose, and the image already builds KVarN in.
- single-user/README.md claimed CTX=huge "stays MTP (the script falls back with
  a message)". The launcher grew a dflash2+huge arm; docs/long-context.md has
  measured it at 268k tokens of pool since. Points there instead.

Drops the "If you are the only user" section, whose content is now two rows of
the table plus the link it already carried.
@mhenrichsen
mhenrichsen merged commit 684e927 into main Sep 17, 2026
1 check passed
TyroneNel pushed a commit to TyroneNel/qwen38-27b-rtx3090 that referenced this pull request Sep 17, 2026
…i) into local main

Upstream's six commits since the last sync: syv-ai#124, syv-ai#134, syv-ai#137, syv-ai#138 are the
reviewed squashes of branches local main already carries (resolve_config.sh is
byte-identical), so they land as the reviewed variants of the same features --
the launchers' fail-closed source guard, resolve_api_key.sh, and warmup.sh
using that resolver instead of its own chain. syv-ai#140 and syv-ai#141 are new content:
the README setup decision tree, .env.example, single-user/README.md and
.github/FUNDING.yml.

Conflicts, one hunk each:
- batch/start_qwen.sh, single-user/start_qwen.sh: took upstream's guarded
  source (the launchers do not run under `set -e`); kept local's
  select_model.sh call in the single-user launcher.
- docs/docker.md: kept local's paragraph (upstream never had it).
- docs/gotchas.md: took upstream's indentation on gotcha 58's continuation.
- docker/prepare.sh auto-merged into a duplicated translate block (local hoists
  DIRS and passes them to harden_chat_template.py; upstream nests them); kept
  local's version, a superset of upstream's.

Verified: bash -n on every touched shell file, test_resolution.sh passes,
patches/ untouched by the merge.
TyroneNel added a commit to TyroneNel/qwen38-27b-rtx3090 that referenced this pull request Sep 21, 2026
…i) into local main

Upstream's six commits since the last sync: syv-ai#124, syv-ai#134, syv-ai#137, syv-ai#138 are the
reviewed squashes of branches local main already carries (resolve_config.sh is
byte-identical), so they land as the reviewed variants of the same features --
the launchers' fail-closed source guard, resolve_api_key.sh, and warmup.sh
using that resolver instead of its own chain. syv-ai#140 and syv-ai#141 are new content:
the README setup decision tree, .env.example, single-user/README.md and
.github/FUNDING.yml.

Conflicts, one hunk each:
- batch/start_qwen.sh, single-user/start_qwen.sh: took upstream's guarded
  source (the launchers do not run under `set -e`); kept local's
  select_model.sh call in the single-user launcher.
- docs/docker.md: kept local's paragraph (upstream never had it).
- docs/gotchas.md: took upstream's indentation on gotcha 58's continuation.
- docker/prepare.sh auto-merged into a duplicated translate block (local hoists
  DIRS and passes them to harden_chat_template.py; upstream nests them); kept
  local's version, a superset of upstream's.

Verified: bash -n on every touched shell file, test_resolution.sh passes,
patches/ untouched by the merge.
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