mirror of
https://github.com/Helldez/BigMoeOnEdge.git
synced 2026-10-03 11:35:50 +00:00
* feat(app): settings grouped by purpose, and four defects an audit found Settings now show the recommended configuration first and fold everything else into a collapsed Experimental group per category. That is a statement about evidence, not about how finished the code is: inside are the levers measured on one device, measured once, or still owed a measurement. They stay in the release build, because testing them on other hardware is what this app is for and a lever nobody can reach is a lever nobody can refute. The caveat is stated once in the group header instead of leaking into some descriptions and not others. Every description was rewritten to say what the setting does for the person reading it. Out went the measured figures, which need the device, the model and the day beside them to mean anything and have none of that room under a switch, and out went the implementation names: O_DIRECT, top-k, dma-buf, mmap and KV cache are not what someone deciding whether to turn something on needs to know. The metrics screen keeps the flag names, deliberately: there the reader is matching the UI against a CSV column and the technical name IS the vocabulary. Four defects, all found by auditing rather than by anything failing: The session signature is now derived from the argv instead of being a hand-written list beside it. Those two had to be kept in step with nothing enforcing it, and forgetting a field is a silent bug: the setting appears to change while the engine keeps running the old configuration. Three of four rebases this week collided on exactly that list. A malformed end-of-turn summary no longer strands the UI. The whole handler sat inside a catch with no failure branch, so a parse error left the state in GENERATING with no turn committed and nothing said. The streamed answer is now kept, the reason is shown, and the state returns to READY. MainActivity drops from about 1050 lines to under 700: the model download and import UI moves to ModelPickerUi.kt, which shares nothing with the chat screen. No logic moved, only its address. Dead code removed: a field whose own comment described a use it did not have, two functions nobody called, and five string resources describing a UI two rewrites ago. * docs: record the settings regrouping and the signature fix Rule 6: the changelog and the docs a change invalidates ship with it. The app README described the settings screen as it was before the regrouping, and explained one experimental lever in terms of predictor accuracy percentages that the UI no longer shows. * docs: the improved DeepSeek hero recording * feat(app): keep the flag vocabulary in Settings, and make Experimental read as a boundary The first pass at rewriting the descriptions went too far: it renamed the controls into consumer phrasing and lost the vocabulary that lets a setting here be matched against the CLI, the CSV preamble and the docs. Labels are back to the flag's own names; the descriptions are shorter than the originals rather than longer, and still carry no measured figures. The Experimental group gets a divider and a tonal bar: collapsed, it is the only thing between the recommended configuration and the levers that can change the reply, so it has to look like a boundary rather than one more row. |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle | ||