Repository navigation
Admin Mediation Layer — Why Open Paws Sits Between Students and Clients #116
LarytheLord
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Related Issue
This discussion provides deep context for issue #105 (Admin QA Mediation Layer). Read this before building that issue.
The Problem Without Mediation
Without a mediation layer, the submission flow looks like this:
Problems with this:
This is not hypothetical. Every training program that deploys learners on real client work without a QA layer has this problem.
The Solution: Open Paws in the Middle
The client never knows about
pending_admin_review. From their perspective, submissions appear in the review queue when they are ready to be reviewed. The messy QA negotiation is invisible to them.Who This Applies To
Why does INTERN track also go through QA? Even experienced interns can produce work that needs mediation. Open Paws is still accountable to the client. The QA gate stays regardless of intern skill level.
Why does OPEN track skip it? OPEN track is the professional marketplace. Adventurers who reach D+ rank have already been vetted through multiple quest completions. They deal with clients directly. Adding a QA gate to OPEN track would undermine the trust-via-rank model.
The Admin QA Queue
Admin sees a real-time queue of all submissions waiting for review:
Oldest first (FIFO) — prevents submissions from sitting indefinitely.
The Two QA Outcomes
Approve
Admin clicks Approve. Assignment moves from
pending_admin_review→review. The company/client now sees the submission in their review queue and can approve/reject it with the normal review flow.No notes required. The message to the client is implicit: "this is ready for your review."
Reject
Admin clicks Reject. Opens a notes modal. Notes are required — the student needs to know specifically what to fix.
Assignment moves to
needs_rework.revisionCountincrements (same as a client rejection).The 2-revision cap still applies. If the student has already used up 2 admin rejections, admin sees the escalation path instead of the reject form.
What Admin Notes Look Like
Admin rejection notes are stored in
submission.reviewNotesas a JSON array, same as company revision notes:[ { "id": "uuid", "timestamp": "2026-03-18T11:00:00Z", "author": "Admin", "note": "The CSS changes break on mobile. Test at 375px width. Also the PR is missing a description — add a summary of what you changed and why." } ]The student sees this in their assignment detail view.
What the Adventurer Sees
The adventurer sees their assignment status as "Under QA Review" (not "Pending Admin Review" — the wording should not expose internal process).
If admin rejects: status changes to "Needs Revision" and the notes appear.
Why Admin Rejection Counts Against the Revision Cap
When admin rejects,
revisionCountincrements. This might seem harsh — the student never even got client feedback. But:If this ever becomes a problem in practice (admin being too strict), the
maxRevisionsfield on each quest can be increased by admin for specific quests.Interaction with the Party System
When a squad (party) submits work, the
pending_admin_reviewgate still applies. Admin sees one submission from the quest — not N submissions from N members. The party leader is responsible for ensuring the submission represents the whole party's work.This is intentional: the party system is a delivery unit, and the delivery unit submits as one.
Phase 3 Consideration
In Phase 3, we may want to:
None of these are in scope for Phase 2 (issue #105). Build only what is described in the issue spec.
All reactions