Repository navigation
Conversation
A preset is what the page shows instead of a wall of flags: the family and size, the context, the KV precision, images and the rest of the choices setup.py takes. Nothing here invents a setting - every field names the setup.py flag it writes, and a field left empty is not passed at all, so this PC's default decides; that is what makes a preset portable to another machine. The form stops at what a person actually changes: context scaling and the draft token subset are not offered, because setup picks them for the context it is given, and a page that shows a flag should be a page someone can decide about. The built-ins are not stored either: they are derived from setup's tables and its recommendation for this PC, so a repository that adds a size adds it to the page too. Presets are plain JSON in .strata-launcher/presets.json, written whole or not at all (like setup's configs, Niko1221#459), so a launcher closed half-way never leaves an empty file behind. Sizes are read the way setup reads them: a size that names no families in its table belongs to the original model and to its fine-tunes (setup's own default), which is what Swift 1.5's IQ2_XS and IQ3_XXS are. Tests: 22 without a GPU or a download - the choices a user cannot make are refused with the reason, a context past the trained one is setup's to scale, and the flags a preset writes are the flags setup would be given. Co-Authored-By: Strata qwen3.8-flash-next-iq3_s <strata@localhost> AI-developed: written by an agent (pi) running on Strata's own local model, qwen3.8-flash-next-iq3_s; tested by hand on an RTX 5060 Ti 16 GB / Ryzen 7 5700X3D / 64 GB PC with engine 0.1.39
…ncher.sh) One window over a Strata folder: the sizes setup offers and what each needs on this PC, the models this folder has and what their own strata-<model>.json says they run with, presets you save and run again, and setup's calibration as a job you can watch and stop. It is a front-end, not a second engine: every answer comes from tools/strata_mcp.py, the controller the MCP server uses, and installing, applying and starting run setup.py and serve/server.py the way SETUP.bat and run-<model>.bat do. Nothing is downloaded or started that those cannot do, and the only files the page writes of its own are in .strata-launcher/. It listens on 127.0.0.1 only, the same rule the model server follows; closing the window leaves a started model running, exactly like the start scripts. Next to the preset the page puts what the model is on this PC, not a speed number: its own config (which is what starting it runs), the files it misses, what setup's calibration recorded for it, and which model the server is serving now - the last one is what makes the Start button say "Running" instead of offering a second model. A model runs what its own config says, so starting a preset that differs applies it first: setup rewrites the config and the files already there are only checked again. That difference is compared with what setup's rules decide, not with the words - a preset saying "auto", or saying what auto decides on this PC, is the model as it runs and never re-runs setup to change nothing. Tests: 29 with the real Strata folder but a fixed fake PC, no port answering and the launcher's state in a temporary folder - a preset is stored and comes back, a plan carries the preset's flags once each, starting or measuring something that is not there says so plainly, and a path cannot escape the page's folder. Co-Authored-By: Strata qwen3.8-flash-next-iq3_s <strata@localhost> AI-developed: written by an agent (pi) running on Strata's own local model, qwen3.8-flash-next-iq3_s; tested by hand on an RTX 5060 Ti 16 GB / Ryzen 7 5700X3D / 64 GB PC with engine 0.1.39
…ADME translations, and the .bak setup leaves stays out of git docs/LAUNCHER.md: what the page is, what each part shows, what a preset is and what it writes, what installing over an installed model changes, what Start does when the preset and the config differ, the calibration, and where its own files live. README, AGENTS.md, AI_SETUP, INSTALL, MCP_SERVER and MODELS each get the one line that points here, and the README line goes into its six translations as the other README changes do; AGENTS.md also says that launcher/ is a front-end over tools/strata_mcp.py and how to run its tests, so the next change there starts from the same rule. .gitignore: setup's Model settings card (Niko1221#564) keeps the config it replaces as strata-<model>.json.bak, and that is not source. Co-Authored-By: Strata qwen3.8-flash-next-iq3_s <strata@localhost> AI-developed: written by an agent (pi) running on Strata's own local model, qwen3.8-flash-next-iq3_s; tested by hand on an RTX 5060 Ti 16 GB / Ryzen 7 5700X3D / 64 GB PC with engine 0.1.39
Owner
|
Thanks for the pull request. We're resetting the tracker for 0.2.0-beta. There are more than 1,300 open issues and pull requests, too many for us to review properly, so we're closing everything that isn't being worked on right now. Closed here does not mean rejected. To reopen it takes about two minutes:
The rules are in CONTRIBUTING.md. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Experimental - please read first
The launcher is experimental: it is a new surface over
setup.pyandserve/server.py, it has been run on one PC (Windows 11, RTX 5060 Ti 16 GB, Ryzen 7 5700X3D, 64 GB, engine 0.1.39; the suites below were run on top of the newmain), and it will have bugs. What has not been exercised: Linux (./launcher.shis written and marked executable but never run on a Linux box), AMD/ROCm, several GPUs on one model, WSL, and a preset saved by an older version of the page (the presets file has no schema version yet). Nothing it does goes outside this PC, and nothing it does is impossible forSETUP.bat/run-<model>.batto do; the only files it writes of its own are in.strata-launcher/. Treat it as a preview, not as a replacement for the scripts.Also AI-developed: written by an agent (pi) running on Strata's own local model (
qwen3.8-flash-next-iq3_s), reviewed and tested by hand on the PC above - see theAI-developed:trailer on each commit.This is #946 on the new main
#946 was closed by the history cleanup (force-pushed
main), not by a review - see the maintainer's note. This branch is the same 3 commits cherry-picked onto the newmain: no conflicts, 30 files, +3443/-14,launcher.shexecutable.#945 is yours and is in
main, with yourkv_streaming_wanted(the k8v4 change included). The launcher calls that function; it keeps no copy of the rule. Your k8v4 change caught one of our labels - the page said k8v4 "does not stream its KV cache", true of 0.1.39 and not of 0.1.40 (#711) - so the label follows setup and a test reads setup's rule for each KV precision and fails if a label claims a streaming setup does not write.55 launcher tests + 44 setup tests green on top of the new
main, with no GPU, no download and no display:What it is
LAUNCHER.bat(Linux:./launcher.sh) serves a page on127.0.0.1for the caseSTART-HERE.batis not meant for: "the Coder today with 32K, leaving 2 GB of VRAM for the game", without remembering flags. It shows the sizes setup offers and what each needs on this PC, the models this folder has and what their ownstrata-<model>.jsonsays they run with, presets you save and reuse, and setup's--calibrateas a job you can watch and stop.(The same file is in the PR at
docs/media/launcher.png;docs/LAUNCHER.mdshows it too.)A front-end, not a second engine: every answer comes from
tools/strata_mcp.py, the controller the MCP server already uses; installing, applying and starting runsetup.pyandserve/server.pythe waySETUP.batandrun-<model>.batdo. No second config format, no second install path, no dependency beyond the standard library, andsetup.py/START-HERE.batdo not change: if you never open the launcher, nothing about your install changes.A preset is setup's own choices with a name: each field names the
setup.pyflag it writes, and a field left empty is not passed so this PC's default decides - that is what makes a preset portable to another machine. Starting a preset applies it first when the model's config differs, and that difference is compared with what setup's rules decide, not with the words: a preset sayingauto, or saying whatautodecides on this PC, is the model as it runs and never re-runs setup to change nothing.If you want less of it
Say the word and I send the cut-down version: the model list plus presets only - the presets commit on its own is 3 files, +737 - no calibration job, no connect card, no install panel. The parts I would drop first are the calibration job and the connect card; the page's middle column is the launcher's reason for existing.
Relation to the open work
--vram-reserve-mib): the web app exists once a model is running, the launcher is for choosing and installing before anything runs.Backendofferedauto, which setup's--backendnever took, so it reached the user as argparse's owninvalid choice. The field now uses setup's own words (the empty choice writes no flag, which is also what keeps a preset portable to a PC with another card),syclwas missing and is offered, andtest_no_select_offers_a_choice_setup_does_not_takereads setup's ownadd_argumenttables and fails if the page offers a value setup does not take, or writes a flag setup does not have.Docs
docs/LAUNCHER.md(with the screenshot), plus one line in README (and in its six translations), AGENTS.md, AI_SETUP, INSTALL, MCP_SERVER and MODELS..gitignoregains/strata-*.json.bak, which setup's settings card leaves behind.Known rough edges
launcher/,LAUNCHER.bat,launcher.shand.strata-launcher/.