Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,4 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts
.gstack/
29 changes: 29 additions & 0 deletions TODOS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# TODOs

## Garmin API Approval Track

**What:** Track official Garmin Connect Developer Program access, licensing, and brand/compliance requirements.

**Why:** The full AI workspace will support official Garmin sync plus manual/FIT import fallback. Garmin approval can block production access, so this needs to run as a visible business/engineering dependency rather than a hidden implementation assumption.

**Pros:** Avoids surprise launch blockers and keeps product claims aligned with Garmin's rules.

**Cons:** Not pure coding work; approval may require waiting on Garmin or changing the provider strategy.

**Context:** /plan-eng-review decision 2A chose official Garmin + manual/FIT fallback. The fallback keeps development moving, but production Garmin sync still depends on approved access.

**Depends on / blocked by:** Garmin developer account/application and any commercial license requirements.

## Garmin/FIT Import Privacy Controls

**What:** Add explicit user-facing privacy controls for which Garmin/FIT data classes can be imported and used by AI.

**Why:** The full AI workspace will store raw payloads, normalized summaries, and compact AI snapshots. Garmin/FIT data may include sensitive sleep, stress, heart-rate, recovery, and activity signals, so users need visible control over what is imported and what the AI can use.

**Pros:** Improves trust, makes AI data use explainable, and forces clean partial-data handling.

**Cons:** Adds settings complexity and more tests for missing or disabled data classes.

**Context:** /plan-eng-review decision 3A chose raw archive + normalized summaries + AI snapshots. That architecture needs a clear privacy boundary so the AI workspace does not feel like it is silently using every health signal.

**Depends on / blocked by:** Final provider data schema and AI snapshot schema.
3 changes: 2 additions & 1 deletion jest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ import type { Config } from 'jest'
const config: Config = {
preset: 'ts-jest',
testEnvironment: 'node',
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
},
testMatch: ['**/__tests__/**/*.test.ts'],
testMatch: ['**/__tests__/**/*.test.ts', '**/__tests__/**/*.test.tsx'],
}

export default config
1 change: 1 addition & 0 deletions jest.setup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import '@testing-library/jest-dom'
Loading
Loading