Skip to content

Commit b4a67df

Browse files
committed
rename(project): MS Battery to BaselineMS across code, config, and docs
Project-wide rename. New name is BaselineMS in all prose and identifiers. Code: - Move Java package com.mustafan4x.msbattery to com.mustafan4x.baselinems (main and test source trees). - Rename Application class MSBatteryApp to BaselineMSApp; update AndroidManifest entry. - Update Gradle namespace and applicationId to com.mustafan4x.baselinems. - Update settings.gradle.kts rootProject.name to BaselineMS. - Update strings.xml app_name to BaselineMS. - Rename Room database file from msbattery.db to baselinems.db (no production users; emulator walkthrough still deferred per STATUS.md). - Move Room schema directory app/schemas/com.mustafan4x.msbattery.data.AppDatabase to com.mustafan4x.baselinems.data.AppDatabase so MigrationTestHelper resolves v1 and v2 schemas under the new fully qualified class name. Documentation: - Replace MS Neuro Battery, MS Battery, MS-Battery, MSBattery, MsBattery with BaselineMS across SPEC.md, STATUS.md, README.md, CLAUDE.md, GETTING-STARTED.md, all agent briefs, all phase plans, all docs subfolders, and all citation logs. - Replace lowercase msbattery with baselinems where it appeared (paths, filenames, identifiers). - Update repo URL references (https://github.com/Mustafan4x/MS-Battery to https://github.com/Mustafan4x/BaselineMS) and absolute path references (/home/mustafa/src/MS-Battery to /home/mustafa/src/BaselineMS). Verification: - ./gradlew :app:testDebugUnitTest --rerun-tasks: 105 tests, 0 failures, 0 errors, 0 skipped (matches STATUS.md baseline). - Final grep for any rename variants returns 0 matches outside .git, build, and .gradle. Bare references to MS the disease (multiple sclerosis) are not affected; substitution targets only struck multi-character project name forms.
1 parent 2203f43 commit b4a67df

143 files changed

Lines changed: 1061 additions & 1061 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CLAUDE.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# CLAUDE.md, MS Neuro Battery project instructions
1+
# CLAUDE.md, BaselineMS project instructions
22

33
This file is auto loaded by Claude Code in every session opened in this directory. It defines how the project is organized, how phases are paced, how specialists are dispatched, and which conventions every session must follow. Changes to this file change the project; read it carefully before editing.
44

55
## Project at a glance
66

7-
MS Neuro Battery is a native Android application that lets people living with Multiple Sclerosis self administer a five test neurological battery once a week, track results longitudinally on device, and share a clinician ready PDF report. The technical centerpiece is a validated gait analysis pipeline. Privacy posture is strict: no `INTERNET` permission, no cloud sync, no account, no telemetry.
7+
BaselineMS is a native Android application that lets people living with Multiple Sclerosis self administer a five test neurological battery once a week, track results longitudinally on device, and share a clinician ready PDF report. The technical centerpiece is a validated gait analysis pipeline. Privacy posture is strict: no `INTERNET` permission, no cloud sync, no account, no telemetry.
88

99
Full specification lives at `SPEC.md` at the root of this project. Always treat `SPEC.md` as the source of truth for what is being built. Always treat `STATUS.md` as the source of truth for what phase is next.
1010

11-
GitHub remote: https://github.com/Mustafan4x/MS-Battery
11+
GitHub remote: https://github.com/Mustafan4x/BaselineMS
1212

1313
## Inherited rules from the user's global CLAUDE.md
1414

@@ -91,13 +91,13 @@ Never start, pause, or complete a phase without updating `STATUS.md` first.
9191
When the PM dispatches a specialist, use exactly this prompt shape (substitute the phase number and agent path):
9292

9393
```
94-
You are the <Agent name> for the MS Neuro Battery project.
94+
You are the <Agent name> for the BaselineMS project.
9595
9696
Read these files in order before doing anything else:
97-
1. /home/mustafa/src/MS-Battery/SPEC.md
98-
2. /home/mustafa/src/MS-Battery/agents/<NN-agent-name>.md
99-
3. /home/mustafa/src/MS-Battery/STATUS.md
100-
4. /home/mustafa/src/MS-Battery/CLAUDE.md (specifically the "Inherited rules" and the dispatch template sections)
97+
1. /home/mustafa/src/BaselineMS/SPEC.md
98+
2. /home/mustafa/src/BaselineMS/agents/<NN-agent-name>.md
99+
3. /home/mustafa/src/BaselineMS/STATUS.md
100+
4. /home/mustafa/src/BaselineMS/CLAUDE.md (specifically the "Inherited rules" and the dispatch template sections)
101101
102102
You are working on Phase <N>. Stay strictly in your role as defined in your agent brief.
103103
Do not recursively dispatch subagents; if you need work done outside your role, stop and report
@@ -149,7 +149,7 @@ A small set of skills is project relevant:
149149
## Directory layout
150150

151151
```
152-
~/src/MS-Battery/
152+
~/src/BaselineMS/
153153
├── CLAUDE.md (this file)
154154
├── SPEC.md (project specification)
155155
├── STATUS.md (single source of truth for phase status)

GETTING-STARTED.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# Getting started, MS Neuro Battery
1+
# Getting started, BaselineMS
22

33
This is the first session walkthrough. If this is the very first session opened in this directory, follow these steps in order. After Phase 0 is complete, future sessions just read `STATUS.md` and run the "work on the next phase" flow.
44

55
## Before you start
66

77
Check that:
88

9-
- `~/src/MS-Battery/SPEC.md` exists.
10-
- `~/src/MS-Battery/STATUS.md` exists and "Next phase" reads `Phase 0: Bootstrap setup`.
11-
- The user has confirmed the GitHub remote at https://github.com/Mustafan4x/MS-Battery is reachable.
9+
- `~/src/BaselineMS/SPEC.md` exists.
10+
- `~/src/BaselineMS/STATUS.md` exists and "Next phase" reads `Phase 0: Bootstrap setup`.
11+
- The user has confirmed the GitHub remote at https://github.com/Mustafan4x/BaselineMS is reachable.
1212
- Android Studio Iguana or later is installed on the machine where the build will actually happen. The session itself can run on Linux without Android Studio; the build steps in Phase 0 onward require Android Studio.
1313

1414
If any of those is missing, stop and tell the user.
@@ -29,7 +29,7 @@ You are the Project Manager unless the user tells you otherwise.
2929

3030
Briefly state:
3131

32-
> "I'm the PM for MS Neuro Battery. The next phase is Phase 0, Bootstrap setup. Before I start it, I need to run the check-in protocol."
32+
> "I'm the PM for BaselineMS. The next phase is Phase 0, Bootstrap setup. Before I start it, I need to run the check-in protocol."
3333
3434
Then ask the three check-in questions verbatim:
3535

@@ -43,7 +43,7 @@ Wait for answers. Do not proceed without them.
4343

4444
If the user says continue, briefly review `docs/plan.md` Phase 0 section with the user. Confirm the agents you intend to dispatch:
4545

46-
- DevOps Engineer: scaffold the Android Studio project at `~/src/MS-Battery/app/`, wire git, push initial commit to the remote.
46+
- DevOps Engineer: scaffold the Android Studio project at `~/src/BaselineMS/app/`, wire git, push initial commit to the remote.
4747
- Security Engineer: write `docs/security/threat-model.md` and `docs/security/hardening-checklist.md`.
4848
- UI/UX Designer: write `docs/design/tokens.md` with Material 3 baseline plus accessibility tokens.
4949
- Documentation Engineer: write `docs/architecture.md` and finalize `README.md`.
@@ -60,23 +60,23 @@ Use the Task tool dispatch template from `CLAUDE.md` verbatim. A concrete exampl
6060

6161
```
6262
Task tool prompt:
63-
You are the DevOps Engineer for the MS Neuro Battery project.
63+
You are the DevOps Engineer for the BaselineMS project.
6464
6565
Read these files in order before doing anything else:
66-
1. /home/mustafa/src/MS-Battery/SPEC.md
67-
2. /home/mustafa/src/MS-Battery/agents/08-devops-engineer.md
68-
3. /home/mustafa/src/MS-Battery/STATUS.md
69-
4. /home/mustafa/src/MS-Battery/CLAUDE.md (specifically the "Inherited rules" and the dispatch template sections)
66+
1. /home/mustafa/src/BaselineMS/SPEC.md
67+
2. /home/mustafa/src/BaselineMS/agents/08-devops-engineer.md
68+
3. /home/mustafa/src/BaselineMS/STATUS.md
69+
4. /home/mustafa/src/BaselineMS/CLAUDE.md (specifically the "Inherited rules" and the dispatch template sections)
7070
7171
You are working on Phase 0. Stay strictly in your role as defined in your agent brief.
7272
Do not recursively dispatch subagents; if you need work done outside your role, stop and report
7373
the need back so the PM can dispatch it.
7474
7575
Your Phase 0 deliverables:
76-
1. Initialize the Android Studio project at /home/mustafa/src/MS-Battery/app/ following Task 1
77-
of /home/mustafa/src/MS-Battery/docs/plans/phase-1-foundation.md.
76+
1. Initialize the Android Studio project at /home/mustafa/src/BaselineMS/app/ following Task 1
77+
of /home/mustafa/src/BaselineMS/docs/plans/phase-1-foundation.md.
7878
2. Wire git: `git init` at the project root, `git remote add origin
79-
https://github.com/Mustafan4x/MS-Battery.git`, push the initial commit.
79+
https://github.com/Mustafan4x/BaselineMS.git`, push the initial commit.
8080
3. Configure GitHub Actions on Linux runners to run `./gradlew :app:testDebugUnitTest` on PRs.
8181
8282
When you finish, report:

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# MS Neuro Battery
1+
# BaselineMS
22

33
A native Android application that lets people living with Multiple Sclerosis self administer a short, sensor backed set of five tests once a week, track results longitudinally on device, and share a clinician facing PDF report.
44

55
The technical centerpiece is a gait analysis pipeline that turns 30 seconds of phone IMU data into stride length, cadence, step time variability, and stride asymmetry. Pipeline accuracy is validated against a measured walking course; methodology and error numbers documented in the project's Validation section.
66

77
## Problem
88

9-
MS clinic visits typically happen every three to six months. Between visits, people living with MS often want a simple, self directed way to keep an objective record of how their walking, hand dexterity, vision, cognition, and speech are changing, so that they can bring something concrete to their next neurology appointment. Existing research apps in this space are study only and not available as a self administered self tracking application for the broader community. MS Neuro Battery aims to fill that gap as a personal record keeping tool, not as a diagnostic instrument. The full problem statement is in `SPEC.md` Section 2.
9+
MS clinic visits typically happen every three to six months. Between visits, people living with MS often want a simple, self directed way to keep an objective record of how their walking, hand dexterity, vision, cognition, and speech are changing, so that they can bring something concrete to their next neurology appointment. Existing research apps in this space are study only and not available as a self administered self tracking application for the broader community. BaselineMS aims to fill that gap as a personal record keeping tool, not as a diagnostic instrument. The full problem statement is in `SPEC.md` Section 2.
1010

1111
## Solution
1212

@@ -32,13 +32,13 @@ The application is a native Android codebase in Kotlin and Jetpack Compose, orga
3232

3333
### Running
3434

35-
Open `~/src/MS-Battery` in Android Studio Iguana or later, select an Android 12 or later emulator (or attach a physical device with USB debugging enabled), and press Run.
35+
Open `~/src/BaselineMS` in Android Studio Iguana or later, select an Android 12 or later emulator (or attach a physical device with USB debugging enabled), and press Run.
3636

3737
From the command line:
3838

3939
```
4040
./gradlew :app:installDebug
41-
adb shell am start -n com.mustafan4x.msbattery/.MainActivity
41+
adb shell am start -n com.mustafan4x.baselinems/.MainActivity
4242
```
4343

4444
### Testing
@@ -72,4 +72,4 @@ Full citations and the specific findings the project relies on are in `docs/sour
7272

7373
## Repository
7474

75-
https://github.com/Mustafan4x/MS-Battery
75+
https://github.com/Mustafan4x/BaselineMS

SPEC.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# MS Neuro Battery: Design Specification
1+
# BaselineMS: Design Specification
22

33
**Date:** 2026-05-06
44
**Status:** Draft, approved by user. Updated 2026-05-06 to switch platform from iOS native to Android native.
@@ -149,7 +149,7 @@ Each module is grounded in a clinically validated MS assessment. Selection crite
149149
- **User experience.** 30 seconds of alternating taps on two on screen targets, performed once with the dominant hand and once with the non dominant hand.
150150
- **Sensors.** Touchscreen only.
151151
- **Outputs.** Tap rate (taps per second), inter tap interval coefficient of variation, dominant versus non dominant asymmetry, miss rate (operationally defined below).
152-
- **Miss rate operational definition.** A tap is classified into one of three buckets: (1) **valid**, the tap lands inside one of the two on screen target hit regions and alternates from the previously valid tap; (2) **non alternating**, the tap lands inside a target hit region but inside the same target as the previous valid tap; (3) **off target**, the tap lands outside both target hit regions. The two failure buckets are persisted as separate integer counts (`non_alternating_taps`, `off_target_taps`) per round, so the Phase 9 Reporting layer can present the two failure modes either separately or rolled up. The single rolled up `miss_rate` reported at the session level is computed across both rounds combined as `(non_alternating_taps + off_target_taps) / (valid_taps + non_alternating_taps + off_target_taps)`. This operational definition is the Option A variant ratified in the Clinical Validator's 2026-05-07 Phase 2 sign off (`docs/source/clinical-references.md`, "Phase 2 sign off, Bilateral Tap Test", Revision 1). The implementation lives in `app/src/main/java/com/mustafan4x/msbattery/battery/tap/TapFeatures.kt`.
152+
- **Miss rate operational definition.** A tap is classified into one of three buckets: (1) **valid**, the tap lands inside one of the two on screen target hit regions and alternates from the previously valid tap; (2) **non alternating**, the tap lands inside a target hit region but inside the same target as the previous valid tap; (3) **off target**, the tap lands outside both target hit regions. The two failure buckets are persisted as separate integer counts (`non_alternating_taps`, `off_target_taps`) per round, so the Phase 9 Reporting layer can present the two failure modes either separately or rolled up. The single rolled up `miss_rate` reported at the session level is computed across both rounds combined as `(non_alternating_taps + off_target_taps) / (valid_taps + non_alternating_taps + off_target_taps)`. This operational definition is the Option A variant ratified in the Clinical Validator's 2026-05-07 Phase 2 sign off (`docs/source/clinical-references.md`, "Phase 2 sign off, Bilateral Tap Test", Revision 1). The implementation lives in `app/src/main/java/com/mustafan4x/baselinems/battery/tap/TapFeatures.kt`.
153153
- **Quality score factors.** Sufficient number of taps recorded, sustained engagement across the full window, taps actually landing within target bounds.
154154

155155
### 6.2 Gait Test (deep module)
@@ -326,7 +326,7 @@ Captured here as a single section because validation is what gives the applicati
326326
2. **Real ground truth on gait.** As described in Section 7.2.
327327
3. **Test retest reliability across the full battery.** 5 repeated weekly sessions on healthy controls within a short time window, ICC above 0.75 on the primary feature of each test.
328328
4. **Beta cohort feedback.** Internal test track in Google Play Console with a cohort of 10 to 20 people, with a target of at least 2 to 3 self identified MS patients recruited through an MS support community with informed consent. Two week duration. Survey based feedback on usability, perceived value, and clarity of the report.
329-
5. **Retention measurement during the beta cohort.** Day 1, day 7, day 14, day 30 retention curves measured on the beta cohort, with reminders enabled by default. The empirical floor from the published Floodlight Open analysis (Galati et al. 2024, *JMIR Human Factors* 11:e57033, US MS cohort) is day 30 retention of 30.8 percent with reminders versus 9.7 percent without. MS Battery's target is to meet or exceed 30.8 percent day 30 retention with reminders enabled. The patient owned PDF for the neurologist (a clinical artifact Floodlight Open did not provide) is the project's intended retention lever, leveraging the Oh et al. 2024 finding that clinical supervision was the single largest persistence driver in the Floodlight cohort.
329+
5. **Retention measurement during the beta cohort.** Day 1, day 7, day 14, day 30 retention curves measured on the beta cohort, with reminders enabled by default. The empirical floor from the published Floodlight Open analysis (Galati et al. 2024, *JMIR Human Factors* 11:e57033, US MS cohort) is day 30 retention of 30.8 percent with reminders versus 9.7 percent without. BaselineMS's target is to meet or exceed 30.8 percent day 30 retention with reminders enabled. The patient owned PDF for the neurologist (a clinical artifact Floodlight Open did not provide) is the project's intended retention lever, leveraging the Oh et al. 2024 finding that clinical supervision was the single largest persistence driver in the Floodlight cohort.
330330

331331
The numbers from layers 1, 2, and 3 are documented in a `Validation` section of the project README. The retention curves from layer 5 are reported in a `Retention` subsection of the same README.
332332

STATUS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# STATUS, MS Neuro Battery
1+
# STATUS, BaselineMS
22

33
This file is the single source of truth for which phase is next. Read it at the start of every session.
44

agents/00-project-manager.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The PM **must** stop and ask the user when uncertain about a decision, fact, or
1010

1111
## Mission
1212

13-
Sequence and ship the MS Neuro Battery from bootstrap through Phase 11 by dispatching the right specialist at the right time, gating phase transitions on quality, and keeping `STATUS.md` honest about where the project actually is.
13+
Sequence and ship the BaselineMS from bootstrap through Phase 11 by dispatching the right specialist at the right time, gating phase transitions on quality, and keeping `STATUS.md` honest about where the project actually is.
1414

1515
## Inputs
1616

@@ -23,7 +23,7 @@ Sequence and ship the MS Neuro Battery from bootstrap through Phase 11 by dispat
2323

2424
## Outputs
2525

26-
- Updates to `/home/mustafa/src/MS-Battery/STATUS.md` at three moments per phase (start, pause, complete).
26+
- Updates to `/home/mustafa/src/BaselineMS/STATUS.md` at three moments per phase (start, pause, complete).
2727
- New `docs/plans/phase-N-<name>.md` files for phases that need a detailed plan beyond the existing Phase 1 plan. Written using the `superpowers:writing-plans` skill.
2828
- ADRs in `docs/adr/` for cross cutting decisions.
2929
- Dispatch records: short notes (kept in session memory or in a `docs/dispatch-log.md` if the user wants persistence) recording which specialists were dispatched in which phase and what they returned.

agents/01-clinical-validator.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Ensure every test in the battery is a faithful, defensible digital adaptation of
2020
## Outputs
2121

2222
- Sign offs (or rejections, with rationale) on each test design before that test's phase begins.
23-
- Notes appended to `/home/mustafa/src/MS-Battery/docs/source/clinical-references.md` when new references are consulted.
23+
- Notes appended to `/home/mustafa/src/BaselineMS/docs/source/clinical-references.md` when new references are consulted.
2424
- A "validation acceptance criteria" memo for Phase 5, listing the specific numbers (stride length error percentage, cadence error percentage, ICC for each primary feature) the project must hit and the reasoning.
2525
- Reviews of any user facing clinical text on screen and in the PDF report.
2626

agents/02-signal-processing-engineer.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ Implement, test, and validate every DSP module in the application: gait pipeline
1919

2020
## Outputs
2121

22-
- `app/src/main/java/com/mustafan4x/msbattery/dsp/` package containing pure Kotlin DSP modules with no Android sensor or UI dependencies, including:
22+
- `app/src/main/java/com/mustafan4x/baselinems/dsp/` package containing pure Kotlin DSP modules with no Android sensor or UI dependencies, including:
2323
- Butterworth low pass filter.
2424
- Madgwick orientation filter.
2525
- Step detection (peak finder with prominence and inter peak distance constraints).
2626
- Stride pairing and segmentation.
2727
- Zero velocity update (ZUPT) stride length integrator.
2828
- Feature extractor producing cadence, stride length, step time CV, stride asymmetry, double support time.
29-
- `app/src/test/java/com/mustafan4x/msbattery/dsp/` directory with tests using synthetic IMU traces with known parameters. Target: 90 percent line coverage on the DSP module; stride length within 2 percent on clean synthetic signals.
29+
- `app/src/test/java/com/mustafan4x/baselinems/dsp/` directory with tests using synthetic IMU traces with known parameters. Target: 90 percent line coverage on the DSP module; stride length within 2 percent on clean synthetic signals.
3030
- For voice: pure Kotlin acoustic feature extractor (or, per the ADR in Phase 8, a thin wrapper around TarsosDSP).
3131
- ADRs for non obvious DSP choices (Madgwick from scratch vs library, TarsosDSP vs roll our own).
3232
- Validation report sections in `docs/source/validation-report.md` documenting Phase 5 numbers.

agents/03-android-engineer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Build the Android application on top of the data layer, the DSP modules, and the
2323

2424
## Outputs
2525

26-
- All Kotlin source in `app/src/main/java/com/mustafan4x/msbattery/` outside `data/` (owned by Data Engineer) and `dsp/` (owned by Signal Processing Engineer). Specifically:
26+
- All Kotlin source in `app/src/main/java/com/mustafan4x/baselinems/` outside `data/` (owned by Data Engineer) and `dsp/` (owned by Signal Processing Engineer). Specifically:
2727
- `battery/` (TestModule interface implementations, BatteryOrchestrator, MockTestModule replacement per phase).
2828
- `ui/` (Compose screens, navigation, theming).
2929
- `signals/` (Sensor capture glue: `SensorManager`, `AudioRecord`, `CameraX`, exposed as `Flow`).

0 commit comments

Comments
 (0)