Skip to content

[Refact: Phase 0 - 0.1] Rename the Experiment.java - #108

Closed
shresthajibesh wants to merge 6 commits into
phyphox:developmentfrom
shresthajibesh:dev
Closed

shresthajibesh wants to merge 6 commits into
phyphox:developmentfrom
shresthajibesh:dev

Conversation

@shresthajibesh

@shresthajibesh shresthajibesh commented Oct 11, 2026 •

Copy link
Copy Markdown

Description

  • Setup Open specs refactoring.

  • Renames the Experiment.java class and its references.

  • ℹ️ No logic change has been introduced only the file

Motivation

The Activity class representing ExperimentActivity was misleadingly named Experiment hinting itself to be a model representation class of an experiment, when in truth it is an activity for a particular experiment.

This rename now unlocks us from creating an experiment model class, required down the line in refactoring the code base.

Testing: o logic change

  • Run the application
  • Verify that you can explore experiments

@shresthajibesh shresthajibesh changed the title Dev [Refact: Phase 0 - 0.1] Rename the Experiment.java Oct 11, 2026
@Staacks

Staacks commented Oct 12, 2026

Copy link
Copy Markdown
Member

Sorry, but I do not think that this approach is a good idea. I really appreciate your effort and I still appreciate that you tried to do this manually last year, but a few things have changed since then.

A year ago I saw this refactor as something that I would not find the time for and I would have happily accepted a refactor, but AI models have gotten so good in the meantime that I am not only beginning to use them heavily in the development, but I would trust the good ones with this job.

I have a proper workflow with a CLAUDE.md that defines the interdependency of all projects (for example, the file format that needs to match for Android, iOS, the editor, the experiment definitions, the Arduino library and the MicroPython library) and defines a massive set of automated tests (some of which were run here, but they extend to real hardware, too) as well as many rules (like not touching UI layout unless necessary to not destroy teacher's worksheets). I should probably commit it as AGENTS.md (I just had not as I would like to make it tool-agnostic and not advertise Claude specifically - although you can see from my commits that I am transparent with its use).

Your AI (and unfortunately I can only tell that you used OpenCode, but model info was stripped) did not capture many of these details. In fact, telling from the specs it wrote, I am not even sure if it noticed that experiment UI is generated dynamically from XML files. There are really many details in there that would make me worry about a robust refactor.

At the moment, only Fable 5.1 convinced me so far to trust it with such a big refactor. Opus 5.1 was not up to the task (caught it several times with code duplication and similar issues), but Opus 5.5 currently is quite promising to be a cost-efficient replacement for Fable. But I am still testing it with smaller tasks before attempting a refactor with it. However, with Fable 5.1 I already did a full refactor of the Bluetooth engine and it worked almost prefectly.

The point of this detail is that refactoring by now has become something that I plan to do eventually and that I can do confidently with AI assistance. There is little point in having someone else doing this with an AI, so I would review it with my AI and feed my indepth knowledge about phyphox in later when hopefully my AI caught issues.

The PRs you just sent (and closed presumably because the CI failed on the first try) show how tricky this already is for something that should be a simple rename. So, please understand that I prefer to do this with my own tools when I have a few days to spare and when I have Fable available again (currently downgraded it to save some cost) or gained enough trust in Opus 5.5.

So, thanks again for your effort - I really appreciate it - but things have changed so much and unexpectedly with the latest models.

@Staacks Staacks closed this Oct 12, 2026
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.

2 participants