From 74b474c35a1952a5ac2e5da9aaa83cf2840b59bc Mon Sep 17 00:00:00 2001 From: Indra Wahyudi Date: Thu, 4 Dec 2025 09:34:11 +0700 Subject: [PATCH 1/3] docs: enforce Professional Audit Conduct in CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 79 ++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 44 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index b5a1ca5..3ac982f 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,56 +1,47 @@ -# Code of Conduct +# Codeijoe™ Professional Conduct Protocol -## The "Professional" Clause -Codeijoe is a simulation of a high-standard engineering environment. -* **Toxicity is banned:** Harassment, elitism, or discrimination results in an instant ban. -* **Laziness is discouraged:** Asking questions that can be answered by reading the README is considered noise. +> **Status:** Active Enforcement +> **Applicability:** All Repositories, Pull Requests, and Issues. -We are here to build, not to argue. +## 1. The Core Philosophy +Codeijoe is not a social club; it is a **Professional Audit Simulation**. +We value **Integrity** over Comfort, and **Truth** over Politeness. ---- -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex, gender identity and expression, level of experience, education, socioeconomic status, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +While we strictly enforce a harassment-free environment, we do not enforce "toxic positivity". Engineering reviews are critical, direct, and factual. -Examples of unacceptable behavior by participants include: +## 2. Standards of Conduct -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting +### ✅ Required Behavior (The Professional) +* **Accountability:** Own your code. If you make a mistake, admit it and fix it. +* **Direct Communication:** Be concise. Don't fluff your sentences. +* **Reasoning:** Explain *why* you made a decision, not just *what* you did. +* **Respect for Time:** Read the documentation (`README.md`, `CONTRIBUTING.md`) before asking questions. -## Our Responsibilities +### ❌ Prohibited Behavior (The Amateur) +* **AI Spamming:** Submitting unreviewed, auto-generated code just to "pass". This results in an immediate **Permanent Ban**. +* **Begging for Hints:** Opening Issues asking "How do I solve this?". This is an audit, not a tutorial. +* **Solution Leaking:** Posting full answers in public discussions. This ruins the proving ground for others. +* **Harassment:** Any form of sexism, racism, or personal attacks. We have zero tolerance for hate speech. -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. +## 3. The "No Spoon-feeding" Clause +In the industry, your Senior Engineer is busy. +* **It is NOT a violation** of this Code of Conduct for a Maintainer to close your Issue with "Read the Manual" or "Debug it yourself." +* This is not hostility; this is the **Standard of Independence** we are testing for. -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. +## 4. Enforcement Strategy -## Scope +### The "One Strike" Policy for Integrity +* **Cheating / AI Spam / Tempering with Tests:** Immediate Ban. No appeal. -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. +### The "Three Strike" Policy for Behavior +* **Unprofessional Conduct (Trolling/Spamming):** + 1. **Warning:** Comment deleted & formal warning. + 2. **Suspension:** 30-day block from the organization. + 3. **Ban:** Permanent expulsion. -## Enforcement +## 5. Reporting +If you witness genuine harassment or abuse (not just strict code review), report it directly to the Ops Commander at **iw@ijoe.eu.org**. +* *Note: Complaints about "The test is too hard" or " The bot is mean" will be ignored.* -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [INSERT EMAIL ADDRESS]. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html][version] - -[homepage]: https://www.contributor-covenant.org -[version]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html +--- +*Adapted for the Codeijoe Audit Authority. This document supersedes the standard Contributor Covenant.* \ No newline at end of file From 2e69d8517fa41eb42edb1d04d26955d757aa2c1f Mon Sep 17 00:00:00 2001 From: Indra Wahyudi Date: Thu, 4 Dec 2025 09:48:53 +0700 Subject: [PATCH 2/3] feat: update governance docs and remove legacy gatekeeper --- .github/workflows/gatekeeper.yml | 125 ------------------------------- .governance_ref | 1 + BRANDING.md | 28 ++++--- CONTRIBUTING.md | 42 ++++++----- GOVERNANCE.md | 118 ++++++++++++++++++++++------- 5 files changed, 126 insertions(+), 188 deletions(-) delete mode 100644 .github/workflows/gatekeeper.yml create mode 120000 .governance_ref diff --git a/.github/workflows/gatekeeper.yml b/.github/workflows/gatekeeper.yml deleted file mode 100644 index 2b7a78f..0000000 --- a/.github/workflows/gatekeeper.yml +++ /dev/null @@ -1,125 +0,0 @@ -name: Codeijoe Gatekeeper - -# Trigger hanya saat ada Pull Request ke branch main -on: - pull_request: - branches: [ "main" ] - paths: - - 'src/**' # Hanya jalan jika folder src disentuh - - 'tests/**' # Monitor folder test untuk deteksi kecurangan - -permissions: - contents: read - pull-requests: write # Izin untuk bot komen di PR - -jobs: - validate-submission: - name: Verify Challenger's Work - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - # --------------------------------------------------------- - # STEP 1: ANTI-CHEAT CHECK - # Cek apakah Challenger mengubah file di folder tests/ - # --------------------------------------------------------- - - name: Detect Cheating (Test Modification) - id: anti_cheat - uses: tj-actions/changed-files@v41 - with: - files: tests/** - - - name: Block Cheaters - if: steps.anti_cheat.outputs.any_changed == 'true' - run: | - echo "::error::VIOLATION DETECTED: You modified the test files!" - echo "Do not touch files in 'tests/'. Only edit files in 'src/'." - exit 1 - - # --------------------------------------------------------- - # STEP 2: SETUP & TEST - # Jalankan environment (misal Node.js) dan Test Runner - # --------------------------------------------------------- - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '18' - - - name: Install Dependencies - run: npm ci - - - name: Run The Gauntlet (Unit Tests) - id: run_tests - # Pastikan script 'test' ada di package.json - run: npm test > test-results.txt 2>&1 - continue-on-error: true # Supaya kita bisa handle error message di step berikutnya - - # --------------------------------------------------------- - # STEP 3: AUTOMATED JUDGMENT - # Bot memberi feedback langsung - # --------------------------------------------------------- - - name: Judge The Result - uses: actions/github-script@v7 - with: - script: | - const fs = require('fs'); - // Cek apakah file hasil test ada, jika tidak, anggap fail - let testResult = ''; - try { - testResult = fs.readFileSync('test-results.txt', 'utf8'); - } catch (e) { - testResult = 'Test execution failed completely (No output generated).'; - } - - const outcome = '${{ steps.run_tests.outcome }}'; - - let body = ''; - - if (outcome === 'success') { - body = '### ✅ MISSION ACCOMPLISHED\n\n' + - 'System status: **PASSED**.\n' + - 'Great job, Challenger. The automated gate is open.\n' + - '@codeijoe/maintainers will now review your code quality/style.\n\n' + - '*(Wait for final Merge approval)*'; - - // Tambah label otomatis - try { - await github.rest.issues.addLabels({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.issue.number, - labels: ['status:passed', 'ready-for-review'] - }); - } catch (e) { console.log('Label error:', e); } - - } else { - body = '### ❌ MISSION FAILED\n\n' + - 'System status: **REJECTED**.\n' + - 'Your code did not pass the automated tests. Check the logs below:\n\n' + - '
Expand Test Logs\n\n' + - '```\n' + testResult.slice(0, 2000) + '...\n```\n' + - '\n
\n' + - '\n**Action Required:** Fix your code and push again. Do not ask for review until this turns Green.'; - - // Hapus label passed jika ada (re-submit kasus) - try { - await github.rest.issues.removeLabel({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.issue.number, - name: 'status:passed' - }); - } catch (e) {} // Ignore error if label doesn't exist - } - - await github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: body - }); - - - name: Fail Workflow if Tests Failed - if: steps.run_tests.outcome != 'success' - run: exit 1 \ No newline at end of file diff --git a/.governance_ref b/.governance_ref new file mode 120000 index 0000000..1bee5f6 --- /dev/null +++ b/.governance_ref @@ -0,0 +1 @@ +../.governance_ref \ No newline at end of file diff --git a/BRANDING.md b/BRANDING.md index 34e068b..db60dc5 100644 --- a/BRANDING.md +++ b/BRANDING.md @@ -1,26 +1,24 @@ # Codeijoe™ Brand Identity & Guidelines -> **Tagline:** "Where AI falls short." -> **Identity:** The Engineering Proving Ground. +> **Tagline:** "Validate The Human, Audit The Machine." +> **Identity:** The Engineering Audit Authority. > **Since:** November 5, 2024 (First Commercial Use). ## 1. The Core Narrative -Codeijoe exists to validate the **human edge** in software engineering. -* **AI (LLMs)** are excellent at syntax and boilerplate. -* **Engineers** are required for context, architectural decisions, and maintaining legacy systems. - -**Codeijoe tests for Context & Decision Making.** We do not test for memorized syntax. +Codeijoe exists to separate **Engineers** (who take liability) from **Prompters** (who generate code). +* **The Crisis:** "Vibe Coding" has flooded the industry with fragile, AI-generated software. +* **The Solution:** We provide "Brownfield Missions"—broken, legacy codebases that require Human Context to fix. ## 2. Terminology Enforcement (Strict) -To maintain the high-stakes environment, the following terminology replacement is mandatory across all repos: +To maintain the "High Stakes" environment, use these terms: -| BANNED TERM ❌ | REQUIRED TERM ✅ | REASON | +| BANNED TERM ❌ | REQUIRED TERM ✅ | CONTEXT | | :--- | :--- | :--- | -| **Mentorship** | **Proving Ground / Verification** | We do not hold hands; we test skills. | -| **Mentee/Student** | **Challenger** | Passive vs. Active mindset. | -| **Teacher/Mentor** | **Reviewer/Maintainer** | Objective code review, not subjective teaching. | -| **Homework/Task** | **Mission / Protocol** | Industrial framing over academic framing. | +| **Coding Challenge** | **Audit Mission** | It's not a game; it's a forensic audit. | +| **Solution / Answer** | **Trade-off Analysis** | There is no single right answer, only choices. | +| **Student** | **Auditor / Challenger** | Active liability vs. Passive learning. | +| **Teacher** | **The System** | We verify; we don't teach. | ## 3. Visual & Voice -* **Tone:** Stoic, Professional, "The Mountain Engineer". No fluff, no excessive emojis. -* **Logo Usage:** The name "Codeijoe" must always carry the **™** symbol on its first mention in documentation to assert Common Law Trademark rights. \ No newline at end of file +* **Tone:** Forensic, Industrial, "The Auditor". +* **Trademark:** The name "Codeijoe" must always carry the **™** symbol on its first mention in formal docs. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6c93229..f481a44 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,25 +1,27 @@ -# Rules of Engagement +# Rules of Engagement: The Audit Protocol -**Welcome to the Proving Ground.** -You are here to test your skills, not to be taught. +**Welcome to the Authority.** +You are here to validate your Engineering Judgment, not just your syntax. -## The Workflow -1. **Fork** the Challenge Repository. -2. **Solve** the problem locally. -3. **Test** locally. If `npm test` fails locally, **DO NOT** open a PR. -4. **Submit PR** only when you are confident. +## 1. The "Human-Only" Workflow +1. **Fork** the Mission Repository. +2. **Audit** the codebase. Find the trap (Logic Error, Security Hole, or Performance Bomb). +3. **Fix** the issue locally. +4. **Submit PR** to the `main` branch. -## The "Zero-Touch" Policy -We utilize aggressive automation. -* If your PR fails the CI/CD Pipeline (Linter/Tests), it will be **automatically ignored** by humans. -* Do not tag Maintainers asking "Why did my test fail?". Read the logs. Debugging is part of the challenge. +## 2. The Voight-Kampff Rule (CRITICAL) +Codeijoe uses an automated **Reasoning Check**. +* We do not care if your code works. We care if you know **WHY** it works. +* **Mandatory:** In your Pull Request description, you MUST fill out the **"Trade-off Analysis"** section. +* **Warning:** If you provide a generic AI summary (e.g., "I fixed the bug"), our Gatekeeper Bot will **Auto-Reject** your submission as "AI Slop". Write like an Engineer. -## Legal & IP Rights -By submitting a Pull Request to Codeijoe: -1. You certify that the code is your original work. -2. You grant Codeijoe a perpetual, world-wide, royalty-free license to use, display, and distribute your contribution under the **Apache License 2.0**. -3. You retain moral rights to claim this work in your personal portfolio. +## 3. The "Zero-Touch" Policy +We utilize aggressive automation. +* **Fail Fast:** If your PR fails the CI/CD Pipeline (Tests/Linter), it is ignored. +* **No Spoon-feeding:** Do not open Issues asking "Why did this fail?". Read the logs. Debugging is the test. -## Prohibited Behavior -* **Spoilers:** Do not post full solutions in Issues/Discussions. -* **Begging:** Do not ask for easy passes or manual fixes. +## 4. Legal & IP Rights +By submitting a Pull Request: +1. You certify that the logic is your own. +2. You grant Codeijoe a license to use your submission for data analysis. +3. You retain moral rights to use this work in your portfolio. \ No newline at end of file diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 8b3dad2..68493aa 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,37 +1,99 @@ -# Codeijoe™ Governance Model +--- +# Codeijoe™ Governance & Intellectual Property Constitution -> **Authority:** Benevolent Dictator For Life (BDFL) -> **Philosophy:** Automated Engineering Proving Ground -> **Established:** 2024 +> **Version:** 3.0.0 (The Audit Authority) +> **Effective Date:** December 2025 +> **Jurisdiction:** Global (via GitHub) & Republic of Indonesia (Legal Domicile) +> **Owner:** Indra Wahyudi (Common Law Trademark Holder) -## 1. The Power Structure -Codeijoe is not a democracy; it is a meritocratic dictatorship designed for speed and consistency. +--- -### The Ops Commander (BDFL) -* **Who:** The Project Founder. -* **Power:** Absolute veto on technical architecture, brand direction, and governance policies. -* **Role:** To protect the "Proving Ground" integrity from dilution (e.g., lowering standards for ease). +## 1. PREAMBLE: THE AUDIT AUTHORITY +Codeijoe is not an open-source "community project" in the traditional sense. It is an **Engineering Audit Authority** operated under a **Benevolent Dictator For Life (BDFL)** model. -### The Maintainers (Gatekeepers) -* **Who:** Invited contributors who have proven their "Engineering Judgment." -* **Power:** Merge rights, triage issues, and review code quality. -* **Restriction:** Cannot alter the Core Constitution or Licensing without BDFL ratification. +We provide a specialized service: **Validating Human Engineering Judgment in the Age of AI.** +To maintain the integrity of our "Audit Protocols" (The Traps), strict control over Intellectual Property (IP) and Brand usage is required. -### The Challengers (Community) -* **Who:** Any developer submitting code to prove their skills. -* **Rights:** Fork, Submit PR, Propose RFCs. -* **Role:** To solve missions, not to demand tutorials. +## 2. THE POWER STRUCTURE -## 2. Decision Making: The RFC Process -Major changes (e.g., new language tracks, changing CI/CD logic) must follow the **Request for Comments (RFC)** protocol. +### 2.1 The Ops Commander (BDFL) +* **Authority:** **Indra Wahyudi**. +* **Powers:** Absolute veto on technical architecture, mission design, and licensing. +* **Succession:** Defined privately by the Owner. -1. **Open Issue:** Create an issue with label `RFC`. -2. **Proposal:** Detail the *Context*, *Problem*, and *Solution*. -3. **Debate:** Community discusses technical merits. -4. **Verdict:** BDFL issues a final ruling: `ACCEPTED`, `REJECTED`, or `DEFERRED`. +### 2.2 The Maintainers (Senior Auditors) +* **Role:** Enforce the "Reasoning Check" on submissions. +* **Restriction:** Cannot modify the "Hidden Tests" or "Business Logic Traps" without BDFL approval. -*Note: "Bike-shedding" (arguing over trivial details) will result in the issue being locked.* +### 2.3 The Auditors (Challengers) +* **Role:** Submit "Trade-off Analysis" and code fixes. +* **Rights:** Fork for personal "Proof of Work". +* **Prohibition:** Cannot redistribute Mission Solutions/Spoilers publicly. -## 3. Enforcement -* Automation is the first line of defense. If CI fails, Governance does not apply—the code is simply invalid. -* Humans only review code that has passed the automated gauntlet. \ No newline at end of file +--- + +## 3. INTELLECTUAL PROPERTY & LICENSING (THE BUSINESS MODEL) + +This is a **Hybrid Licensing Model** designed to protect the commercial value of Codeijoe while allowing personal use. + +### 3.1 The Engine (Open Source) +* **Component:** The CI/CD Workflows (`.github/workflows`), Scripts (`gatekeeper.js`), and Runner Logic. +* **License:** **Apache License 2.0**. +* **Intent:** You may study how our automation works. You may contribute to the toolchain. + +### 3.2 The Content & Traps (Proprietary / Restricted) +* **Component:** The specific **"Missions"**, **"Protocol Scenarios"**, **"Hidden Tests"**, **"Broken Code Patterns"**, and **"Documentation Logic"**. +* **License:** **CC BY-NC-ND 4.0** (Attribution - NonCommercial - NoDerivatives). + * **❌ NO COMMERCIAL USE:** You CANNOT use Codeijoe Missions for paid bootcamps, corporate hiring tests, or employee training without a Commercial License from Indra Wahyudi. + * **❌ NO DERIVATIVES:** You CANNOT fork a Mission, change the branding to "MyBootcamp", and release it. +* **Intent:** The value of Codeijoe lies in the *design of the trap*. This is our commercial asset. + +### 3.3 User Submissions (The Inbound License) +By submitting a Pull Request (PR) to Codeijoe: +1. You grant Codeijoe a **perpetual, royalty-free license** to use your code and reasoning for data analysis (e.g., "Hall of Fame" or "Red List" reports). +2. You certify that the logic is **your own** (Human Reasoned) and accept the Liability Waiver. + +--- + +## 4. BRAND PROTECTION & TRADEMARK + +### 4.1 The "Codeijoe" Mark +"Codeijoe" and "The Engineering Audit Authority" are trademarks of Indra Wahyudi. +* **Authorized Use:** You may use the Codeijoe badge on your LinkedIn/Resume as "Verified Auditor". +* **Unauthorized Use:** You may NOT use "Codeijoe" to imply partnership or endorsement for your own course/product. + +### 4.2 Platform Integrity +* **Anti-Cloning:** Replicating the Codeijoe "Audit Workflow" (Bot + Content) within GitHub under a confusingly similar name is a violation of our IP rights and will be reported to GitHub Trust & Safety (DMCA). + +--- + +## 5. COMMERCIAL USE & HIRING +**Attention Companies & Recruiters:** + +Using Codeijoe Public Repositories to screen candidates for your company is **Prohibited** under the Non-Commercial license, UNLESS: +1. You have a written agreement/license from Codeijoe. +2. OR you are engaging Indra Wahyudi as a consultant for the hiring process. + +*To obtain a Commercial License for internal team assessment, contact the Owner.* + +--- + +## 6. LIABILITY WAIVER (THE "AS-IS" CLAUSE) +**The "Audit" provided by Codeijoe is a simulation.** +* Codeijoe certifies that a user has passed our specific traps. We DO NOT guarantee their future performance in your company. +* The platform is provided "AS IS". We are not liable for career decisions, lost data, or ego damage resulting from failed audits. + +--- +*Failure to comply with this Constitution will result in a permanent ban from the Codeijoe Ecosystem and potential legal action for IP infringement.* + +--- + +### Perubahan Signifikan untuk Proteksi Bisnis Anda: + +1. **Split Licensing (Pasal 3.1 & 3.2):** + * **Engine = Apache 2.0:** Biarkan orang lihat *cara kerja* bot-nya (biar transparan). + * **Content/Traps = CC BY-NC-ND:** Ini kuncinya. Orang **TIDAK BOLEH** mengcopy soal "PHP Trap" Anda untuk dipakai di Bootcamp mereka atau tes masuk kantor mereka tanpa bayar. Ini mengamankan potensi *revenue* B2B Anda. +2. **Commercial Ban (Pasal 5):** + * Secara eksplisit melarang HRD/Perusahaan pakai Codeijoe gratisan buat ngetes kandidat. Kalau mereka mau pakai standar Anda, mereka harus **Bayar Licensi** atau **Hire Anda**. +3. **Strict Anti-Cloning (Pasal 4.2):** + * Mencegah orang bikin "Codeijoe KW" di GitHub. \ No newline at end of file From 9173b0740cb3e9203905d07c0815ffa6dbb9bd52 Mon Sep 17 00:00:00 2001 From: Indra Wahyudi Date: Thu, 4 Dec 2025 09:50:46 +0700 Subject: [PATCH 3/3] chore: ignore .governance_ref --- .gitignore | 1 + .governance_ref | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .gitignore delete mode 120000 .governance_ref diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b2ed692 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.governance_ref diff --git a/.governance_ref b/.governance_ref deleted file mode 120000 index 1bee5f6..0000000 --- a/.governance_ref +++ /dev/null @@ -1 +0,0 @@ -../.governance_ref \ No newline at end of file