kinemotion 0.29.2__tar.gz → 0.30.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kinemotion might be problematic. Click here for more details.
- kinemotion-0.30.0/.basic-memory/project-management/kinemotion-project-setup-complete.md +149 -0
- kinemotion-0.30.0/.basic-memory/strategy/mvp-feedback-collection-plan.md +101 -0
- kinemotion-0.30.0/.basic-memory/strategy/mvp-first-strategic-direction.md +103 -0
- kinemotion-0.30.0/.basic-memory/strategy/mvp-validation-checkpoints.md +77 -0
- kinemotion-0.30.0/.serena/memories/code_style_and_conventions.md +126 -0
- kinemotion-0.30.0/.serena/memories/github-project-setup-summary.md +253 -0
- kinemotion-0.30.0/.serena/memories/mvp-first-strategy.md +124 -0
- kinemotion-0.30.0/.serena/memories/project_overview.md +91 -0
- kinemotion-0.30.0/.serena/memories/specialist-agents-routing.md +187 -0
- kinemotion-0.30.0/.serena/memories/suggested_commands.md +131 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/CHANGELOG.md +43 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/CLAUDE.md +19 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/CONTRIBUTING.md +13 -13
- {kinemotion-0.29.2 → kinemotion-0.30.0}/PKG-INFO +3 -2
- {kinemotion-0.29.2 → kinemotion-0.30.0}/README.md +2 -1
- kinemotion-0.30.0/docs/strategy/1-STRATEGIC_SUMMARY.md +255 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/2-STRATEGIC_ANALYSIS.md +27 -1
- kinemotion-0.30.0/docs/strategy/MVP_FEEDBACK_COLLECTION.md +345 -0
- kinemotion-0.30.0/docs/strategy/MVP_VALIDATION_CHECKPOINTS.md +215 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/pyproject.toml +1 -1
- kinemotion-0.30.0/scripts/SCRIPTS_QUICKREF.md +211 -0
- kinemotion-0.30.0/scripts/project/README.md +147 -0
- kinemotion-0.30.0/scripts/project/add-issue.sh +197 -0
- kinemotion-0.30.0/scripts/project/batch-set-fields.sh +163 -0
- kinemotion-0.30.0/scripts/project/helpers.sh +239 -0
- kinemotion-0.30.0/scripts/project/list.sh +121 -0
- kinemotion-0.30.0/scripts/project/set-field.sh +129 -0
- kinemotion-0.30.0/scripts/project/set-status.sh +135 -0
- kinemotion-0.30.0/scripts/project/summary.sh +93 -0
- kinemotion-0.30.0/scripts/project.sh +60 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/api.py +22 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/cmj/kinematics.py +12 -2
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/cmj_metrics_validator.py +94 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/cmj_validation_bounds.py +15 -1
- kinemotion-0.30.0/src/kinemotion/core/dropjump_metrics_validator.py +343 -0
- kinemotion-0.30.0/src/kinemotion/core/dropjump_validation_bounds.py +196 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/dropjump/kinematics.py +12 -2
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_cmj_analysis.py +200 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_cmj_joint_angles.py +218 -0
- kinemotion-0.30.0/tests/test_dropjump_validation_integration.py +209 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/uv.lock +1 -1
- kinemotion-0.29.2/docs/strategy/1-STRATEGIC_SUMMARY.md +0 -184
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/api/api-reference-quick-commands.md +0 -0
- /kinemotion-0.29.2/.basic-memory/biomechanics/CMJ Landing Detection Window Validation.md → /kinemotion-0.30.0/.basic-memory/biomechanics/cmj-landing-detection-window-validation.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/biomechanics/cmj-physiological-bounds-for-validation.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/biomechanics/cmj-validation-implementation-complete.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/biomechanics/drop-jump-vs-cmj-key-differences.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/codebase/codebase-architecture-overview.md +0 -0
- /kinemotion-0.29.2/.basic-memory/development/CI Caching Issue Investigation - Deep Squat Test Failure.md → /kinemotion-0.30.0/.basic-memory/development/ci-caching-issue-investigation-deep-squat-test-failure.md +0 -0
- /kinemotion-0.29.2/.basic-memory/development/CI vs Local Test Failure Investigation.md → /kinemotion-0.30.0/.basic-memory/development/ci-vs-local-test-failure-investigation.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/development/cmj-phase-detection-testing-gap-analysis.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/development/development-standards-quality-gates.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/project-management/specialized-subagents-routing-guide.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.basic-memory/strategy/strategic-priority-tasks-current-roadmap.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/QUICKSTART.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/biomechanics-specialist.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/computer-vision-engineer.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/devops-cicd-engineer.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/ml-data-scientist.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/project-manager.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/python-backend-developer.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/qa-test-engineer.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.claude/agents/technical-writer.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.dockerignore +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.gitattributes +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.github/pull_request_template.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.github/workflows/docs.yml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.github/workflows/release.yml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.github/workflows/test.yml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.gitignore +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.pre-commit-config.yaml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.readthedocs.yml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.serena/.gitignore +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.serena/project.yml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/.tool-versions +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/CODE_OF_CONDUCT.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/Dockerfile +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/GEMINI.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/LICENSE +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/SECURITY.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/api/cmj.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/api/core.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/api/dropjump.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/api/overview.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/development/errors-findings.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/development/testing.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/development/type-hints.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/development/validation-plan.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/development/validation-roadmap.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/development/wallball-norep-detection.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/guides/bulk-processing.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/guides/camera-setup.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/guides/cmj-guide.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/index.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/reference/json-output-format.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/reference/json-structure-comparison.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/reference/parameters.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/reference/pose-systems.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/paper-downloader/HOW-TO-FIND-DOIS.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/paper-downloader/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/paper-downloader/dois.txt +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/paper-downloader/download.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/paper-downloader/pyproject.toml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/paper-downloader/uv.lock +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/MANUAL-DOWNLOAD-GUIDE.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/convert_pdfs.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/athlete-monitoring/2001_Foster_Session-RPE-Training-Monitoring.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/athlete-monitoring/2015_Buchheit_GPS-Accelerometers-Stride-Stiffness.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Flatt_HRV-Recovery-Swimmers.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Saw_Training-Camps-Monitoring.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Ward_Putting-i-in-Team.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2011_Petersen_Nordic-Hamstring-Prevention.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2011_Wilk_Shoulder-GIRD-Baseball-Pitchers.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2012_Hewit_Multidirectional-Leg-Asymmetry.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2015_Ford_Hip-Neuromuscular-Exercise-Valgus.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2015_Mosler_Hip-Groin-Pain-Factors.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2015_Sconce_Nordic-Hamstring-Validity.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2016_Mendez-Villanueva_Hamstring-MRI-Regional.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2016_Read_Youth-Soccer-Injury-Risk.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2017_Mason-Mackay_Ankle-Dorsiflexion-Landing.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2017_Mendiguchia_Hamstring-Treatment-Algorithm.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2018_Balsalobre-Fernandez_Ankle-Dorsiflexion-App.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2018_Bramah_Pathological-Gait-Running-Injuries.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/injury-prevention/2020_Fidai_Fatigue-Knee-Valgus-Youth.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/jump-performance/2011_Harper_10-to-5-Jump-Test.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/jump-performance/2012_Samozino_Optimal-Force-Velocity-Profile.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/jump-performance/2014_Samozino_FV-Imbalance.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/jump-performance/2016_Jimenez-Reyes_Force-Velocity-Training.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/jump-performance/2016_Morin-Samozino_Power-Force-Velocity-Profiles.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/jump-performance/2018_Garcia-Ramos_Two-Point-Method-Optimization.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/jump-performance/2022_Wells_Golf-Clubhead-CMJ.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/running-biomechanics/2005_Morin_Running-Stiffness-Measurement.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/running-biomechanics/2015_Balsalobre-Fernandez_Strength-Training-Running-Economy.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/running-biomechanics/2016_Balsalobre-Fernandez_iPhone-Running-Mechanics.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/running-biomechanics/2016_Moore_Economical-Running-Technique.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/running-biomechanics/2020_Filter_Curve-Sprint-Test-Soccer.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/running-biomechanics/2020_Harper_Horizontal-Deceleration-Radar.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/running-biomechanics/2021_vanOeveren_Running-Biomechanics-Synthesis.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/running-biomechanics/2024_Bramah_Sprint-Mechanics-Assessment-Score.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/smartphone-technology/2015_Balsalobre-Fernandez_iPhone-Vertical-Jump.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/smartphone-technology/2022_Bishop_MyJumpLab-Validation.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/velocity-based-training/2011_Jidovtseff_Load-Velocity-1RM-Prediction.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/velocity-based-training/2016_Conceicao_Movement-Velocity-Lower-Limb.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/velocity-based-training/2016_Pareja-Blanco_Velocity-Loss-Training.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/velocity-based-training/2017_Balsalobre-Fernandez_Barbell-Velocity-1RM.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/velocity-based-training/2020_Balsalobre-Fernandez_Barbell-Trajectory-Snatch.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/markdown/velocity-based-training/2023_Balsalobre-Fernandez_AI-Barbell-Velocity.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/online-references-for-papers.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2001_Foster_Session-RPE-Training-Monitoring.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2015_Buchheit_GPS-Accelerometers-Stride-Stiffness.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Flatt_HRV-Recovery-Swimmers.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Saw_Training-Camps-Monitoring.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Ward_Putting-i-in-Team.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2011_Petersen_Nordic-Hamstring-Prevention.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2011_Wilk_Shoulder-GIRD-Baseball-Pitchers.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2012_Hewit_Multidirectional-Leg-Asymmetry.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2015_Ford_Hip-Neuromuscular-Exercise-Valgus.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2015_Mosler_Hip-Groin-Pain-Factors.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2015_Sconce_Nordic-Hamstring-Validity.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2016_Mendez-Villanueva_Hamstring-MRI-Regional.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2016_Read_Youth-Soccer-Injury-Risk.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2017_Mason-Mackay_Ankle-Dorsiflexion-Landing.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2017_Mendiguchia_Hamstring-Treatment-Algorithm.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2018_Balsalobre-Fernandez_Ankle-Dorsiflexion-App.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2018_Bramah_Pathological-Gait-Running-Injuries.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/injury-prevention/2020_Fidai_Fatigue-Knee-Valgus-Youth.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/jump-performance/2011_Harper_10-to-5-Jump-Test.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/jump-performance/2012_Samozino_Optimal-Force-Velocity-Profile.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/jump-performance/2014_Samozino_FV-Imbalance.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/jump-performance/2016_Jimenez-Reyes_Force-Velocity-Training.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/jump-performance/2016_Morin-Samozino_Power-Force-Velocity-Profiles.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/jump-performance/2018_Garcia-Ramos_Two-Point-Method-Optimization.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/jump-performance/2022_Wells_Golf-Clubhead-CMJ.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/running-biomechanics/2005_Morin_Running-Stiffness-Measurement.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/running-biomechanics/2015_Balsalobre-Fernandez_Strength-Training-Running-Economy.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/running-biomechanics/2016_Balsalobre-Fernandez_iPhone-Running-Mechanics.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/running-biomechanics/2016_Moore_Economical-Running-Technique.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/running-biomechanics/2020_Filter_Curve-Sprint-Test-Soccer.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/running-biomechanics/2020_Harper_Horizontal-Deceleration-Radar.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/running-biomechanics/2021_vanOeveren_Running-Biomechanics-Synthesis.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/running-biomechanics/2024_Bramah_Sprint-Mechanics-Assessment-Score.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/smartphone-technology/2015_Balsalobre-Fernandez_iPhone-Vertical-Jump.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/smartphone-technology/2022_Bishop_MyJumpLab-Validation.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/velocity-based-training/2011_Jidovtseff_Load-Velocity-1RM-Prediction.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/velocity-based-training/2016_Conceicao_Movement-Velocity-Lower-Limb.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/velocity-based-training/2016_Pareja-Blanco_Velocity-Loss-Training.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/velocity-based-training/2017_Balsalobre-Fernandez_Barbell-Velocity-1RM.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/velocity-based-training/2020_Balsalobre-Fernandez_Barbell-Trajectory-Snatch.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/research/thirdparty/pdfs/velocity-based-training/2023_Balsalobre-Fernandez_AI-Barbell-Velocity.pdf +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/STYLE_GUIDE.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/01-executive-summary.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/02-technical-assessment.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/03-refactoring-roadmap.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/BIOMECHANICS/01-executive-summary.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/BIOMECHANICS/02-technical-assessment.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/BIOMECHANICS/03-reference-guide.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/BIOMECHANICS/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/COMPUTER_VISION/01-executive-summary.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/COMPUTER_VISION/02-real-time-architecture.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/COMPUTER_VISION/03-implementation-checklist.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/COMPUTER_VISION/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/CONSOLIDATED/01-agent-consensus.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/CONSOLIDATED/02-critical-findings.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/CONSOLIDATED/03-roadmap-adjustments.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/CONSOLIDATED/04-decision-points.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/CONSOLIDATED/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/CONSOLIDATED/risk-register.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/CONSOLIDATED/timeline-roadmap.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/01-executive-summary.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/02-infrastructure-assessment.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/03-implementation-roadmap.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/DEVOPS_CI_CD/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/01-executive-summary.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/02-technical-assessment.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/03-parameter-specifications.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/QA_TESTING/01-executive-summary.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/QA_TESTING/02-roadmap-assessment.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/QA_TESTING/03-testing-checklists.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/QA_TESTING/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/01-executive-summary.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/02-documentation-strategy.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/03-action-plan.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/strategy/agent-assessments/TECHNICAL_WRITING/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/technical/framerate.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/technical/implementation-details.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/technical/imu-metadata.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/technical/real-time-analysis.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/technical/triple-extension.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/translations/es/camera-setup.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/validation/determinism-test.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/validation/known-height-validation.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/docs/validation-status.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/examples/bulk/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/examples/bulk/bulk_processing.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/examples/bulk/simple_example.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/examples/programmatic_usage.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/justfile +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/mkdocs.yml +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/.gitignore +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/demos/.gitignore +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/demos/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/demos/api_demo.ipynb +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/demos/batch_processing_demo.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/demos/sample_data/.gitkeep +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/presentation_guide.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/revealjs/.gitignore +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/revealjs/Makefile +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/revealjs/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/revealjs/slides.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/presentation/speaker_script.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/requirements-docs.txt +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/samples/cmjs/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/scripts/README.md +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/scripts/analyze_determinism_variance.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/scripts/generate_test_data.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/scripts/plot_validation_results.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/scripts/test_determinism.sh +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/scripts/validate_known_heights.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/sonar-project.properties +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/__init__.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/cli.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/cmj/__init__.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/cmj/analysis.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/cmj/cli.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/cmj/debug_overlay.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/cmj/joint_angles.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/__init__.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/auto_tuning.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/cli_utils.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/debug_overlay_utils.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/filtering.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/formatting.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/metadata.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/pose.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/quality.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/smoothing.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/core/video_io.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/dropjump/__init__.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/dropjump/analysis.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/dropjump/cli.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/dropjump/debug_overlay.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/src/kinemotion/py.typed +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/__init__.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/core/test_quality.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_adaptive_threshold.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_api.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_aspect_ratio.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_cli_cmj.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_cli_dropjump.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_cli_imports.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_cmj_kinematics.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_cmj_physiological_bounds.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_com_estimation.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_contact_detection.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_filtering.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_formatting.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_joint_angles.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_kinematics.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_polyorder.py +0 -0
- {kinemotion-0.29.2 → kinemotion-0.30.0}/tests/test_video_io.py +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Kinemotion Project Setup Complete
|
|
3
|
+
type: note
|
|
4
|
+
permalink: project-management/kinemotion-project-setup-complete
|
|
5
|
+
tags:
|
|
6
|
+
- project-management
|
|
7
|
+
- github
|
|
8
|
+
- setup
|
|
9
|
+
- roadmap
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Kinemotion GitHub Project Setup - Complete
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
Comprehensive GitHub project structure created for Kinemotion with 12 foundation issues, 25 labels, and 3 milestones.
|
|
16
|
+
|
|
17
|
+
**Project URL**: https://github.com/users/feniix/projects/2
|
|
18
|
+
**Repository**: https://github.com/feniix/kinemotion
|
|
19
|
+
|
|
20
|
+
## What Was Created
|
|
21
|
+
|
|
22
|
+
### 12 Foundation Issues
|
|
23
|
+
Organized by domain and milestone, with clear acceptance criteria and specialist agent assignments.
|
|
24
|
+
|
|
25
|
+
**Testing & Quality (Q1 2025: Core Stability)**
|
|
26
|
+
1. Test Coverage: Drop Jump Edge Cases - 3 SP, qa-test-engineer
|
|
27
|
+
2. Test Coverage: CMJ Edge Cases - 5 SP, qa-test-engineer + cv-engineer
|
|
28
|
+
3. Metrics Validation: Establish Physiological Bounds - 5 SP, biomechanics-specialist
|
|
29
|
+
4. Reduce Code Duplication to <2.5% - 5 SP, python-backend-developer
|
|
30
|
+
|
|
31
|
+
**Documentation & Education (Q1 2025: Documentation)**
|
|
32
|
+
5. Create CMJ Biomechanics Guide - 3 SP, technical-writer + biomechanics-specialist
|
|
33
|
+
6. Create API Reference & Quick Start - 3 SP, technical-writer + backend-dev
|
|
34
|
+
7. Create Contribution Guidelines & Testing Patterns - 3 SP, technical-writer + qa-engineer
|
|
35
|
+
|
|
36
|
+
**Technical Improvements (Q2 2025: Performance)**
|
|
37
|
+
8. Improve Pose Detection: Occlusion Handling - 5 SP, cv-engineer + biomechanics
|
|
38
|
+
9. Optimize Video Processing Pipeline - 8 SP, backend-dev + ml-scientist
|
|
39
|
+
10. Expand CI/CD: Automated Quality Gates - 5 SP, devops-engineer
|
|
40
|
+
|
|
41
|
+
**Future Enhancements (Q2 2025: Performance)**
|
|
42
|
+
11. Feature: Real-time Analysis Streaming - 13 SP, backend-dev + cv-engineer
|
|
43
|
+
12. Improve Batch Processing & Worker Management - 5 SP, python-backend-developer
|
|
44
|
+
|
|
45
|
+
**Total Effort**: 62 SP across 4 sprints
|
|
46
|
+
**Distribution**: 7 High Priority, 3 Medium Priority, 2 Low Priority
|
|
47
|
+
|
|
48
|
+
### 25 GitHub Labels
|
|
49
|
+
- **Type Labels** (7): test, feature, refactor, docs, enhancement, perf, ci-cd
|
|
50
|
+
- **Priority Labels** (4): critical, high, medium, low
|
|
51
|
+
- **Scope Labels** (14): testing, drop-jump, cmj, metrics, pose-detection, performance, code-quality, education, api, development, automation, streaming, batch-processing
|
|
52
|
+
|
|
53
|
+
### 3 Milestones (Pre-existing)
|
|
54
|
+
- **Q1 2025: Core Stability** - Testing, validation, code quality
|
|
55
|
+
- **Q1 2025: Documentation & Education** - User and developer guides
|
|
56
|
+
- **Q2 2025: Performance & Optimization** - Performance, features, infrastructure
|
|
57
|
+
|
|
58
|
+
## Recommended Sprint Schedule
|
|
59
|
+
|
|
60
|
+
**Sprint 1 (Q1 Start) - 16 SP**
|
|
61
|
+
- CMJ Edge Cases (5 SP)
|
|
62
|
+
- CMJ Biomechanics Guide (3 SP)
|
|
63
|
+
- Metrics Validation (5 SP)
|
|
64
|
+
- Team: qa-test-engineer, technical-writer, biomechanics-specialist
|
|
65
|
+
|
|
66
|
+
**Sprint 2 (Q1) - 14 SP**
|
|
67
|
+
- Drop Jump Edge Cases (3 SP)
|
|
68
|
+
- API Reference & Quick Start (3 SP)
|
|
69
|
+
- Contribution Guidelines (3 SP)
|
|
70
|
+
- Code Duplication Reduction (5 SP)
|
|
71
|
+
- Team: qa-engineer, technical-writer, backend-developer
|
|
72
|
+
|
|
73
|
+
**Sprint 3 (Q2 Start) - 18 SP**
|
|
74
|
+
- Video Processing Optimization (8 SP)
|
|
75
|
+
- Pose Detection Occlusion (5 SP)
|
|
76
|
+
- CI/CD Quality Gates (5 SP)
|
|
77
|
+
- Team: backend-developer, cv-engineer, devops-engineer
|
|
78
|
+
|
|
79
|
+
**Sprint 4+ (Q2) - 18 SP**
|
|
80
|
+
- Real-time Streaming (13 SP) - May span 2 sprints
|
|
81
|
+
- Batch Processing (5 SP)
|
|
82
|
+
- Team: backend-developer, cv-engineer
|
|
83
|
+
|
|
84
|
+
## Quality Metrics Tracked
|
|
85
|
+
|
|
86
|
+
| Metric | Current | Target | Gap |
|
|
87
|
+
|--------|---------|--------|-----|
|
|
88
|
+
| Test Coverage | 74.27% | ≥74% | None |
|
|
89
|
+
| Code Duplication | 2.96% | <2.5% | 0.46% |
|
|
90
|
+
| CMJ Coverage | 62.27% | ≥70% | 7.73% |
|
|
91
|
+
| Drop Jump Coverage | 88.75% | Maintain | None |
|
|
92
|
+
| Type Errors | 0 | 0 | None |
|
|
93
|
+
| Linting Errors | 0 | 0 | None |
|
|
94
|
+
|
|
95
|
+
Key focus: CMJ edge cases (Issue #2) will increase coverage from 62.27% to 70%.
|
|
96
|
+
|
|
97
|
+
## Specialist Agent Routing
|
|
98
|
+
|
|
99
|
+
All issues have explicit agent assignments based on domain expertise:
|
|
100
|
+
- **qa-test-engineer**: Testing, edge cases, fixtures
|
|
101
|
+
- **biomechanics-specialist**: Metrics, validation, physiological bounds
|
|
102
|
+
- **technical-writer**: Documentation, guides, API reference
|
|
103
|
+
- **computer-vision-engineer**: Pose detection, video I/O
|
|
104
|
+
- **python-backend-developer**: Algorithms, optimization, API design
|
|
105
|
+
- **ml-data-scientist**: Parameter tuning, quality presets
|
|
106
|
+
- **devops-cicd-engineer**: CI/CD infrastructure, automation
|
|
107
|
+
|
|
108
|
+
See `specialist-agents-routing.md` for detailed routing guide.
|
|
109
|
+
|
|
110
|
+
## Next Steps
|
|
111
|
+
|
|
112
|
+
1. **Review Issues** - Verify acceptance criteria and adjust estimates
|
|
113
|
+
2. **Assign Team** - Assign issues to available team members
|
|
114
|
+
3. **Sprint Planning** - Plan Sprint 1 (CMJ edge cases, biomechanics guide, metrics validation)
|
|
115
|
+
4. **Kickoff** - Team briefing and task breakdown
|
|
116
|
+
5. **Track Progress** - Use GitHub project board, update status weekly
|
|
117
|
+
|
|
118
|
+
## Access Points
|
|
119
|
+
|
|
120
|
+
- **GitHub Project**: https://github.com/users/feniix/projects/2
|
|
121
|
+
- **All Issues**: https://github.com/feniix/kinemotion/issues
|
|
122
|
+
- **By Milestone**: Filter in project board
|
|
123
|
+
- **By Priority**: Search with `label:priority:high`
|
|
124
|
+
- **By Domain**: Search with `label:scope:cmj` or `label:scope:testing`
|
|
125
|
+
|
|
126
|
+
## Documentation
|
|
127
|
+
|
|
128
|
+
Memory files created for future reference:
|
|
129
|
+
- `project_overview.md` - Architecture, tech stack, dependencies
|
|
130
|
+
- `suggested_commands.md` - Development workflows and commands
|
|
131
|
+
- `code_style_and_conventions.md` - Type hints, naming, docstrings, patterns
|
|
132
|
+
- `specialist-agents-routing.md` - Agent capabilities and routing guide
|
|
133
|
+
- `github-project-setup-summary.md` - Detailed setup and planning information
|
|
134
|
+
|
|
135
|
+
## Success Indicators
|
|
136
|
+
|
|
137
|
+
Project setup complete when:
|
|
138
|
+
- [ ] All 12 issues visible in GitHub project
|
|
139
|
+
- [ ] Labels applied to all issues
|
|
140
|
+
- [ ] Milestones assigned
|
|
141
|
+
- [ ] Team members assigned to Sprint 1 issues
|
|
142
|
+
- [ ] First sprint kickoff completed
|
|
143
|
+
- [ ] CI/CD integrations working (SonarQube, GitHub Actions)
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
**Created**: 2025-11-26
|
|
148
|
+
**Status**: Foundation Complete, Ready for Sprint Planning
|
|
149
|
+
**Next Review**: After Sprint 1 kickoff
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: MVP Feedback Collection Plan
|
|
3
|
+
type: note
|
|
4
|
+
permalink: strategy/mvp-feedback-collection-plan
|
|
5
|
+
tags:
|
|
6
|
+
- strategy
|
|
7
|
+
- mvp
|
|
8
|
+
- feedback
|
|
9
|
+
- coaches
|
|
10
|
+
- validation
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# MVP Feedback Collection Plan
|
|
14
|
+
|
|
15
|
+
**Reference:** `docs/strategy/MVP_FEEDBACK_COLLECTION.md` (full detailed version)
|
|
16
|
+
|
|
17
|
+
**Timeline:** Week 4-5
|
|
18
|
+
**Target:** 5-10 coaches
|
|
19
|
+
**Goal:** Structured feedback to inform Phase 2 decisions
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Coach Recruitment
|
|
24
|
+
|
|
25
|
+
**Target Profile:**
|
|
26
|
+
- Jump sport background (CrossFit, track & field, basketball)
|
|
27
|
+
- Works with athletes
|
|
28
|
+
- Uses video for feedback
|
|
29
|
+
- Willing to spend 15 minutes testing
|
|
30
|
+
|
|
31
|
+
**Where to Find:**
|
|
32
|
+
- LinkedIn search: "CrossFit coach", "track & field coach"
|
|
33
|
+
- Local CrossFit boxes
|
|
34
|
+
- University programs
|
|
35
|
+
- Reddit communities
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 5 Key Questions
|
|
40
|
+
|
|
41
|
+
1. **Accuracy Trust**
|
|
42
|
+
- "Do the metrics seem accurate for your athletes?"
|
|
43
|
+
|
|
44
|
+
2. **Current Workflow**
|
|
45
|
+
- "How do you currently analyze jump videos?"
|
|
46
|
+
|
|
47
|
+
3. **Feature Priority** (CRITICAL)
|
|
48
|
+
- Rate: Real-time vs Running vs API vs UI improvements
|
|
49
|
+
|
|
50
|
+
4. **Willingness to Pay**
|
|
51
|
+
- Free only? $50/mo? $100-200/mo? $500+/mo?
|
|
52
|
+
|
|
53
|
+
5. **Open Feedback**
|
|
54
|
+
- "What else should we build?"
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Feedback Synthesis
|
|
59
|
+
|
|
60
|
+
After collecting, synthesize:
|
|
61
|
+
- Feature request frequency
|
|
62
|
+
- Willingness to pay distribution
|
|
63
|
+
- Top 3 asks
|
|
64
|
+
- **Recommendation:** Which Phase 2 option won
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Week-by-Week Schedule
|
|
69
|
+
|
|
70
|
+
**Week 4 (Days 1-3):** Recruitment
|
|
71
|
+
- Identify coaches
|
|
72
|
+
- Send outreach emails
|
|
73
|
+
- Confirm 5-10 participants
|
|
74
|
+
|
|
75
|
+
**Week 4 (Days 4-5):** Early feedback
|
|
76
|
+
- First coaches test MVP
|
|
77
|
+
- Track usage metrics
|
|
78
|
+
- Conduct informal interviews
|
|
79
|
+
|
|
80
|
+
**Week 5 (Days 1-3):** Full testing
|
|
81
|
+
- Remaining coaches test
|
|
82
|
+
- Conduct formal interviews
|
|
83
|
+
- Collect survey responses
|
|
84
|
+
|
|
85
|
+
**Week 5 (Days 4-5):** Synthesis & decision
|
|
86
|
+
- Compile feedback
|
|
87
|
+
- Make Phase 2 decision
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Success Indicator
|
|
92
|
+
|
|
93
|
+
MVP feedback collection succeeds when:
|
|
94
|
+
- 5+ coaches tested
|
|
95
|
+
- Clear consensus on Phase 2 priority
|
|
96
|
+
- Evidence supporting recommendation
|
|
97
|
+
- 3+ coaches willing to test Phase 2
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
**See:** `docs/strategy/MVP_FEEDBACK_COLLECTION.md` for complete coaching outreach template and interview script
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: MVP-First Strategic Direction
|
|
3
|
+
type: note
|
|
4
|
+
permalink: strategy/mvp-first-strategic-direction
|
|
5
|
+
tags:
|
|
6
|
+
- strategy
|
|
7
|
+
- mvp
|
|
8
|
+
- roadmap
|
|
9
|
+
- pivot
|
|
10
|
+
- product-direction
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# MVP-First Strategic Direction
|
|
14
|
+
|
|
15
|
+
**Status:** ACTIVE - Adopted November 26, 2025
|
|
16
|
+
|
|
17
|
+
**Change:** Pivoted from 6-month comprehensive platform roadmap to 3-week MVP-first validation approach.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Why This Matters
|
|
22
|
+
|
|
23
|
+
The original strategic roadmap (#10-14) planned to build real-time, running analysis, and API integrations in parallel over 6-8 weeks. **Risk:** You might build features customers don't want.
|
|
24
|
+
|
|
25
|
+
**New approach:** Ship MVP in 3 weeks, gather customer feedback, then decide Phase 2 based on what they actually ask for.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Phase 1: MVP Validation (Weeks 1-3)
|
|
30
|
+
|
|
31
|
+
**Three Issues Only:**
|
|
32
|
+
- Issue #10 (P0): Fix CMJ ankle angle calculation
|
|
33
|
+
- Issue #11 (P0): Validate CMJ metrics with phase progression tests
|
|
34
|
+
- Issue #12 (P0): Build simple web UI MVP (upload → analyze → export)
|
|
35
|
+
|
|
36
|
+
**Goal:** Get product in coaches' hands to gather real feedback
|
|
37
|
+
|
|
38
|
+
**Resources:** 1-2 developers, 3 weeks
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Phase 2: Market-Driven Development (Week 4+)
|
|
43
|
+
|
|
44
|
+
**Features unblock ONLY if customers request them:**
|
|
45
|
+
|
|
46
|
+
1. **Real-Time Analysis** - IF 3+ coaches ask for live feedback
|
|
47
|
+
2. **Running Gait Analysis** - IF 3+ coaches/runners ask for it
|
|
48
|
+
3. **API & Integrations** - IF 2+ partners ask for API access
|
|
49
|
+
|
|
50
|
+
**See:** `MVP_VALIDATION_CHECKPOINTS.md` for explicit unblock criteria
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Key Documents
|
|
55
|
+
|
|
56
|
+
- **Strategic Summary:** `docs/strategy/1-STRATEGIC_SUMMARY.md`
|
|
57
|
+
- **Strategic Analysis:** `docs/strategy/2-STRATEGIC_ANALYSIS.md` (market research, still valid)
|
|
58
|
+
- **MVP Validation Gates:** `docs/strategy/MVP_VALIDATION_CHECKPOINTS.md`
|
|
59
|
+
- **Feedback Collection:** `docs/strategy/MVP_FEEDBACK_COLLECTION.md`
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Success Criteria
|
|
64
|
+
|
|
65
|
+
**Phase 1 Success (Week 3):**
|
|
66
|
+
- Accurate, validated CMJ metrics
|
|
67
|
+
- Simple web UI deployed and live
|
|
68
|
+
- Ready for coach testing
|
|
69
|
+
|
|
70
|
+
**Phase 2 Decision (Week 4-5):**
|
|
71
|
+
- 5-10 coaches using MVP
|
|
72
|
+
- Clear market feedback on priorities
|
|
73
|
+
- Data to drive Phase 2 decisions
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## GitHub Issues Status
|
|
78
|
+
|
|
79
|
+
| Issue | Priority | Phase | Status |
|
|
80
|
+
|-------|----------|-------|--------|
|
|
81
|
+
| #10 | P0 | Phase 1 | MVP - Fix ankle angle |
|
|
82
|
+
| #11 | P0 | Phase 1 | MVP - Validate metrics |
|
|
83
|
+
| #12 | P0 | Phase 1 | MVP - Web UI |
|
|
84
|
+
| #13 | P2 | Phase 2 | DEFERRED - Unblock if requested |
|
|
85
|
+
| #14 | P2 | Phase 2 | DEFERRED - Unblock if requested |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Why MVP-First Is Better
|
|
90
|
+
|
|
91
|
+
| Aspect | Traditional | MVP-First |
|
|
92
|
+
|--------|-----------|-----------|
|
|
93
|
+
| Timeline | 6-8 weeks | 3 weeks |
|
|
94
|
+
| Dev Cost | 4-5 developers | 1-2 developers |
|
|
95
|
+
| Risk | Build wrong features | Learn before investing |
|
|
96
|
+
| Feedback | After launch | Week 4 |
|
|
97
|
+
| Flexibility | Hard to pivot | Easy to adjust Phase 2 |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
**Decision Date:** November 26, 2025
|
|
102
|
+
**Updated By:** Project Strategic Pivot
|
|
103
|
+
**Next Review:** After Week 3 MVP launch
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: MVP Validation Checkpoints
|
|
3
|
+
type: note
|
|
4
|
+
permalink: strategy/mvp-validation-checkpoints
|
|
5
|
+
tags:
|
|
6
|
+
- strategy
|
|
7
|
+
- mvp
|
|
8
|
+
- validation
|
|
9
|
+
- checkpoints
|
|
10
|
+
- decision-gates
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# MVP Validation Checkpoints & Phase 2 Decision Gates
|
|
14
|
+
|
|
15
|
+
**Reference:** `docs/strategy/MVP_VALIDATION_CHECKPOINTS.md` (full detailed version)
|
|
16
|
+
|
|
17
|
+
**Purpose:** Track MVP progress and define explicit criteria for Phase 2 feature activation
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Checkpoint 1: Week 3 (MVP Shipped)
|
|
22
|
+
|
|
23
|
+
**Go/No-Go Criteria:**
|
|
24
|
+
- [ ] Issue #10 complete: Ankle angle fix validated on real video
|
|
25
|
+
- [ ] Issue #11 complete: Phase progression tests passing
|
|
26
|
+
- [ ] Issue #12 complete: Web UI deployed and publicly accessible
|
|
27
|
+
- [ ] Backend responds without errors
|
|
28
|
+
- [ ] Frontend displays metrics and exports results
|
|
29
|
+
- [ ] Documentation ready for coaches
|
|
30
|
+
|
|
31
|
+
**Decision:** Go to Checkpoint 2 or fix blockers
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Checkpoint 2: Week 4-5 (Market Validation)
|
|
36
|
+
|
|
37
|
+
**Activities:**
|
|
38
|
+
- [ ] Recruit 5-10 coaches to test MVP
|
|
39
|
+
- [ ] Collect structured feedback (5 key questions)
|
|
40
|
+
- [ ] Track: Feature requests, pain points, willingness to pay
|
|
41
|
+
- [ ] Monitor MVP stability
|
|
42
|
+
|
|
43
|
+
**Output:** Feedback data from 5-10 coaches
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Decision Gate 1: Phase 2 Feature Priority (End Week 5)
|
|
48
|
+
|
|
49
|
+
### Option A: Real-Time Analysis
|
|
50
|
+
**Unblock if:** 3+ coaches say "I need live feedback"
|
|
51
|
+
- Timeline: 3-4 weeks
|
|
52
|
+
- ROI: 3.2 (market differentiator)
|
|
53
|
+
|
|
54
|
+
### Option B: Running Gait Analysis
|
|
55
|
+
**Unblock if:** 3+ coaches/runners ask for it
|
|
56
|
+
- Timeline: 2-3 weeks
|
|
57
|
+
- ROI: 3.2 (10x market TAM)
|
|
58
|
+
|
|
59
|
+
### Option C: API & Integrations
|
|
60
|
+
**Unblock if:** 2+ integration partners request API
|
|
61
|
+
- Timeline: 2 weeks
|
|
62
|
+
- ROI: 4.5 (partnership revenue)
|
|
63
|
+
|
|
64
|
+
### Option D: Iterate on MVP
|
|
65
|
+
**Unblock if:** MVP liked but needs UX improvements
|
|
66
|
+
- Timeline: 1-2 weeks
|
|
67
|
+
- ROI: Ensures MVP success before expansion
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Key Success Metrics
|
|
72
|
+
|
|
73
|
+
✓ MVP Phase Success = 5+ coaches tested + clear feedback consensus + actionable Phase 2 direction
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
**See:** `docs/strategy/MVP_VALIDATION_CHECKPOINTS.md` for complete decision framework
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Code Style & Conventions for Kinemotion
|
|
2
|
+
|
|
3
|
+
## Type Hints
|
|
4
|
+
|
|
5
|
+
- **Required**: All functions must have type hints (Pyright strict mode)
|
|
6
|
+
- **Use**: TypedDict for structured data, type aliases for clarity, NDArray\[dtype\] for NumPy
|
|
7
|
+
- **Pattern**: Function signatures include parameter and return type hints
|
|
8
|
+
```python
|
|
9
|
+
def calculate_jump_height(flight_time: float, gravity: float = 9.81) -> float:
|
|
10
|
+
"""Calculate jump height from flight time."""
|
|
11
|
+
return gravity * (flight_time / 2) ** 2
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Naming Conventions
|
|
15
|
+
|
|
16
|
+
- **Functions/Variables**: snake_case (e.g., `process_video`, `contact_time`)
|
|
17
|
+
- **Classes**: PascalCase (e.g., `DropJumpAnalyzer`, `CMJPhaseDetector`)
|
|
18
|
+
- **Constants**: UPPER_SNAKE_CASE (e.g., `DEFAULT_QUALITY_PRESET`, `GRAVITY_CONSTANT`)
|
|
19
|
+
- **Private**: Prefix with underscore (e.g., `_internal_helper`)
|
|
20
|
+
|
|
21
|
+
## Docstrings
|
|
22
|
+
|
|
23
|
+
- **Format**: Google-style docstrings
|
|
24
|
+
- **Include**: Description, Args, Returns, Raises sections
|
|
25
|
+
```python
|
|
26
|
+
def detect_takeoff(poses: NDArray) -> tuple[int, float]:
|
|
27
|
+
"""Detect takeoff frame and velocity from pose sequence.
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
poses: Array of joint positions (N, 17, 3)
|
|
31
|
+
|
|
32
|
+
Returns:
|
|
33
|
+
Tuple of (takeoff_frame, takeoff_velocity)
|
|
34
|
+
|
|
35
|
+
Raises:
|
|
36
|
+
ValueError: If poses array is invalid
|
|
37
|
+
"""
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Code Style
|
|
41
|
+
|
|
42
|
+
- **Line Length**: 100 characters (enforced by Ruff)
|
|
43
|
+
- **Formatting**: Black-compatible (via Ruff)
|
|
44
|
+
- **Indentation**: 4 spaces
|
|
45
|
+
- **Imports**: Organized alphabetically within groups (standard library, third-party, local)
|
|
46
|
+
|
|
47
|
+
## Key Patterns
|
|
48
|
+
|
|
49
|
+
1. **Shared Logic**: Extract to core/ modules (pose.py, filtering.py, etc.)
|
|
50
|
+
1. **Inheritance**: Use for shared behavior across jump types
|
|
51
|
+
1. **Helper Functions**: Create testable, reusable functions
|
|
52
|
+
1. **Function Composition**: Pass functions as parameters for flexibility
|
|
53
|
+
1. **Type Aliases**: Define at module level for complex types
|
|
54
|
+
|
|
55
|
+
```python
|
|
56
|
+
FrameIndex = int
|
|
57
|
+
PoseArray = NDArray[np.float32] # (N, 17, 3)
|
|
58
|
+
MetricsDict = TypedDict("MetricsDict", {"height": float, "contact_time": float})
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Video Processing Gotchas
|
|
62
|
+
|
|
63
|
+
- **Read first frame** for dimensions (not OpenCV properties)
|
|
64
|
+
- **Handle rotation metadata** for mobile videos
|
|
65
|
+
- **Convert NumPy types** for JSON serialization (use `int()`, `float()`)
|
|
66
|
+
|
|
67
|
+
## CMJ-Specific Patterns
|
|
68
|
+
|
|
69
|
+
- **Use signed velocity** (not absolute magnitude)
|
|
70
|
+
- **Backward search** algorithm (find peak first, then search backward)
|
|
71
|
+
- **Lateral view** required for accurate analysis
|
|
72
|
+
|
|
73
|
+
## Drop Jump-Specific Patterns
|
|
74
|
+
|
|
75
|
+
- **Forward search** algorithm (search from ground contact)
|
|
76
|
+
- **Absolute velocity** magnitude
|
|
77
|
+
|
|
78
|
+
## Testing Patterns
|
|
79
|
+
|
|
80
|
+
- **Test organization**: tests/ mirror src/ structure
|
|
81
|
+
- **Fixtures**: Use pytest fixtures for common test data
|
|
82
|
+
- **Mocking**: Mock video I/O and external dependencies
|
|
83
|
+
- **Edge cases**: Test boundary conditions and error cases
|
|
84
|
+
- **Coverage**: Aim for >70% overall, >85% for core algorithms
|
|
85
|
+
|
|
86
|
+
## Commit Format (Conventional Commits)
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
<type>(<scope>): <description>
|
|
90
|
+
|
|
91
|
+
<body (optional)>
|
|
92
|
+
<footer (optional)>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Types** (determines version bump):
|
|
96
|
+
|
|
97
|
+
- `feat`: New feature → minor version bump (0.x.0)
|
|
98
|
+
- `fix`: Bug fix → patch version bump (0.0.x)
|
|
99
|
+
- `perf`: Performance improvement → patch
|
|
100
|
+
- `docs`, `test`, `refactor`, `chore`, `style`, `ci`, `build` → no version bump
|
|
101
|
+
|
|
102
|
+
**Examples**:
|
|
103
|
+
|
|
104
|
+
- `feat: add real-time CMJ analysis streaming`
|
|
105
|
+
- `fix: correct takeoff detection in backward search`
|
|
106
|
+
- `test: add edge case tests for low countermovement`
|
|
107
|
+
- `docs: add triple extension biomechanics guide`
|
|
108
|
+
- `refactor: extract signed velocity calculation`
|
|
109
|
+
|
|
110
|
+
**Important**: Never reference Claude or AI assistance in commit messages. Keep professional and technical.
|
|
111
|
+
|
|
112
|
+
## Quality Gates Before Commit
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
uv run ruff check --fix # Auto-fix linting issues
|
|
116
|
+
uv run pyright # Type check (strict mode)
|
|
117
|
+
uv run pytest # All 261 tests with coverage
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Ensure:
|
|
121
|
+
|
|
122
|
+
- All tests pass
|
|
123
|
+
- No type errors
|
|
124
|
+
- No linting errors
|
|
125
|
+
- Coverage ≥74% (maintain current level)
|
|
126
|
+
- Code duplication \<3%
|