Audit request, pagination, response and worker resource limits

Open
#47 0 comments 0 reactions 0 assignees View on GitHub

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, playwright

Research direction

Read AGENTS.md and docs/PROJECT_CONTEXT.md, then trace request handling in src/moodle.js, the readers, worker and job adapters; inspect the protocol tests and existing authorization, safe-error and synthetic-fixture patterns. Start by inventorying request, time, byte, output and cleanup bounds, then add mocked adversarial coverage for the listed failure cases. Done means confirmed gaps are closed, compatibility and buffering limits are documented, and the specified offline checks are reported.

Written by the indexing model from the issue text.

Description

area:backend area:docs help wanted priority:medium type:feature

Part of #28 · Target: Reliability / v1

Goal and scope

Inventory all public-tool request/time/byte/output bounds and cleanup behavior. Close confirmed gaps, ensure serialized session operations recover safely, and distinguish network/session/unsupported failures without credential retries. Include upcoming adapters/jobs in the audit checklist.

Implementation starting points

src/moodle.js, readers, worker, job adapters, protocol tests. 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 stress testing faculty production services, endless automatic login retries or unsupported memory-sandbox claims.

Acceptance criteria and test plan

Mocked adversarial tests cover pagination loops, redirects, oversized bodies, worker failures, cancellation and resource disposal. MCP stdout stays valid; diagnostics remain safe. Document buffering/native-memory limits and compatibility impact of each concrete fix.

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 20m
Merged PRs (30d)
14

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mahmutmft/courses-mcp

All issues in mahmutmft/courses-mcp

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.