Build bounded lexical indexes of supported course text and text PDFs
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, node.js
Research direction
Read AGENTS.md and docs/PROJECT_CONTEXT.md, then review #38 and #37 because their contracts must land first. Start with src/content.js and the HTML, PDF, and folder readers; the issue also calls for a new index/chunk model. Use the synthetic MK/EN/SQ corpus to check bounded chunks, citations, access boundaries, extraction scope, and unsupported sources; follow the listed offline and runtime checks.
Written by the indexing model from the issue text.
Description
Part of #28 · Target: Retrieval / v0.4
Goal and scope
Index explicitly selected enrolled courses and supported documents with stable resource/page citations. Use Unicode-aware lexical tokens and bounded chunks; retain extraction scope, freshness and unsupported/partial sources.
Implementation starting points
new index/chunk model, src/content.js, HTML/PDF/folder readers. 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
Depends on #38, #37. Discuss the design before starting implementation; dependent contracts must land first.
Out of scope
No embeddings/vector service, OCR, external crawling or silently indexing every course.
Acceptance criteria and test plan
Synthetic MK/EN/SQ corpus tests cover PDF pages, HTML tables, duplicate sources, inaccessible/non-text material and input limits. Chunks cannot cross account boundaries; each hit traces to an accessible source/page and extraction version.
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
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
help wanted Idea 💡 wdio-cli
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
webdriverio/webdriverio#16361 · 2 comments ·
Maintainers usually reply within 1 day
-
clientV2: Application Info header separators show as missing-character boxes without a CJK fontOpenbug new-client
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
NUWCDIVNPT/stig-manager#2285 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Fei2411/DeepSeek-Bot#922 · 1 reaction ·
-
Workers AI integration drops output of non-streaming chat responses in the OpenAI format (`choices`)OpenBug Cloudflare Workers Spans
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
getsentry/sentry-javascript#26120 · 1 comment ·
Maintainers usually reply within 1 day