Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
5906bec
feat: TaskPilot orchestrator v0.1.0–v0.2.0 + Apple Watch test & secur…
cortexark Mar 11, 2026
674cde0
chore: orchestrator v0.3.0 — dependency validation, event bus, MAST e…
cortexark Mar 11, 2026
a5244be
chore: remove orchestrator/TaskPilot files from tracking and gitignor…
cortexark Mar 11, 2026
0aa885c
fix: resolve SwiftLint multiline_arguments violations in ConfigServic…
cortexark Mar 11, 2026
8760534
fix: resolve all SwiftLint violations across codebase
cortexark Mar 11, 2026
3846a1c
fix: resolve all remaining SwiftLint violations
cortexark Mar 11, 2026
174bbca
fix: update CI pipeline for macos-15 and Xcode 16.2
cortexark Mar 11, 2026
9bd7298
fix: use OS=latest for simulator destinations in CI
cortexark Mar 11, 2026
cc5d798
fix: use sdk: instead of framework: for system frameworks in project.yml
cortexark Mar 11, 2026
9c5b0fe
fix: add preview static members for SwiftUI preview compilation
cortexark Mar 11, 2026
b833f19
fix: resolve iOS build errors and rename Workout to Activity Minutes
cortexark Mar 11, 2026
c6a5887
fix: resolve SwiftLint comma spacing and line length violations
cortexark Mar 11, 2026
cbec3f2
feat: friendly wellness language, free features, app icons, CI fix
cortexark Mar 11, 2026
95cc8af
feat: add stress metric, alert logging, settings disclaimers, CI fix
cortexark Mar 11, 2026
8c11250
feat: add 100 mock profiles, pipeline validation tests, SwiftLint config
cortexark Mar 11, 2026
ab91694
fix: redesign app icon, fix asset catalog for CI, remove xcpretty
cortexark Mar 11, 2026
951e3fa
fix: UI audit fixes — backgrounds, persistence, colors, error handling
cortexark Mar 11, 2026
3cf93b2
fix: make simulator runtime download non-fatal in CI
cortexark Mar 11, 2026
a8089a2
fix: resolve test compilation errors and CI simulator setup
cortexark Mar 11, 2026
5726390
feat: add centralized ThumpTheme design tokens
cortexark Mar 11, 2026
f35afd6
fix: soften remaining clinical language in Trends view
cortexark Mar 11, 2026
ebb8a01
feat: redesign stress view with calendar heatmap, smart nudges, and p…
cortexark Mar 11, 2026
1838585
feat: add user interaction logging and crash breadcrumbs
cortexark Mar 13, 2026
0491541
feat: add centralized input validation service
cortexark Mar 13, 2026
709ebe5
feat: add XCUITest suite — stress, clickable validation, and negative…
cortexark Mar 13, 2026
9d901e8
feat: add comprehensive test suite — 700+ tests across engines, integ…
cortexark Mar 13, 2026
e7a25f9
feat: add new engines, ThumpBuddy, and enhanced models
cortexark Mar 13, 2026
de68a7c
feat: update iOS views, viewmodels, and services for new engine integ…
cortexark Mar 13, 2026
9fbf32d
feat: update Watch app, web pages, CI pipeline, and project config
cortexark Mar 13, 2026
6daae7a
feat: integrate production UI views with ThumpBuddy dashboard
cortexark Mar 13, 2026
9fe07be
chore: gitignore local project docs and CLAUDE.md
cortexark Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
103 changes: 103 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# CI Pipeline for Thump (HeartCoach)
# Builds iOS and watchOS targets and runs unit tests.
# Triggered on push to main and on pull requests.

name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer

jobs:
build-and-test:
name: Build & Test
runs-on: macos-14
steps:
- uses: actions/checkout@v4

# ── Cache SPM packages ──────────────────────────────────
- name: Cache SPM packages
uses: actions/cache@v4
with:
path: |
~/Library/Developer/Xcode/DerivedData/**/SourcePackages
~/.build
key: spm-${{ runner.os }}-${{ hashFiles('apps/HeartCoach/Package.swift') }}
restore-keys: |
spm-${{ runner.os }}-

# ── Install tools ───────────────────────────────────────
- name: Install XcodeGen
run: brew install xcodegen

- name: Generate Xcode Project
run: |
cd apps/HeartCoach
xcodegen generate

# ── Build iOS ───────────────────────────────────────────
- name: Build iOS
run: |
set -o pipefail
cd apps/HeartCoach
xcodebuild build \
-project Thump.xcodeproj \
-scheme Thump \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
-configuration Debug \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO \
| xcpretty

# ── Build watchOS ───────────────────────────────────────
- name: Build watchOS
run: |
set -o pipefail
cd apps/HeartCoach
xcodebuild build \
-project Thump.xcodeproj \
-scheme ThumpWatch \
-destination 'platform=watchOS Simulator,name=Apple Watch Series 9 (45mm)' \
-configuration Debug \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO \
| xcpretty

# ── Run unit tests ──────────────────────────────────────
- name: Run Tests
run: |
set -o pipefail
cd apps/HeartCoach
xcodebuild test \
-project Thump.xcodeproj \
-scheme Thump \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
-enableCodeCoverage YES \
-resultBundlePath TestResults.xcresult \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO \
| xcpretty

# ── Coverage report ─────────────────────────────────────
- name: Extract Code Coverage
if: success()
run: |
cd apps/HeartCoach
xcrun xccov view --report TestResults.xcresult | head -30 >> "$GITHUB_STEP_SUMMARY"

- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results
path: apps/HeartCoach/TestResults.xcresult
retention-days: 7
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@ Package.resolved
.ux/
.project/

# TaskPilot / Orchestrator (internal tooling, not part of the app)
TaskPilot/
ORCHESTRATOR_DRIVEN_IMPROVEMENTS.md

# Project docs (local only)
CLAUDE.md
PROJECT_HISTORY.md
TESTING_AND_IMPROVEMENTS.md

# IDE
.vscode/
.idea/
Expand Down
30 changes: 30 additions & 0 deletions apps/HeartCoach/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Xcode
*.xcodeproj/xcuserdata/
*.xcworkspace/xcuserdata/
*.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
DerivedData/
build/
*.dSYM.zip
*.dSYM
*.moved-aside
*.hmap
*.ipa
*.xcuserstate

# Swift Package Manager
.build/
Packages/
Package.pins
Package.resolved

# OS files
.DS_Store
Thumbs.db

# Algorithm TODO & research files (local development only)
TODO/
.algo-research/

# Feature requests & redesign specs (internal planning, not shipped)
FEATURE_REQUESTS.md
DASHBOARD_REDESIGN.md
29 changes: 29 additions & 0 deletions apps/HeartCoach/.swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SwiftLint Configuration for Thump

excluded:
- Tests/
- .build/

# Pre-existing violations in engine files — will be addressed in
# a dedicated refactoring pass.
identifier_name:
min_length: 1
max_length: 50
file_length:
warning: 700
error: 1000
type_body_length:
warning: 500
error: 800
function_body_length:
warning: 100
error: 200
function_parameter_count:
warning: 7
error: 10
cyclomatic_complexity:
warning: 15
error: 25
large_tuple:
warning: 4
error: 12
Loading
Loading