Practitionist / Practitionist/elluminar_web
Trust & integrity suite — plagiarism/AI detection, proctoring, authorship verification
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 17h 2m
- Merged PRs (30d)
- 18
Description
Why / Context
PRD §7.2C: plagiarism/AI-generation detection and browser-locked assessments protect "the credibility of certificates and mentor time alike" — the certificate's value IS the business as the marketplace scales (PRD §12: AI-shortcut integrity is the core threat to 'verified proof of skill'). Teardown §5.3: project-authorship verification as a headline trust claim is ownable whitespace (AVNI verifies interviews, not authorship; Crio has policy but no buyer-facing claim).
Schema already in place — NO migration required
IntegrityFlag(subject types incl. ASSIGNMENT_SUBMISSION/MILESTONE_SUBMISSION/QUIZ_ATTEMPT/DEFENSE/CREDENTIAL; kinds PLAGIARISM/AI_GENERATED/SIMILARITY/PROCTOR_VIOLATION/MANUAL_REPORT; status workflow)ProctorRecord(quizAttempt 1:1, config/events/verdict)Credential.revokedAt/revokeReason+ public verify page reflects revocation (MVP M11)Quiz.proctoredflag;ProjectReview.aiMetadatacan carry authorship signals
Implementation plan
- Similarity pipeline: on milestone/assignment submission, background function computes cross-corpus similarity (MOSS-style token fingerprinting for code via a service like Codequiry/MeasureOfSoftwareSimilarity self-host decision doc) →
IntegrityFlag(kind: SIMILARITY, score)above threshold. - AI-generation signals: stylometry + commit-history heuristics (single-dump repos, no iteration) + optional detector API; recorded as advisory flags — never auto-fail (documented policy: flags inform mentors/defense, humans decide).
- Authorship verification claim: combine defense verdict (issue #3) + integrity flags + commit cadence into a per-credential "authorship verified" badge on the verify page + portfolio (the marketable trust claim).
- Proctored quizzes: browser-lock mode (fullscreen enforcement, tab-blur/copy-paste events, webcam snapshot opt-in per config) writing
ProctorRecord.events; verdict review UI for admins; enable per Quiz.proctored for certification exams. - Review workflows: admin integrity queue (filter by kind/status/score), resolution actions (dismiss/confirm), confirmed flags → mentor notification, resubmission requirement, or credential revocation (existing revoke flow) per severity matrix.
- Learner-facing due process: notice of confirmed flags, appeal path (thread in admin queue), policy pages (with issue #24).
- Metrics: flag rates by course/project, false-positive tracking from dismissals.
Acceptance criteria
- Two near-identical submissions in a project corpus both get SIMILARITY flags with linked evidence
- Proctored quiz records blur/fullscreen-exit events; verdict reviewable; VIOLATION blocks auto-pass pending review
- Confirmed integrity violation can revoke a credential; verify page shows revoked state
- Flags never auto-fail without human confirmation (policy enforced in code paths)
- Credential pages show "authorship verified" only when defense + clean flags criteria met
Dependencies / sequencing
- MVP M9/M10/M11; issue #3 (defense) feeds the authorship claim
- Policy copy coordinates with issue #24
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start by mapping the existing IntegrityFlag, ProctorRecord, Credential revocation, Quiz.proctored, and ProjectReview.aiMetadata flows. Read issue #3 for defense sequencing and issue #24 for policy dependencies. Done means the listed similarity, proctoring, review, authorship, revocation, and human-confirmation acceptance criteria are implemented together.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, frontend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 20/100