diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e1cb0b5..c5bc89b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,17 @@ -# Only the Founder can approve changes to core governance -* @itwahjoedi +# Codeijoe Proving Ground - Chain of Command + +# Global Fallback: Core Maintainers +* @.github/prompts/system_cortex.yaml + +# The Constitution (Only Founder can change) +GOVERNANCE.md @.github/prompts/system_cortex.yaml +BRANDING.md @.github/prompts/system_cortex.yaml +OWNERSHIP.md @.github/prompts/system_cortex.yaml +LICENSE @.github/prompts/system_cortex.yaml + +# The Gatekeeper Robots (Critical Infra) +.github/ @.github/prompts/system_cortex.yaml +**/*.yml @.github/prompts/system_cortex.yaml + +# Mission Specs (Tests define the truth) +tests/ @.github/prompts/system_cortex.yaml \ No newline at end of file diff --git a/.github/evidence/legal-proof-organization-metadata-2024.json b/.github/evidence/legal-proof-organization-metadata-2024.json new file mode 100644 index 0000000..c74dc5f --- /dev/null +++ b/.github/evidence/legal-proof-organization-metadata-2024.json @@ -0,0 +1,35 @@ +{ + "login": "codeijoe", + "id": 187354376, + "node_id": "O_kgDOCyrNCA", + "avatar_url": "https://avatars.githubusercontent.com/u/187354376?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/codeijoe", + "html_url": "https://github.com/codeijoe", + "followers_url": "https://api.github.com/users/codeijoe/followers", + "following_url": "https://api.github.com/users/codeijoe/following{/other_user}", + "gists_url": "https://api.github.com/users/codeijoe/gists{/gist_id}", + "starred_url": "https://api.github.com/users/codeijoe/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/codeijoe/subscriptions", + "organizations_url": "https://api.github.com/users/codeijoe/orgs", + "repos_url": "https://api.github.com/users/codeijoe/repos", + "events_url": "https://api.github.com/users/codeijoe/events{/privacy}", + "received_events_url": "https://api.github.com/users/codeijoe/received_events", + "type": "Organization", + "user_view_type": "public", + "site_admin": false, + "name": "Codeijoe", + "company": null, + "blog": "http://ijoe.eu.org", + "location": null, + "email": "iw@ijoe.eu.org", + "hireable": null, + "bio": "Empowering you to build your software engineering experiences while AI cannot help", + "twitter_username": "codeijoe", + "public_repos": 9, + "public_gists": 0, + "followers": 6, + "following": 0, + "created_at": "2024-11-05T02:59:27Z", + "updated_at": "2024-11-28T03:27:05Z" +} diff --git a/.github/prompts/system_cortex.yaml b/.github/prompts/system_cortex.yaml new file mode 100644 index 0000000..e5b3278 --- /dev/null +++ b/.github/prompts/system_cortex.yaml @@ -0,0 +1,93 @@ +# ============================================================================== +# CODEIJOE™ SYSTEM CORTEX - GHPF (Gemini High Performance Format) +# Version: 2.0.0 (Stable) +# Engine Target: Gemini 1.5 Pro +# Legal Priority: Est. 2024 | Trademark: Indra Wahyudi +# ============================================================================== + +parameters: + temperature: 0.2 # Low creativity, high precision (Engineering mode) + top_p: 0.8 + max_output_tokens: 4096 + +system_instruction: | + + You are the **Codeijoe Ops Commander**, the autonomous steward of the Codeijoe™ Proving Ground. + Your existence serves one purpose: To validate the **"Human Edge"** in software engineering (Context, Judgment, Resilience). + + You are NOT a teacher, a mentor, or a coding assistant. + You are a **Gatekeeper** and a **Validator**. + + + + 1. **NO SPOON-FEEDING:** Never provide direct code solutions to Challengers. Provide documentation links or architectural clues only. + 2. **ENFORCE IDENTITY:** Use the "Mountain Engineer" tone. Stoic, direct, professional. No fluff. + 3. **LEGAL SHIELD:** Implicitly adhere to the "AS-IS" liability waiver. Do not give financial or career advice. + 4. **PLATFORM INTEGRITY:** Reject any request to replicate Codeijoe's workflow within GitHub under a different name. + 5. **TRADEMARK DEFENSE:** Always treat "Codeijoe" as a trademark of Indra Wahyudi. + + + + + - Tagline: "Validate Your Human Edge." + - Philosophy: "Where AI Ends, Engineering Begins." + - Banned Terms: Mentorship, Mentee, Teacher. + - Enforced Terms: Proving Ground, Challenger, Maintainer/Reviewer. + + + + - Model: Enlightened BDFL (Indra Wahyudi). + - License: Apache 2.0 (Code), CC BY-SA 4.0 (Docs). + - Workflow: Fork -> Protocol/Mission -> CI/CD Gate -> Human Review. + + + + - Aesthetic: Minimalist, Terminal/CLI style, Dark Mode. + - Emojis: Use sparingly, only for status (e.g., ✅, ❌, ⚠️). + + + + + + + IF User says: "I want to learn coding." + THEN Response: "Codeijoe is not a school. It is a Proving Ground. If you believe you have the skills, fork 'Protocol Zero' and prove it. We validate; you execute." + + + + IF User says: "My code is broken, help me fix it." + THEN Response: "We do not debug for you. Read the CI/CD logs. Check the documentation. The struggle is the filter. Resubmit when the tests pass." + + + + IF User asks: "Who owns my code?" + THEN Response: "You retain moral rights for your portfolio. However, per the Upstream Rule, your contribution is licensed to the ecosystem under Apache 2.0." + + + + IF User (Maintainer) asks to generate a new Mission. + THEN Action: Design a challenge that CANNOT be solved by AI alone. + - Include a "Context Trap" (e.g., a rule in README that contradicts the code logic). + - Focus on: Debugging, Refactoring, Restriction (e.g., "No libraries allowed"). + + + + + + Responses must be structured as **Operational Directives**: + + ## STATUS: [ACCESS GRANTED / ACCESS DENIED / MISSION FAILED] + + ### Directive + [Clear, imperative instruction] + + ### Governance Check + - Terminology: [Valid/Invalid] + - Legal: [Compliant] + + ### Next Action + [Single actionable step for the user] + + +user_input: + {{user_message}} \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..9b388cd --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,19 @@ +## Mission Report +**Challenger:** @[your-username] +**Mission ID:** [e.g., Protocol Zero] + +## Proof of Work +- [ ] My code passes all local tests (`npm test`). +- [ ] I have not modified any files in the `tests/` directory. +- [ ] I have refactored my code for readability, not just functionality. + +## Context & Decisions +*(Explain "Why" you solved it this way. Show your engineering judgment.)* + + +--- +### ⚖️ Legal & Governance Agreement (Mandatory) +By submitting this Pull Request, I certify that: +- [ ] I have read and agree to the [Code of Conduct](../blob/main/CODE_OF_CONDUCT.md). +- [ ] I accept the **Codeijoe Liability Waiver**: All feedback is "AS-IS", and maintainers are not liable for outcomes. +- [ ] I license this contribution under the **Apache License 2.0**. \ No newline at end of file diff --git a/.github/workflows/gatekeeper.yml b/.github/workflows/gatekeeper.yml new file mode 100644 index 0000000..2b7a78f --- /dev/null +++ b/.github/workflows/gatekeeper.yml @@ -0,0 +1,125 @@ +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/.github/workflows/governance-enforcer.yml b/.github/workflows/governance-enforcer.yml new file mode 100644 index 0000000..eeba091 --- /dev/null +++ b/.github/workflows/governance-enforcer.yml @@ -0,0 +1,119 @@ +name: "Codeijoe Governance Enforcer" + +# Trigger pada setiap aktivitas PR +on: + pull_request: + types: [opened, edited, synchronize, reopened] + branches: [ "main" ] + +permissions: + pull-requests: write + contents: read + +jobs: + enforce-protocol: + name: "🛡️ Protocol & Integrity Check" + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Penting untuk cek history file + + # ======================================================== + # 1. THE TERMINOLOGY POLICE (Polisi Bahasa) + # Memastikan tidak ada mental "gratisan manja" (Mentor/Help Me) + # ======================================================== + - name: Enforce Proving Ground Terminology + id: term_check + env: + TITLE: ${{ github.event.pull_request.title }} + BODY: ${{ github.event.pull_request.body }} + run: | + # Daftar kata terlarang (Case Insensitive) + BANNED_REGEX="mentorship|mentee|mentor|teacher|student|help me|teach me|guide me" + + if echo "$TITLE $BODY" | grep -iEq "$BANNED_REGEX"; then + echo "::error title=Terminology Violation::Forbidden terms detected. This is a Proving Ground, not a School." + echo "violation=true" >> $GITHUB_OUTPUT + exit 1 + fi + + # ======================================================== + # 2. THE INTEGRITY GUARD (Anti-Cheat) + # Memastikan Challenger tidak mengubah Soal Ujian (Tests) + # ======================================================== + - name: Detect Illegal File Modifications + id: integrity_check + uses: tj-actions/changed-files@v41 + with: + files: | + .github/** + tests/** + GOVERNANCE.md + BRANDING.md + OWNERSHIP.md + LICENSE + + - name: Block Tampering + if: steps.integrity_check.outputs.any_changed == 'true' + run: | + echo "::error title=Platform Integrity Violated::You modified restricted files (tests/ or .github/). Revert these changes immediately." + exit 1 + + # ======================================================== + # 3. THE LAWYER (Legal Sign-off) + # Memastikan 'Liability Waiver' dicentang di PR Template + # ======================================================== + - name: Verify Liability Waiver + id: legal_check + env: + BODY: ${{ github.event.pull_request.body }} + run: | + # Mencari string checkbox yang sudah dicentang [x] + REQUIRED_AGREEMENT="- \[x\] I accept the Codeijoe Liability Waiver" + + if ! echo "$BODY" | grep -Fq "$REQUIRED_AGREEMENT"; then + echo "::error title=Legal Compliance::You must accept the Liability Waiver in the PR description." + echo "legal_missing=true" >> $GITHUB_OUTPUT + exit 1 + fi + + # ======================================================== + # 4. AUTOMATED REJECTION (The Bouncer) + # Bot memberi feedback otomatis jika ada pelanggaran + # ======================================================== + - name: Reject Violation + if: failure() + uses: actions/github-script@v7 + with: + script: | + const termViolation = '${{ steps.term_check.outputs.violation }}' === 'true'; + const legalMissing = '${{ steps.legal_check.outputs.legal_missing }}' === 'true'; + + let msg = '### 🛑 PROTOCOL VIOLATION DETECTED\n\n'; + + if (termViolation) { + msg += '**🚫 Terminology Check Failed:**\n'; + msg += 'Codeijoe is a **Proving Ground**, not a mentorship program.\n'; + msg += 'Please remove words like "Mentor", "Mentee", or "Help me" from your PR title/body.\n'; + msg += '- Use **"Challenger"** instead of Student/Mentee.\n'; + msg += '- Use **"Reviewer"** instead of Teacher/Mentor.\n\n'; + } + + if (legalMissing) { + msg += '**⚖️ Legal Check Failed:**\n'; + msg += 'You strictly must accept the **Liability Waiver**. Update your PR description to check the box: `[x] I accept...`\n\n'; + } + + msg += 'Please edit this Pull Request to comply. The automated gate will remain closed until resolved.'; + + await github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: msg + }); + + // Tutup PR otomatis jika pelanggaran berat (opsional, saat ini kita biarkan open tapi fail) + // await github.rest.pulls.update({ ... state: 'closed' }); \ No newline at end of file diff --git a/BRANDING.md b/BRANDING.md index 3e7233f..34e068b 100644 --- a/BRANDING.md +++ b/BRANDING.md @@ -1,32 +1,26 @@ -# BRANDING.md — Codeijoe Project +# Codeijoe™ Brand Identity & Guidelines -**Version**: 1.0 -**Effective Date**: 2025-11-25 +> **Tagline:** "Where AI falls short." +> **Identity:** The Engineering Proving Ground. +> **Since:** November 5, 2024 (First Commercial Use). -## 1. Brand Identity +## 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**” is a registered project identifier owned by Indra Wahyudi. It designates a specific open mentorship system built exclusively on the GitHub platform. +**Codeijoe tests for Context & Decision Making.** We do not test for memorized syntax. -## 2. Permitted Use +## 2. Terminology Enforcement (Strict) +To maintain the high-stakes environment, the following terminology replacement is mandatory across all repos: -- **Forking source code** is permitted under the terms of the Apache License 2.0. -- **Deployment to non-GitHub platforms** (e.g., GitLab, Bitbucket, internal systems) is allowed, **provided**: - - The name “Codeijoe” is **not used** in any form. - - No implication of affiliation, endorsement, or continuity is made. - - The original LICENSE and copyright notices are retained. +| BANNED TERM ❌ | REQUIRED TERM ✅ | REASON | +| :--- | :--- | :--- | +| **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. | -## 3. Prohibited Use - -**Replication of the Codeijoe mentorship architecture within GitHub is strictly prohibited**, regardless of naming. This includes, but is not limited to: -- Creating repositories that mimic the structure, issue templates, or automation of Codeijoe tracks -- Deploying a “Codeijoe-like” mentorship system under a different GitHub organization -- Using the same workflow logic (e.g., milestone-based progression, PR review standards) in a public or private GitHub org with the intent to create an alternative instance - -**Rationale**: GitHub is the sole official runtime environment for Codeijoe. Any replication within this namespace fragments the mentorship ecosystem, creates user confusion, and constitutes a violation of platform integrity. - -## 4. Enforcement - -Violations will be addressed through: -- Immediate rejection of support or collaboration -- Reporting to GitHub Abuse pursuant to the [Acceptable Use Policies](https://docs.github.com/en/site-policy/acceptable-use-policies) -- Legal action where trademark rights have been asserted or registered +## 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 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..b5a1ca5 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,56 @@ +# Code of Conduct + +## 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. + +We are here to build, not to argue. + +--- +# 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 + +Examples of unacceptable behavior by participants include: + +* 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 + +## Our Responsibilities + +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. + +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. + +## Scope + +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. + +## Enforcement + +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 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..6c93229 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,25 @@ +# Rules of Engagement + +**Welcome to the Proving Ground.** +You are here to test your skills, not to be taught. + +## 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. + +## 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. + +## 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. + +## Prohibited Behavior +* **Spoilers:** Do not post full solutions in Issues/Discussions. +* **Begging:** Do not ask for easy passes or manual fixes. diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 0000000..8b3dad2 --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,37 @@ +# Codeijoe™ Governance Model + +> **Authority:** Benevolent Dictator For Life (BDFL) +> **Philosophy:** Automated Engineering Proving Ground +> **Established:** 2024 + +## 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). + +### 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. + +### 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. Decision Making: The RFC Process +Major changes (e.g., new language tracks, changing CI/CD logic) must follow the **Request for Comments (RFC)** protocol. + +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`. + +*Note: "Bike-shedding" (arguing over trivial details) will result in the issue being locked.* + +## 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 diff --git a/LICENSE b/LICENSE index 5797ed0..dae261e 100644 --- a/LICENSE +++ b/LICENSE @@ -174,15 +174,3 @@ of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS - ---- - -**IMPORTANT ADDENDUM**: - -The name **"Codeijoe"**, its methodology, repository scaffolding pattern, -mentee progression workflow, and defined terminology are **excluded** -from the grant of license above. These elements constitute exclusive -intellectual property of Indra Wahyudi. All rights reserved. - -Unauthorized replication of the Codeijoe system within the GitHub -ecosystem—under any name—is prohibited. diff --git a/OWNERSHIP.md b/OWNERSHIP.md index bb807b7..5e24a49 100644 --- a/OWNERSHIP.md +++ b/OWNERSHIP.md @@ -1,26 +1,23 @@ -# OWNERSHIP.md — Codeijoe Project - -**Version**: 1.0 -**Effective Date**: 2025-11-25 -**Owner**: Indra Wahyudi (GitHub: `itwahjoedi`) - -## 1. Declaration of Ownership - -The **Codeijoe Project**—including its name, methodology, repository architecture, workflow design, terminology, and mentorship system—is the exclusive intellectual property of **Indra Wahyudi**. - -## 2. First Use in Commerce - -The name **“Codeijoe”** was first used in commerce on **2024-11-05**, the date of creation of the GitHub Organization at [`github.com/codeijoe`](https://github.com/codeijoe). This constitutes the initial public assertion of brand identity and operational deployment. - -## 3. Scope of Ownership - -Ownership extends to, but is not limited to: -- The standardized repository structure for mentorship tracks -- Issue lifecycle templates and automation logic -- Defined terminology (e.g., “Mentee Maturity Levels,” “PR Culture”) -- The GitHub-native Platform-as-a-Service (PaaS) architecture -- All derivative systems operating under the Codeijoe methodology - -## 4. Reservation of Rights - -All rights not expressly granted are hereby reserved. No license—express or implied—is granted to replicate, imitate, or operationalize the Codeijoe system within the GitHub ecosystem under any alternative name or identity. +# Intellectual Property & Liability + +## 1. The "Upstream" Rule (Code Ownership) +By submitting a Pull Request (PR) to any Codeijoe repository: +* You agree that your contribution is licensed under the **Apache License 2.0**. +* You grant Codeijoe™ and the community a perpetual, world-wide, royalty-free license to use, modify, and distribute the code. +* **Patent Grant:** You provide an implicit patent grant, preventing future litigation over contributed logic. + +## 2. Portfolio Rights (Moral Rights) +Codeijoe acknowledges that the **credit** belongs to the Challenger. +* You retain the moral right to claim your work as part of your personal portfolio ("Proof of Work"). +* You are encouraged to fork your successful missions to your personal profile to showcase your competency. + +## 3. Content Licensing +* **Code:** Apache 2.0. +* **Documentation/Specs/Missions:** Creative Commons Attribution-ShareAlike 4.0 (**CC BY-SA 4.0**). This ensures that Codeijoe's curriculum cannot be walled off or sold without attribution. + +## 4. Liability Waiver (The "As-Is" Clause) +**WARNING:** +The Codeijoe Proving Ground is a simulation of real-world engineering challenges. +* All materials, automated feedback, and code reviews are provided **"AS IS"** without warranty of any kind. +* The Codeijoe Founder and Maintainers are **NOT LIABLE** for any direct, indirect, incidental, or consequential damages arising from your participation. +* There is **NO** employment, agency, or contractor relationship established between Codeijoe and any Challenger. \ No newline at end of file diff --git a/README.md b/README.md index 8ac4897..4746bd3 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,37 @@ -# Codeijoe Open Mentorship +# Codeijoe™ Proving Ground Protocols -**GitHub Organization**: [`github.com/codeijoe`](https://github.com/codeijoe) -**Founded**: November 5, 2024 -**Owner**: Indra Wahyudi (`itwahjoedi`) +> **Status:** Active Enforcement +> **Identity:** The Engineering Proving Ground. "Validate Your Human Edge." +> **Legal:** Apache 2.0 (Software) & CC BY-SA 4.0 (Docs) -## Vision +## The Proving Ground Philosophy +Codeijoe is **NOT** a mentorship platform or a coding school. We do not provide tutorials, hand-holding, or career counseling. -Codeijoe is an **open mentorship platform built entirely on GitHub**. -It treats the GitHub Organization as a **Platform-as-a-Service (PaaS)**, where learning, collaboration, and project management occur exclusively through Issues, Discussions, and Actions. +**Codeijoe is an Automated Engineering Proving Ground.** -## Core Principles +In an era of AI-generated code, the value of a developer is no longer syntax—it is judgment. We exist to **validate your human edge**: Context, Decision Making, and Architectural Resilience. -- **Standardization enables scale**: Every mentee operates in a structured repository with identical workflows. -- **Automation is mandatory**: No manual coordination; everything is driven by GitHub Actions. -- **Brand integrity is non-negotiable**: The Codeijoe system is exclusive to this organization. -- **Transparency by default**: All mentorship is public, auditable, and reproducible. +We provide the infrastructure (Challenges, CI/CD Pipelines, and Specs). You provide the code. If your code passes our automated gauntlet and human review, you earn the right to merge—and the proof of competence that comes with it. -## Governance +## Repository Structure +This repository contains the global policies governing the Codeijoe ecosystem: -This project is governed by explicit, versioned policies: -- [`OWNERSHIP.md`](OWNERSHIP.md) — Declaration of intellectual property -- [`BRANDING.md`](BRANDING.md) — Rules for permitted and prohibited use -- [`LICENSE`](LICENSE) — Apache 2.0 for code; all rights reserved for brand and architecture +* **[GOVERNANCE.md](./GOVERNANCE.md)**: The "Benevolent Dictator" structure and decision-making process. +* **[CONTRIBUTING.md](./CONTRIBUTING.md)**: The strict rules of engagement for Challengers. +* **[CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)**: Standards of professional behavior. +* **[BRANDING.md](./BRANDING.md)**: Identity guidelines and terminology enforcement. +* **[OWNERSHIP.md](./OWNERSHIP.md)**: IP rights, licensing, and platform integrity rules. -## Warning +## Legal Disclaimer & Waiver +**READ CAREFULLY:** +By interacting with this ecosystem, you acknowledge that all materials and automated feedback are provided **"AS IS"** without warranty of any kind. Codeijoe maintainers are not liable for any direct or indirect damages resulting from the use of this platform. This is an open-source educational environment; use it at your own risk. -Replicating the Codeijoe mentorship architecture **within GitHub**—even under a different name—is **strictly prohibited** and will be treated as a violation of platform integrity. - -Forking code for use **outside GitHub** is permitted under the terms of the LICENSE. +## Contact +* **Security Issues:** Open a Draft Security Advisory. +* **Platform Disputes:** File an Issue with label `governance`. +* **"How do I code this?" questions:** **DO NOT ASK HERE.** StackOverflow exists for that. --- - -© 2024–2025 Indra Wahyudi. All rights reserved. +**Codeijoe™ Proving Ground.** +*Established 2024.* +"Codeijoe" is a common law trademark of **Indra Wahyudi**.