Store explicit private lab-group and term preferences
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript, nodejs
- Domain
- ai-infra-agents, backend
Research direction
Read AGENTS.md and docs/PROJECT_CONTEXT.md, then inspect src/preferences.js, src/choices.js and src/labs.js to understand current preference, choice and lab behavior. Define precedence, conflicts and reset behavior for manual values and saved-choice evidence before implementing. Done when synthetic tests cover isolation, atomic writes, migration and recovery, reset, stale choices, conflicting terms and missing fields, and the agent can explain group selection.
Written by the indexing model from the issue text.
Description
Part of #28 · Target: Scheduling / v0.5
Goal and scope
Extend private account/course preferences for explicit group/term selection where choices are absent or ambiguous. Preserve user-declared provenance and distinguish manual values from current saved-choice evidence. Define precedence/conflict/reset behavior before implementation.
Implementation starting points
src/preferences.js, src/choices.js, src/labs.js. Follow AGENTS.md and docs/PROJECT_CONTEXT.md; reuse existing authorization, safe-error and synthetic-fixture patterns. New runtime dependencies need a documented reason.
Dependencies and readiness
Ready to discuss/start independently against current master.
Out of scope
No inference from names/rosters, Moodle voting, silently overwriting choices, or weekly recurrence.
Acceptance criteria and test plan
Synthetic tests cover account isolation, atomic writes, schema migration/recovery, reset, stale choices, conflicting manual/poll terms and missing fields. Agent can explain which source selected a group; incompatible evidence remains explicit.
Run the relevant offline tests, npm run check and git diff --check; runtime changes also require npm test and npm audit. Report checks not run. No faculty credentials or private course material are required for a contribution.
Contributing
Comment here before starting so the maintainer can coordinate the approach and avoid duplicate work. Fork the repository, branch from master, and open a focused PR referencing this issue. No assignee or delivery deadline is set; required checks and review apply.
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 25m
- Merged PRs (30d)
- 13
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 mahmutmft/courses-mcp
-
area:docs good first issue help wanted priority:medium type:chore
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
mahmutmft/courses-mcp#51 ·
Maintainers usually reply within 1 day
-
area:backend area:docs help wanted priority:high type:chore
Difficulty 4/5 3-5 days Newbie friendliness 57/100
mahmutmft/courses-mcp#50 ·
Maintainers usually reply within 1 day
-
area:backend area:docs help wanted priority:medium type:feature
Difficulty 4/5 3-5 days Newbie friendliness 48/100
mahmutmft/courses-mcp#49 ·
Maintainers usually reply within 1 day
-
area:backend area:docs priority:high status:blocked type:chore
Difficulty 5/5 Over a week Newbie friendliness 25/100
mahmutmft/courses-mcp#48 ·
Maintainers usually reply within 1 day
-
area:backend area:docs help wanted priority:medium type:feature
Difficulty 5/5 Over a week Newbie friendliness 35/100
mahmutmft/courses-mcp#47 ·
Maintainers usually reply within 1 day
All issues in mahmutmft/courses-mcp
Similar issues
-
502 on Node 26: ERR_INVALID_ARG_VALUE: Setting the TLS ServerName to an IP address is not permittedOpen
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
github/paste-markdown#129 · 2 reactions ·
-
bug
Difficulty 1/5 1-3 hours Newbie friendliness 83/100
obsidianmd/obsidian-help#1164 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
richardcase/skills#26 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 1 day