diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc new file mode 100644 index 0000000..48d4e02 --- /dev/null +++ b/CHANGELOG.adoc @@ -0,0 +1,48 @@ +== Changelog + +All notable changes to Me Language will be documented in this file. + +The format is based on https://keepachangelog.com/en/1.1.0/[Keep a +Changelog], and this project adheres to +https://semver.org/spec/v2.0.0.html[Semantic Versioning]. + +=== https://github.com/hyperpolymath/me-dialect-playground/compare/v0.1.0...HEAD[Unreleased] + +==== Added + +* Initial project structure +* Basic Me language interpreter +* HTML-like syntax: `++`, `++`, `++`, `++`, +`++` +* Variable interpolation with `+{variable-name}+` +* Conditional execution with `++` and `++` +* Counting operations with `++` and `++` +* Example programs for levels 1-3 +* RSR compliance files + +==== Security + +* Sandboxed execution environment +* No network access +* No file system access +* MPL-2.0 license + +=== https://github.com/hyperpolymath/me-dialect-playground/releases/tag/v0.1.0[0.1.0] - 2025-12-30 + +==== Added + +* Project scaffolding +* README with language tutorial +* Basic interpreter implementation +* Level 1-3 curriculum outline +* Example: Hello World +* Example: Variables (remembering things) +* Example: Choices (weather picker) +* Example: Loops (hip hip hooray) + +==== Planned for Next Release + +* Web-based playground +* Drawing canvas (`++`, shapes) +* Game development features +* Teacher resources diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index de84de8..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,53 +0,0 @@ - -# Changelog - -All notable changes to Me Language will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project -adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -### Added - -- Initial project structure -- Basic Me language interpreter -- HTML-like syntax: ``, ``, ``, ``, `` -- Variable interpolation with `{variable-name}` -- Conditional execution with `` and `` -- Counting operations with `` and `` -- Example programs for levels 1-3 -- RSR compliance files - -### Security - -- Sandboxed execution environment -- No network access -- No file system access -- MPL-2.0 license - -## [0.1.0] - 2025-12-30 - -### Added - -- Project scaffolding -- README with language tutorial -- Basic interpreter implementation -- Level 1-3 curriculum outline -- Example: Hello World -- Example: Variables (remembering things) -- Example: Choices (weather picker) -- Example: Loops (hip hip hooray) - -### Planned for Next Release - -- Web-based playground -- Drawing canvas (``, shapes) -- Game development features -- Teacher resources - -[Unreleased]: https://github.com/hyperpolymath/me-dialect-playground/compare/v0.1.0...HEAD -[0.1.0]: https://github.com/hyperpolymath/me-dialect-playground/releases/tag/v0.1.0 diff --git a/CODE_OF_CONDUCT.adoc b/CODE_OF_CONDUCT.adoc new file mode 100644 index 0000000..93fb8c6 --- /dev/null +++ b/CODE_OF_CONDUCT.adoc @@ -0,0 +1,78 @@ +== Code of Conduct + +=== Our Pledge + +We as members, contributors, and leaders pledge to make participation in +the Me Language community a harassment-free experience for everyone. + +Given that Me is designed for children, we hold ourselves to the highest +standards of conduct. + +=== Our Standards + +==== Expected Behaviour + +* Being welcoming and inclusive to learners of all ages +* Using encouraging, positive language +* Being patient with beginners +* Respecting different learning styles and paces +* Creating a safe environment for children to learn +* Supporting parents and educators + +==== Unacceptable Behaviour + +* Any content inappropriate for children +* Harassment of any kind +* Trolling, insulting or derogatory comments +* Publishing others’ private information +* Any conduct that could harm children +* Discouraging or belittling learners + +=== Child Safety + +Given our audience includes children: + +* All community spaces must be appropriate for ages 8+ +* No personal information should be shared about children +* Adults should not directly message children +* All interactions should be in public, moderated spaces +* Report any concerning behaviour immediately + +=== Enforcement + +==== Reporting + +[cols=",",options="header",] +|=== +|Method |Details +|*Email* |hyperpolymath@proton.me +|*Private Message* |Contact any maintainer directly +|=== + +For child safety concerns, we prioritize immediate action. + +==== Response + +[arabic] +. Acknowledgment within *24 hours* (child safety: immediate) +. Review and investigation +. Determination of appropriate action +. Notification of outcome + +==== Consequences + +* *Warning*: For minor first-time violations +* *Temporary Ban*: For repeated or serious violations +* *Permanent Ban*: For any behaviour that endangers children + +=== Attribution + +This Code of Conduct is adapted from the +https://www.contributor-covenant.org/[Contributor Covenant], version +2.1, with additional child safety provisions. + +''''' + +*Be kind. Be patient. Be safe.* + +Last updated: 2025 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 15d2d92..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,78 +0,0 @@ - -# Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in the Me Language community a -harassment-free experience for everyone. - -Given that Me is designed for children, we hold ourselves to the highest standards of conduct. - -## Our Standards - -### Expected Behaviour - -- Being welcoming and inclusive to learners of all ages -- Using encouraging, positive language -- Being patient with beginners -- Respecting different learning styles and paces -- Creating a safe environment for children to learn -- Supporting parents and educators - -### Unacceptable Behaviour - -- Any content inappropriate for children -- Harassment of any kind -- Trolling, insulting or derogatory comments -- Publishing others' private information -- Any conduct that could harm children -- Discouraging or belittling learners - -## Child Safety - -Given our audience includes children: - -- All community spaces must be appropriate for ages 8+ -- No personal information should be shared about children -- Adults should not directly message children -- All interactions should be in public, moderated spaces -- Report any concerning behaviour immediately - -## Enforcement - -### Reporting - -| Method | Details | -| ------------------- | ------------------------------- | -| **Email** | hyperpolymath@proton.me | -| **Private Message** | Contact any maintainer directly | - -For child safety concerns, we prioritize immediate action. - -### Response - -1. Acknowledgment within **24 hours** (child safety: immediate) -2. Review and investigation -3. Determination of appropriate action -4. Notification of outcome - -### Consequences - -- **Warning**: For minor first-time violations -- **Temporary Ban**: For repeated or serious violations -- **Permanent Ban**: For any behaviour that endangers children - -## Attribution - -This Code of Conduct is adapted from the -[Contributor Covenant](https://www.contributor-covenant.org/), version 2.1, with additional child -safety provisions. - ---- - -**Be kind. Be patient. Be safe.** - -Last updated: 2025 diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc index a7f526c..665dc00 100644 --- a/CONTRIBUTING.adoc +++ b/CONTRIBUTING.adoc @@ -1,123 +1,109 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -// Copyright (c) Jonathan D.A. Jewell -= Contributing to Me Language +== Clone the repository -Thank you for wanting to help make programming accessible to children! +git clone https://github.com/hyperpolymath/me-dialect-playground.git cd +me-dialect-playground -== Getting Started +== Using Nix (recommended for reproducibility) -1. Fork the repository -2. Create a feature branch from `main` -3. Sign off commits (`git commit -s`) -4. Submit a pull request +nix develop -== Development Setup +== Or using toolbox/distrobox -[source,bash] ----- -# Clone and enter directory -git clone https://github.com/hyperpolymath/me-dialect-playground.git -cd me-dialect-playground +toolbox create me-dialect-playground-dev toolbox enter +me-dialect-playground-dev # Install dependencies manually -# Install dependencies (Deno required per RSR) -deno task dev +== Verify setup -# Run tests -just test +just check # or: cargo check / mix compile / etc. just test # Run test +suite -# Run the demo -just demo ----- +.... -== Guidelines for Child-Friendly Development +### Repository Structure +.... -When contributing to Me, please keep in mind our target audience (ages 8-12): +me-dialect-playground/ ├── src/ # Source code (Perimeter 1-2) ├── lib/ # +Library code (Perimeter 1-2) ├── extensions/ # Extensions (Perimeter 2) +├── plugins/ # Plugins (Perimeter 2) ├── tools/ # Tooling (Perimeter 2) +├── docs/ # Documentation (Perimeter 3) │ ├── architecture/ # ADRs, +specs (Perimeter 2) │ └── proposals/ # RFCs (Perimeter 3) ├── examples/ +# Examples (Perimeter 3) ├── spec/ # Spec tests (Perimeter 3) ├── tests/ +# Test suite (Perimeter 2-3) ├── .well-known/ # Protocol files +(Perimeter 1-3) ├── .github/ # GitHub config (Perimeter 1) │ ├── +ISSUE_TEMPLATE/ │ └── workflows/ ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md +├── CONTRIBUTING.md # This file ├── GOVERNANCE.md ├── LICENSE ├── +MAINTAINERS.md ├── README.adoc ├── SECURITY.md ├── flake.nix # Nix flake +(Perimeter 1) └── justfile # Task runner (Perimeter 1) -=== Language Design +.... -* Use simple, plain English -* Avoid jargon and technical terms -* Make error messages friendly and helpful -* Never make kids feel bad for making mistakes +--- -=== Error Messages +## How to Contribute -**Bad:** `SyntaxError: Unexpected token at line 5` +### Reporting Bugs -**Good:** `Oops! Something doesn't look quite right on line 5. Did you forget to close a tag?` +**Before reporting**: +1. Search existing issues +2. Check if it's already fixed in `main` +3. Determine which perimeter the bug affects -=== Examples +**When reporting**: -* Use relatable scenarios (games, pets, stories) -* Keep examples short and focused -* Include lots of comments explaining what's happening -* Test with actual children when possible +Use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md) and include: -=== Safety First +- Clear, descriptive title +- Environment details (OS, versions, toolchain) +- Steps to reproduce +- Expected vs actual behaviour +- Logs, screenshots, or minimal reproduction -* Never add network functionality -* Never add file system access -* Always sandbox code execution -* Never collect any user data +### Suggesting Features -== Commit Guidelines +**Before suggesting**: +1. Check the [roadmap](ROADMAP.md) if available +2. Search existing issues and discussions +3. Consider which perimeter the feature belongs to -* Conventional commits: `type(scope): description` -* Sign all commits (DCO required) -* Atomic, focused commits +**When suggesting**: -== Code Style +Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) and include: -* ReScript for application logic (per RSR Language Policy) -* Deno for runtime (not Node/npm/bun per RSR) -* Descriptive variable names -* Extensive comments for educational clarity +- Problem statement (what pain point does this solve?) +- Proposed solution +- Alternatives considered +- Which perimeter this affects -== Testing +### Your First Contribution -[source,bash] ----- -# Run all tests -just test +Look for issues labelled: -# Run specific level examples -just example-level1 -just example-level2 -just example-level3 +- [`good first issue`](https://github.com/hyperpolymath/me-dialect-playground/labels/good%20first%20issue) — Simple Perimeter 3 tasks +- [`help wanted`](https://github.com/hyperpolymath/me-dialect-playground/labels/help%20wanted) — Community help needed +- [`documentation`](https://github.com/hyperpolymath/me-dialect-playground/labels/documentation) — Docs improvements +- [`perimeter-3`](https://github.com/hyperpolymath/me-dialect-playground/labels/perimeter-3) — Community sandbox scope -# Run game example -just example-game ----- +--- -== Types of Contributions Needed +## Development Workflow -=== For Programmers +### Branch Naming +.... -* Interpreter improvements -* New language features (keeping it simple!) -* Bug fixes -* Web playground development +docs/short-description # Documentation (P3) test/what-added # Test +additions (P3) feat/short-description # New features (P2) +fix/issue-number-description # Bug fixes (P2) refactor/what-changed # +Code improvements (P2) security/what-fixed # Security fixes (P1-2) -=== For Educators +.... -* Curriculum development -* Lesson plans -* Activity sheets -* Assessment ideas +### Commit Messages -=== For Parents +We follow [Conventional Commits](https://www.conventionalcommits.org/): +.... -* Testing with your children -* Feedback on usability -* Documentation improvements -* Translation to other languages +(): -=== For Artists +{empty}[optional body] -* Cute mascot designs -* Icons and graphics -* Visual themes for the playground - -== License - -Contributions licensed under MPL-2.0. +{empty}[optional footer] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index aaf245e..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,120 +0,0 @@ - -# Clone the repository -git clone https://github.com/hyperpolymath/me-dialect-playground.git -cd me-dialect-playground - -# Using Nix (recommended for reproducibility) -nix develop - -# Or using toolbox/distrobox -toolbox create me-dialect-playground-dev -toolbox enter me-dialect-playground-dev -# Install dependencies manually - -# Verify setup -just check # or: cargo check / mix compile / etc. -just test # Run test suite -``` - -### Repository Structure -``` -me-dialect-playground/ -├── src/ # Source code (Perimeter 1-2) -├── lib/ # Library code (Perimeter 1-2) -├── extensions/ # Extensions (Perimeter 2) -├── plugins/ # Plugins (Perimeter 2) -├── tools/ # Tooling (Perimeter 2) -├── docs/ # Documentation (Perimeter 3) -│ ├── architecture/ # ADRs, specs (Perimeter 2) -│ └── proposals/ # RFCs (Perimeter 3) -├── examples/ # Examples (Perimeter 3) -├── spec/ # Spec tests (Perimeter 3) -├── tests/ # Test suite (Perimeter 2-3) -├── .well-known/ # Protocol files (Perimeter 1-3) -├── .github/ # GitHub config (Perimeter 1) -│ ├── ISSUE_TEMPLATE/ -│ └── workflows/ -├── CHANGELOG.md -├── CODE_OF_CONDUCT.md -├── CONTRIBUTING.md # This file -├── GOVERNANCE.md -├── LICENSE -├── MAINTAINERS.md -├── README.adoc -├── SECURITY.md -├── flake.nix # Nix flake (Perimeter 1) -└── justfile # Task runner (Perimeter 1) -``` - ---- - -## How to Contribute - -### Reporting Bugs - -**Before reporting**: -1. Search existing issues -2. Check if it's already fixed in `main` -3. Determine which perimeter the bug affects - -**When reporting**: - -Use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md) and include: - -- Clear, descriptive title -- Environment details (OS, versions, toolchain) -- Steps to reproduce -- Expected vs actual behaviour -- Logs, screenshots, or minimal reproduction - -### Suggesting Features - -**Before suggesting**: -1. Check the [roadmap](ROADMAP.md) if available -2. Search existing issues and discussions -3. Consider which perimeter the feature belongs to - -**When suggesting**: - -Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) and include: - -- Problem statement (what pain point does this solve?) -- Proposed solution -- Alternatives considered -- Which perimeter this affects - -### Your First Contribution - -Look for issues labelled: - -- [`good first issue`](https://github.com/hyperpolymath/me-dialect-playground/labels/good%20first%20issue) — Simple Perimeter 3 tasks -- [`help wanted`](https://github.com/hyperpolymath/me-dialect-playground/labels/help%20wanted) — Community help needed -- [`documentation`](https://github.com/hyperpolymath/me-dialect-playground/labels/documentation) — Docs improvements -- [`perimeter-3`](https://github.com/hyperpolymath/me-dialect-playground/labels/perimeter-3) — Community sandbox scope - ---- - -## Development Workflow - -### Branch Naming -``` -docs/short-description # Documentation (P3) -test/what-added # Test additions (P3) -feat/short-description # New features (P2) -fix/issue-number-description # Bug fixes (P2) -refactor/what-changed # Code improvements (P2) -security/what-fixed # Security fixes (P1-2) -``` - -### Commit Messages - -We follow [Conventional Commits](https://www.conventionalcommits.org/): -``` -(): - -[optional body] - -[optional footer] diff --git a/GOVERNANCE.adoc b/GOVERNANCE.adoc index e41020d..9b836fb 100644 --- a/GOVERNANCE.adoc +++ b/GOVERNANCE.adoc @@ -1,162 +1,60 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell -= Governance Model -:toc: preamble +== Governance -This document describes the governance model for this repository. +=== Overview -== Overview +This project is governed by the following principles and structures to +ensure transparent, inclusive, and effective decision-making. -This repository follows a **Sole Maintainer Governance Model**: +=== Roles and Responsibilities -* Single maintainer (@hyperpolymath) has full authority over the project -* All contributions are welcome and reviewed by the maintainer -* Decisions are made transparently through GitHub issues and discussions -* The project adheres to the hyperpolymath estate policies where applicable +==== Maintainers -== Core Principles +Maintainers are responsible for: - Reviewing and merging pull requests - +Managing releases and versioning - Ensuring code quality and standards - +Triaging issues and bug reports - Community engagement and support -[cols="1,2"] -|=== -| Principle | Description +==== Contributors -| **Benevolent Dictatorship** | Maintainer has final decision authority but seeks community input +Contributors are expected to: - Follow the code of conduct - Submit +well-documented pull requests - Write tests for new functionality - +Maintain existing tests - Update documentation as needed -| **Meritocracy** | Contributions are judged on technical merit, not contributor identity +=== Decision Making -| **Transparency** | All significant decisions are documented publicly +==== Minor Changes -| **Consensus-Seeking** | Maintainer prefers consensus but will decide when necessary +* Can be made by any maintainer +* Include bug fixes, documentation updates, dependency updates -| **Open Contribution** | Anyone can contribute via fork and pull request +==== Major Changes -|=== +* Require discussion in issues or pull requests +* Include new features, architectural changes, API changes +* Need approval from at least 2 maintainers -== Roles and Permissions +==== Breaking Changes -[cols="1,2,2"] -|=== -| Role | Permissions | Assignment +* Require RFC (Request for Comments) process +* Need approval from majority of maintainers +* Must include migration guide -| **Maintainer** | Write access, merge rights, admin | @hyperpolymath -| **Contributors** | Read access, fork, submit PRs | All GitHub users -| **Users** | Use the software, report issues | All GitHub users +=== Code of Conduct -|=== +All participants are expected to follow our Code of Conduct. Violations +can be reported to the maintainers. -== Decision Making Framework +=== Communication -=== Routine Decisions +* *Issues*: For bug reports and feature requests +* *Discussions*: For questions and general discussion +* *Pull Requests*: For code contributions -* Bug fixes -* Documentation improvements -* Minor feature additions -* Dependency updates +=== Licensing -**Process**: Maintainer reviews and merges PRs that meet quality standards. +All contributions are made under the terms of the repository’s LICENSE +file. By submitting a pull request, you agree to license your +contributions accordingly. -=== Significant Changes +''''' -* New major features -* API changes -* Architecture modifications -* Breaking changes - -**Process**: -. Open issue describing the change -. Discuss with community (minimum 72 hours) -. Maintainer makes final decision -. Document rationale in issue/PR - -=== Structural Decisions - -* Repository purpose/renaming -* License changes -* Ownership transfer -* Deprecation/archival - -**Process**: -. Extended discussion (minimum 1 week) -. Maintainer makes final decision -. Document in CHANGELOG and governance docs - -== Contribution Lifecycle - -[cols="1,2"] -|=== -| Stage | Process - -| **Ideation** | Open issue, discuss feasibility - -| **Development** | Fork, implement, test thoroughly - -| **Review** | Submit PR, maintainer reviews within 7 days - -| **Merge** | Maintainer merges or requests changes - -| **Release** | Maintainer publishes according to project conventions - -|=== - -== Conflict Resolution - -In case of disagreements: - -. Discuss in the relevant GitHub issue or PR -. Provide technical justification for positions -. Maintainer mediates and makes final decision -. Decision is documented and can be revisited later - -== Project Policies - -This repository adheres to hyperpolymath estate-wide policies: - -* **License**: MPL-2.0 for code, CC-BY-SA-4.0 for prose (per standards/LICENCE-POLICY.adoc) -* **Code of Conduct**: Follows hyperpolymath CODE_OF_CONDUCT.md -* **Security**: Follows hyperpolymath SECURITY.md -* **Contributing**: Follows hyperpolymath CONTRIBUTING.adoc conventions - -== Repository-Specific Conventions - -[cols="1,2"] -|=== -| Convention | Description - -| **Signing** | All commits must be signed (SSH or GPG) - -| **SPDX Headers** | All source files must have SPDX license identifiers - -| **Contractiles** | Mustfile, Trustfile, Intendfile, Adjustfile in root - -| **Machine Readable** | META.a2ml in .machine_readable/6a2/ - -| **CI/CD** | GitHub Actions workflows in .github/workflows/ - -|=== - -== Governance Evolution - -As the project grows, this governance model may evolve: - -* **Adding Co-Maintainers**: When contribution volume warrants it -* **Forming a Team**: For complex multi-maintainer projects -* **Adopting TPCF**: For large, multi-repository projects (see rhodium-standard-repositories) - -Changes to this document require the same process as Significant Changes above. - -== See Also - -* link:MAINTAINERS.adoc[Maintainers] -* link:CODE_OF_CONDUCT.md[Code of Conduct] -* link:CONTRIBUTING.adoc[Contributing Guide] -* link:https://github.com/hyperpolymath/standards/blob/main/LICENCE-POLICY.adoc[Estate License Policy] -* link:https://github.com/hyperpolymath/standards[rhodium-standard-repositories (TPCF)] - -== Changelog - -[cols="1,1,1"] -|=== -| Date | Change | By - -| 2026-06-07 | Initial governance model established | @hyperpolymath -|=== +_Last updated: 2026-07-18_ diff --git a/GOVERNANCE.md b/GOVERNANCE.md deleted file mode 100644 index e27364c..0000000 --- a/GOVERNANCE.md +++ /dev/null @@ -1,60 +0,0 @@ -# Governance - -## Overview - -This project is governed by the following principles and structures to ensure transparent, inclusive, and effective decision-making. - -## Roles and Responsibilities - -### Maintainers - -Maintainers are responsible for: -- Reviewing and merging pull requests -- Managing releases and versioning -- Ensuring code quality and standards -- Triaging issues and bug reports -- Community engagement and support - -### Contributors - -Contributors are expected to: -- Follow the code of conduct -- Submit well-documented pull requests -- Write tests for new functionality -- Maintain existing tests -- Update documentation as needed - -## Decision Making - -### Minor Changes -- Can be made by any maintainer -- Include bug fixes, documentation updates, dependency updates - -### Major Changes -- Require discussion in issues or pull requests -- Include new features, architectural changes, API changes -- Need approval from at least 2 maintainers - -### Breaking Changes -- Require RFC (Request for Comments) process -- Need approval from majority of maintainers -- Must include migration guide - -## Code of Conduct - -All participants are expected to follow our Code of Conduct. Violations can be reported to the maintainers. - -## Communication - -- **Issues**: For bug reports and feature requests -- **Discussions**: For questions and general discussion -- **Pull Requests**: For code contributions - -## Licensing - -All contributions are made under the terms of the repository's LICENSE file. -By submitting a pull request, you agree to license your contributions accordingly. - ---- - -*Last updated: 2026-07-18* diff --git a/SECURITY.adoc b/SECURITY.adoc new file mode 100644 index 0000000..26d2af4 --- /dev/null +++ b/SECURITY.adoc @@ -0,0 +1,81 @@ +== Security Policy + +We take security extremely seriously, especially since Me is designed +for children. + +=== Child Safety is Paramount + +Me is designed with child safety as the top priority: + +* *No internet access*: Programs cannot make network requests +* *No file system access*: Programs cannot read or write files +* *No code execution*: Cannot execute arbitrary system commands +* *Sandboxed environment*: All code runs in a safe, isolated sandbox +* *No data collection*: We never collect any data from users + +=== Reporting a Vulnerability + +==== Preferred Method: GitHub Security Advisories + +[arabic] +. Navigate to +https://github.com/hyperpolymath/me-dialect-playground/security/advisories/new[Report +a Vulnerability] +. Click *"`Report a vulnerability`"* +. Complete the form with as much detail as possible + +==== Alternative: Email + +[cols=",",] +|=== +|*Email* |hyperpolymath@proton.me +|=== + +____ +*Important:* Do not report security vulnerabilities through public +GitHub issues. +____ + +=== Scope + +==== Critical for Child Safety + +We treat the following as highest priority: + +* *Sandbox escapes*: Any way to break out of the safe environment +* *Network access bypass*: Any way to make network requests +* *File system access*: Any way to read or write files +* *Code injection*: Any way to execute arbitrary code +* *Data leakage*: Any way to collect or transmit user data + +==== Also Important + +* Memory safety issues +* Denial of service vulnerabilities +* Error messages that reveal system information + +=== Response Timeline + +Given the child safety implications: + +[cols=",",options="header",] +|=== +|Stage |Timeframe +|*Initial Response* |24 hours +|*Triage* |48 hours +|*Resolution* |As fast as possible +|=== + +=== Safe Harbor + +If you conduct security research in accordance with this policy: + +* We will not initiate legal action against you +* We will not report your activity to law enforcement +* We will work with you in good faith to resolve issues + +''''' + +_Keeping children safe while they learn to code is our top priority._ + +Last updated: 2025 diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 74a28fa..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,76 +0,0 @@ - -# Security Policy - -We take security extremely seriously, especially since Me is designed for children. - -## Child Safety is Paramount - -Me is designed with child safety as the top priority: - -- **No internet access**: Programs cannot make network requests -- **No file system access**: Programs cannot read or write files -- **No code execution**: Cannot execute arbitrary system commands -- **Sandboxed environment**: All code runs in a safe, isolated sandbox -- **No data collection**: We never collect any data from users - -## Reporting a Vulnerability - -### Preferred Method: GitHub Security Advisories - -1. Navigate to - [Report a Vulnerability](https://github.com/hyperpolymath/me-dialect-playground/security/advisories/new) -2. Click **"Report a vulnerability"** -3. Complete the form with as much detail as possible - -### Alternative: Email - -| | | -| --------- | ----------------------- | -| **Email** | hyperpolymath@proton.me | - -> **Important:** Do not report security vulnerabilities through public GitHub issues. - -## Scope - -### Critical for Child Safety - -We treat the following as highest priority: - -- **Sandbox escapes**: Any way to break out of the safe environment -- **Network access bypass**: Any way to make network requests -- **File system access**: Any way to read or write files -- **Code injection**: Any way to execute arbitrary code -- **Data leakage**: Any way to collect or transmit user data - -### Also Important - -- Memory safety issues -- Denial of service vulnerabilities -- Error messages that reveal system information - -## Response Timeline - -Given the child safety implications: - -| Stage | Timeframe | -| -------------------- | ------------------- | -| **Initial Response** | 24 hours | -| **Triage** | 48 hours | -| **Resolution** | As fast as possible | - -## Safe Harbor - -If you conduct security research in accordance with this policy: - -- We will not initiate legal action against you -- We will not report your activity to law enforcement -- We will work with you in good faith to resolve issues - ---- - -_Keeping children safe while they learn to code is our top priority._ - -Last updated: 2025 diff --git a/docs/tech-debt-2026-05-26.adoc b/docs/tech-debt-2026-05-26.adoc new file mode 100644 index 0000000..f1c35be --- /dev/null +++ b/docs/tech-debt-2026-05-26.adoc @@ -0,0 +1,67 @@ +== Tech-Debt Audit — me-dialect — 2026-05-26 + +*Source:* estate-wide automated scan 2026-05-26. *Companion:* +https://github.com/hyperpolymath/standards/tree/main/docs/audits[`+hyperpolymath/standards+` +2026-05-26-estate-*-debt audits]. *Combined severity:* `+MEDIUM+`. + +This file records the _raw findings_ — it does not by itself fix the +debt. Each section ends with a '`Recommended next move`' line; closing +the debt is follow-up work. + +=== 1. Proof debt + +No proof-bearing files (`+*.v+`, `+*.lean+`, `+*.agda+`, `+*.idr+`, +`+*.idr2+`, `+*.fst+`, `+*.dfy+`, `+*.tla+`, `+*.ads+`, `+*.adb+`) found +in this repo. + +*Recommended next move:* none. + +=== 2. Licence debt + +[cols=",",options="header",] +|=== +|Field |Value +|LICENSE file |`+LICENSE+` +|SPDX header |`+MPL-2.0+` +|Manifest licence |`+NONE+` +|Body classifier |`+MPL-some+` +|Severity |`+ok+` +|=== + +*Recommended next move:* none for licence. + +=== 3. Documentation debt + +[cols=",",options="header",] +|=== +|Field |Value +|README lines |287 +|`+docs/+` files |0 +|`+docs/+` LoC |0 +|CHANGELOG.md |Y +|CONTRIBUTING.md |Y +|CODE_OF_CONDUCT.md |Y +|SECURITY.md |Y +|Severity |`+MEDIUM+` +|=== + +*Recommended next move:* introduce a `+docs/+` directory. The README at +287 lines has likely grown to do the work of `+docs/+` — split it into a +thin README + `+docs/architecture.md+`, `+docs/usage.md+`, etc. +Heavy-wiki exemplars to copy from: `+affinescript+`, `+boj-server+`, +`+echidna+`, `+hypatia+`. + +=== Cross-references + +* Estate proof-debt audit: +`+hyperpolymath/standards/docs/audits/2026-05-26-estate-proof-debt.md+` +* Estate licence-debt audit: +`+hyperpolymath/standards/docs/audits/2026-05-26-estate-licence-debt.md+` +* Estate documentation-debt audit: +`+hyperpolymath/standards/docs/audits/2026-05-26-estate-documentation-debt.md+` + +''''' + +🤖 Generated by Claude Code estate-wide tech-debt scan (2026-05-26). +This file is informational — closing the debt is follow-up work owned by +the maintainer. diff --git a/docs/tech-debt-2026-05-26.md b/docs/tech-debt-2026-05-26.md deleted file mode 100644 index c185c19..0000000 --- a/docs/tech-debt-2026-05-26.md +++ /dev/null @@ -1,55 +0,0 @@ - - -# Tech-Debt Audit — me-dialect — 2026-05-26 - -**Source:** estate-wide automated scan 2026-05-26. -**Companion:** [`hyperpolymath/standards` 2026-05-26-estate-*-debt audits](https://github.com/hyperpolymath/standards/tree/main/docs/audits). -**Combined severity:** `MEDIUM`. - -This file records the *raw findings* — it does not by itself fix the debt. Each section ends with a 'Recommended next move' line; closing the debt is follow-up work. - -## 1. Proof debt - -No proof-bearing files (`*.v`, `*.lean`, `*.agda`, `*.idr`, `*.idr2`, `*.fst`, `*.dfy`, `*.tla`, `*.ads`, `*.adb`) found in this repo. - -**Recommended next move:** none. - -## 2. Licence debt - -| Field | Value | -|---|---| -| LICENSE file | `LICENSE` | -| SPDX header | `MPL-2.0` | -| Manifest licence | `NONE` | -| Body classifier | `MPL-some` | -| Severity | `ok` | - -**Recommended next move:** none for licence. - -## 3. Documentation debt - -| Field | Value | -|---|---| -| README lines | 287 | -| `docs/` files | 0 | -| `docs/` LoC | 0 | -| CHANGELOG.md | Y | -| CONTRIBUTING.md | Y | -| CODE_OF_CONDUCT.md | Y | -| SECURITY.md | Y | -| Severity | `MEDIUM` | - -**Recommended next move:** introduce a `docs/` directory. The README at 287 lines has likely grown to do the work of `docs/` — split it into a thin README + `docs/architecture.md`, `docs/usage.md`, etc. Heavy-wiki exemplars to copy from: `affinescript`, `boj-server`, `echidna`, `hypatia`. - -## Cross-references - -- Estate proof-debt audit: `hyperpolymath/standards/docs/audits/2026-05-26-estate-proof-debt.md` -- Estate licence-debt audit: `hyperpolymath/standards/docs/audits/2026-05-26-estate-licence-debt.md` -- Estate documentation-debt audit: `hyperpolymath/standards/docs/audits/2026-05-26-estate-documentation-debt.md` - ---- - -🤖 Generated by Claude Code estate-wide tech-debt scan (2026-05-26). This file is informational — closing the debt is follow-up work owned by the maintainer.