feat(profiles): bundle the seven de1app Test/ diagnostics - #805
Open
ChampionDesigns wants to merge 2 commits into
Open
feat(profiles): bundle the seven de1app Test/ diagnostics#805ChampionDesigns wants to merge 2 commits into
ChampionDesigns wants to merge 2 commits into
Conversation
Adds the seven "Test/" profiles from de1app's preset list to the bundled defaults: three leak tests, a leakage stress test, and pressure, flow and temperature calibration. Decaid shipped no calibrate profiles at all, so these had no equivalent on the new app even though the machine-side carve-outs for them already existed. All seven are beverage_type calibrate, which de1_state_manager already special-cases: calibration pulls skip the no-scale abort and stay out of shot history. The titles keep their "Test/" category prefix, matching the bundled "Cleaning/Forward Flush x5" rather than the stray "Visualizer/" and "Espresso/" prefixes issue decentespresso#242 stripped. Six were converted with tools/ingest_profiles.py from their settings_2c TCL sources, whose stored frames are authoritative. test_pressure_calibration and flow_calibration also ship as v2 JSON in de1app; the converted output was diffed against those files and matches on every frame. test_temperature_calibration is legacy settings_2b, which the ingest tool refuses because de1app regenerates those frames from the flat fields at load time. Its stored frames are indeed stale - they describe an unrelated pour-over routine (Prewet/Main water/Drain at 95-99C), not the 90C hold the profile is for. It was rebuilt to match what flow_to_advanced_list actually produces from the legacy fields: a single 60 s hold at 90C and 3 ml/s (flow_profile_hold), no preinfusion frame since preinfusion_time is 0, and no limiter since maximum_pressure is 0. de1app also emits a zero-second decline frame here because its decline guard tests espresso_hold_time instead of espresso_decline_time; that frame is omitted as a no-op. Extends the bundled-profiles guard with the canonical Test/ titles and a check that every Test/ profile is beverage_type calibrate, so a re-ingest cannot silently downgrade them to espresso and make them refuse to run without a scale. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit 8ff0a0c5a3a40ac2ff15d626aa1d53da0f130fd0) (cherry picked from commit 217b93b66ef264cf8ab872e43e037d62cc838933)
Brings the lane current with upstream (5 Sep 2026) so it can be opened as a PR. Merging rather than rebasing keeps the three-dot diff GitHub shows equal to this lane's own work. One conflict, test/profiles/default_profiles_bundled_test.dart. git rerere replayed a stored resolution automatically and it was WRONG: it kept the lane's wide `show` list against upstream's narrowed profile.dart, leaving ProfileStepLever undefined and two other names unused. `flutter analyze` caught all three. The show list is now the four names the file actually uses: BeverageType, ExitCondition, ExitType, Profile. Verified: flutter analyze clean, test/profiles 15 passed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Summary
Adds the seven "Test/" profiles from de1app's preset list to the bundled defaults: three leak tests, a
leakage stress test, and pressure, flow and temperature calibration.
Base:
main. Independent.Decaid shipped no calibration profiles at all, so these had no equivalent on the new app even though
the machine-side carve-outs for them already existed. A user diagnosing a leak or calibrating a sensor
currently has to import them by hand.
Design notes
All seven are
beverage_type: calibrate, whichde1_state_manageralready special-cases —calibration pulls skip the no-scale abort and stay out of shot history. No new handling is needed;
this PR only supplies the profiles.
Titles keep their
Test/category prefix, matching the existing bundledCleaning/Forward Flush x5rather than the stray
Visualizer/naming.Brought current with upstream, 5 Sep 2026
upstream/mainwas merged into this lane rather than rebased onto it, so the three-dot diffGitHub shows is still exactly the lane's own work while the merge base moves forward. The merge
resolutions were checked individually —
git rerereis enabled in the working repo and replayedtwo of them wrongly elsewhere in this round, so none was taken on trust.
Linked Issue
N/A
Verification
flutter analyze— clean.flutter test— full suite 3893 passed / 1 skipped, run against currentmainon 5 Sep 2026.dart format— clean on every changed file.test/profiles/default_profiles_bundled_test.dartcovers manifest presence and parse for each of theseven files.
and have been pulled on it.
Impact
assets/defaultProfiles/manifest.json.Test/categoryprefix. A user who does not want them can hide them like any other default.
doc/Profiles.mddescribes the manifest mechanism and does not enumerate thebundled files.
Contributor Responsibility
AI-assisted development is allowed. The submitter remains responsible for the submitted work.