Skip to content

feat: add Code of Conduct appeals process - #1733

Merged
RUKAYAT-CODER merged 1 commit into
rinafcode:mainfrom
pelumixxril:governance/coc-appeals-process
Sep 29, 2026
Merged

RUKAYAT-CODER merged 1 commit into
rinafcode:mainfrom
pelumixxril:governance/coc-appeals-process

Conversation

@pelumixxril

Copy link
Copy Markdown

Overview

Adds Governance/COC_APPEALS.md, the missing versioned reference for how a Code of Conduct enforcement decision may be appealed.

Today the project's conduct standard is the three-line summary in CONTRIBUTING.md §1, and the only appeal language anywhere in Governance/ is policies/REVOCATION.md §4 — which covers privilege revocation only. A warning, a content removal, a channel mute, or a suspension had no stated appeal path, no stated reviewer, and no stated deadline. This change closes that gap.

Related Issue

Issue #1594 — "Add a Code of Conduct appeals process for TeachLink Backend".

Changes

New governance document

  • [ADD] Governance/COC_APPEALS.md
    • §1 Scope — which enforcement decisions are appealable (warning, content removal, mute, suspension, ban, and conduct-based privilege revocation) and the explicit boundary against ordinary review disagreement, which belongs in processes/CONFLICT_RESOLUTION.md.
    • §2 Aims and principles — reasoned decisions, independent review, no retaliation, reviewable proportionality, confidentiality by default, and stated deadlines.
    • §3 Who may appeal — the subject of a sanction always has standing regardless of role or tenure; a reporter has a distinct and narrower no-action review under §7; a third party has none.
    • §4 Independent review requirement — the load-bearing section. Six binding conditions: no prior involvement in the decision, no reporting relationship to either side, no direct interest in the outcome, three members where available, a declared recusal path, and no single-member decisions. It also states what happens when no unconflicted panel can be assembled internally.
    • §5 Appeal steps — six stages with an owner and a deadline each (file → acknowledge → assemble and disclose the record → panel review → written decision → final escalation), the closed list of appeal grounds, the four outcomes (Upheld / Modified / Overturned / Remitted), and the rule that filing does not suspend the sanction.
    • §6 Confidentiality and records — who sees the appeal record, what is logged in DECISION_LOG.md, retention, and retaliation as itself a violation.
    • §7 Review of a no-action decision — the reporter's one-shot review, confined to whether the decision not to act was reasonable on the evidence.
    • §8–§9 — relationship to other governance documents, and a change log.

Verification Results

Scope check
------------
Files added:      1  (Governance/COC_APPEALS.md)
Files modified:   0
Paths outside Governance/: none

Link check
----------
All 12 relative links in the new document were resolved against the working
path and exist on disk:
  ../CONTRIBUTING.md                          OK
  DECISION_LOG.md                             OK
  policies/COMMUNICATION_NORMS.md             OK
  policies/REVOCATION.md                      OK
  processes/CONFLICT_RESOLUTION.md            OK
  processes/OBJECTION_HANDLING.md             OK

Build impact
------------
Documentation only. Governance/ is outside the Jest root (jest.config.js sets
rootDir: 'src' and testRegex '.*\.spec\.ts$'), outside both TypeScript
programs (tsconfig.json includes only src/** and test/**), and already matched
by the '*.md' rule in .dockerignore. No code, config, schema, or dependency is
touched, so no existing test or build step is affected.

Regression tests
----------------
Not applicable: this is a documentation-only change and adds no executable code.
Acceptance Criteria Status
Governance/COC_APPEALS.md created ✅ Added
Who may appeal is documented ✅ §3, including reporter standing and the absence of third-party standing
Appeal steps are specified ✅ §5 — six stages, each with an owner and a deadline
Independent review requirement is defined ✅ §4 — six binding conditions plus the no-internal-panel fallback
Scope limited to at most two files ✅ One file added, none modified
No changes outside the Governance/ folder ✅ Verified above
No regression in existing functionality ✅ Documentation only; Governance/ is outside the build and test roots
Change is documented ✅ §8 maps the document against the other governance references; §9 records the v1.0.0 change

Closes #1594

Adds Governance/COC_APPEALS.md, the versioned reference for appealing an
enforcement decision taken under the Code of Conduct: standing, the six-step
appeal with deadlines, the binding independent-review requirement, outcomes,
and confidentiality.

Closes rinafcode#1594
@drips-wave

drips-wave Bot commented Sep 28, 2026

Copy link
Copy Markdown

@pelumixxril Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor

Thank you for contributing to the project

@RUKAYAT-CODER
RUKAYAT-CODER merged commit b55a6ef into rinafcode:main Sep 29, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a Code of Conduct appeals process for TeachLink Backend

2 participants