Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ The descriptiles are deeds (grammar: `metadatastician/standards`

## Language Policy (Hyperpolymath Standard)

> **Policy refresh 2026-05-25**: AffineScript is now the primary application language across the estate (this is its home repo). / TypeScript / meaningfully-migrated JavaScript are banned going forward — write new code in AffineScript. Existing stays in place as legacy until the `.res → .affine` migration assistant (#488) walks the corpus. MPL-1.0 / MPL-1.0-or-later are banned; rewrite to MPL-2.0 wherever encountered (code + docs). **Jekyll is banned**; the canonical estate SSG is `hyperpolymath/casket-ssg` (Haskell). This repo already migrated via `.github/workflows/casket-pages.yml`.
> **Policy refresh 2026-05-25**: AffineScript is now the primary application language across the estate (this is its home repo). / TypeScript / meaningfully-migrated JavaScript are banned going forward — write new code in AffineScript. Existing stays in place as legacy until the `.res → .affine` migration assistant (#488) walks the corpus. MPL-1.0 / MPL-1.0-or-later are non-conforming: flag them to the owner, never rewrite them (licence changes are manual and owner-only). **Jekyll is banned**; the canonical estate SSG is `hyperpolymath/casket-ssg` (Haskell). This repo already migrated via `.github/workflows/casket-pages.yml`.

### ALLOWED Languages & Tools

Expand Down Expand Up @@ -89,8 +89,8 @@ The descriptiles are deeds (grammar: `metadatastician/standards`
| Swift | Tauri / Dioxus |
| React Native | Tauri / Dioxus |
| Flutter/Dart | Tauri / Dioxus |
| **MPL-1.0** | **MPL-2.0** (rewrite SPDX headers + LICENSE files wherever encountered, code AND docs) |
| **MPL-1.0-or-later** | **MPL-2.0** (same) |
| **MPL-1.0** | Flag only: report it to the owner, who decides. Never rewrite a SPDX header or LICENSE file (standards licence policy, no automated licence edits). |
| **MPL-1.0-or-later** | Flag only (same) |
| **Jekyll** (`jekyll.yml`, `jekyll-gh-pages.yml`, `_config.yml`, `Gemfile`) | **`hyperpolymath/casket-ssg`** (Haskell SSG, owner's own tool). This repo already migrated — see `.github/workflows/casket-pages.yml` for the canonical pattern. Hypatia flags Jekyll filenames as `jekyll_workflow_detected` / `jekyll_gh_pages_workflow_detected` / `jekyll_config_detected` / `gemfile_detected`. |

### Mobile Development
Expand All @@ -111,7 +111,7 @@ Both are FOSS with independent governance (no Big Tech).
5. **No Go code** - Use Rust instead.
6. **No Python, no exceptions** - The SaltStack exception is removed (owner ruling 2026-11-14). Any Python must be rewritten or removed.
7. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus.
8. **MPL-1.0 / MPL-1.0-or-later are non-conforming** - Rewrite to MPL-2.0 in SPDX headers and LICENSE files when encountered (Hypatia's `validate_license` flags both).
8. **MPL-1.0 / MPL-1.0-or-later are non-conforming: flag, never rewrite** - Report each to the owner (Hypatia's `validate_license` flags both). Licence and SPDX changes are manual, per file and owner-only; an agent never edits them (owner ruling 2026-11-14, matching the standards licence policy).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Align the governance gate with the flag-only policy

When a PR contains an MPL-1.0 header, .github/workflows/governance.yml:41 runs tools/ci/governance-standalone.sh, whose lines 38 and 45 still say the header must be rewritten to MPL-2.0 and emit that rewrite as the CI remediation. That directly contradicts this new owner-only rule and can prompt an agent or contributor to make the prohibited licence edit; update the gate's comment and diagnostic to instruct reporting the file to the owner instead.

Useful? React with 👍 / 👎.


### TypeScript Exemptions (Approved)

Expand Down
Loading