Skip to content

fix(workout-builder): require all inferred exercise equipment - #248

Open
evan188199-tech wants to merge 1 commit into
Snouzy:mainfrom
evan188199-tech:codex/equipment-requirements
Open

evan188199-tech wants to merge 1 commit into
Snouzy:mainfrom
evan188199-tech:codex/equipment-requirements

Conversation

@evan188199-tech

Copy link
Copy Markdown

Summary

  • Infer hidden equipment requirements from exercise names and instructions (bench/chair/step/box/desk surfaces, suspension work, pull-up-bar hanging, and towel resistance).
  • Keep multiple EQUIPMENT tags during CSV import and filter exercises using all required tags, not just any matching tag.
  • Add an idempotent, add-only backfill script that defaults to dry run and writes only with --apply.
  • Add Vitest coverage for equipment inference and all-requirements selection semantics.

Why

Some exercises are tagged only with their primary equipment even though their instructions require another item. For example, a dumbbell bench press can still appear for a dumbbell-only selection because the current query treats multiple equipment tags as an OR match.

Safety

The backfill only appends missing inferred tags and never removes existing tags. The importer drops stale BODY_ONLY from the resolved equipment set only when another material requirement was inferred, so pure bodyweight movements remain unchanged.

Tests

  • pnpm install --frozen-lockfile
  • pnpm test
  • pnpm exec tsc --noEmit
  • Targeted ESLint check
  • git diff --check

@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Workoutcool Team Team on Vercel.

A member of the Team first needs to authorize it.

@evan188199-tech
evan188199-tech force-pushed the codex/equipment-requirements branch from d1bad2f to 6caa63d Compare August 19, 2026 13:39
@evan188199-tech
evan188199-tech marked this pull request as ready for review August 19, 2026 13:40
@evan188199-tech
evan188199-tech force-pushed the codex/equipment-requirements branch from 6caa63d to cd2a535 Compare August 19, 2026 13:46

Copy link
Copy Markdown
Author

@Snouzy Could you please approve the fork workflow run and take a look when you have a chance? The branch is rebased on the latest main, and local pnpm test, pnpm exec tsc --noEmit, targeted ESLint, and git diff --check all pass.

This branch has not been deployed

No deployments
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.

1 participant