Min-gap rule edge cases: TBA/online, lecture + lab, mixed term parts
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 75/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- testing
Research direction
Start with src/lib/generation/rules/minGap.test.ts and the existing src/lib/generation/gapMinutes.test.ts pattern; run tests through generateSchedules with minGapMinutes set. Check the date range helpers in src/lib/generation/noConflicts.ts for mixed term parts, and wait for or pull in #781 before running these cases. Add one named test for each listed edge case, make any needed small fix in minGap.ts, and run pnpm test to confirm they pass.
Written by the indexing model from the issue text.
Description
What to build
Pin down the edge cases of the minimum-gap rule with tests, and fix the rule where a test fails. The rule itself is the issue "Min-gap hard rule" (#781). This one needs no new design, only tests and small fixes. Write the tests through generateSchedules with minGapMinutes set (as gapMinutes.test.ts does), so they do not depend on the rule file layout. If #781 has not merged yet, pull its branch or wait for it before running them; whoever merges second rebases. Cases:
- TBA/online: a meeting with
startTime/endTimeofnullis never part of a gap. - Lecture + lab: a course's lecture and lab on the same day are two meetings of two sections that both get chosen; the gap between them counts like any other pair.
- Mixed term parts: two sections that never meet in the same weeks (date ranges do not overlap, for example a first-half and a second-half session) are never compared, even on the same weekday.
- Same section, several meetings (for example MWF): compare within each weekday only.
The file it touches
src/lib/generation/rules/minGap.test.ts (and minGap.ts if a case fails). Date range helpers: noConflicts.ts.
Acceptance check (pnpm test only)
One test per case above, each named for the case, all passing. Say in the PR if you changed minGap.ts and why.
New here? Setup is in docs/getting-started/setup.md; the first-PR walk-through is docs/getting-started/first-contribution.md.
- Dominant language
- TypeScript
- Stars
- 19
- Forks
- 94
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DevDogsUGA/DogDays
-
import-export
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
DevDogsUGA/DogDays#788 ·
-
import-export
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
DevDogsUGA/DogDays#785 ·
-
Frontend time-gaps
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
DevDogsUGA/DogDays#784 ·
-
good first issue polish
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
DevDogsUGA/DogDays#780 ·
-
good first issue polish
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
DevDogsUGA/DogDays#779 ·
All issues in DevDogsUGA/DogDays
Similar issues
-
affected/v17 affected/v18 area/frontend type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
umbraco/Umbraco-CMS#24186 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
better-auth/better-auth#11723 · 1 reaction ·
Maintainers usually reply within 1 day
-
area: docs difficulty: easy documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Worker-Erstellung bricht langsame Git-Worktree-Checkouts nach 20 Sekunden abPossibly taken @KajoVanBuyten claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
AgentSystemLabs/agent-office#367 ·
Maintainers usually reply within 1 day