Skip to content

docs(claude): refresh language-policy tables for 2026-05-25 estate policy#363

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/lang-policy-refresh-claudemd
May 25, 2026
Merged

docs(claude): refresh language-policy tables for 2026-05-25 estate policy#363
hyperpolymath merged 2 commits into
mainfrom
claude/lang-policy-refresh-claudemd

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Refreshes the .claude/CLAUDE.md language-policy tables to reflect the estate policy delivered in-session 2026-05-25. Mirrors the machine-enforced side in hypatia#318 (CicdRules @blocked_patterns updates + MPL-1.0 added to @wrong_licenses).

Changes

  • Top-of-section banner pinned to 2026-05-25 capturing the headline policy change.
  • ALLOWED table: AffineScript promoted from absent → "Primary application code" row.
  • LEGACY (new table): ReScript / JavaScript moved here with explicit "no new occurrences" disposition + migration-tool reference ([Repo] Migration assistant tool: parser + metaparser for .res→.affine skeletons #57).
  • BANNED table updates:
  • Exemption section renamed TypeScript ExemptionsTypeScript / JavaScript Exemptions (JS now has the same posture).
  • Enforcement rule 2 added: No new ReScript files (existing stays until migrated via [Repo] Migration assistant tool: parser + metaparser for .res→.affine skeletons #57).
  • Enforcement rule 8 added: MPL-1.0 / MPL-1.0-or-later are non-conforming, rewrite to MPL-2.0.
  • Tauri 2.0+ description: "Web UI (ReScript) + Rust backend" → "Web UI (AffineScript) + Rust backend".

Approved exemptions preserved

.d.ts declaration files, affinescript-deno-test/*.ts, the affinescript-cli/mod.js shim, and editors/vscode/test/*.js — all remain in the carve-out table further down in CLAUDE.md. The policy refresh tightens the default posture; it does not retroactively invalidate documented exemptions.

Migration ramp realism

This repo's compiler-host tooling itself uses ReScript-derived patterns. Migration happens opportunistically via tools/res-to-affine/ — not as a sweep.

Closes-Refs hypatia#318 (machine-enforced side of this policy).

🤖 Generated with Claude Code

@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 108 issues detected

Severity Count
🔴 Critical 15
🟠 High 49
🟡 Medium 44

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Stray AI.a2ml in root -- use 0-AI-MANIFEST.a2ml only",
    "type": "banned",
    "file": "AI.a2ml",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "high"
  },
  {
    "reason": "Superseded by 0-AI-MANIFEST.a2ml",
    "type": "banned",
    "file": "AI.djot",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "high"
  },
  {
    "reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Action actions/checkout@v6 needs attention",
    "type": "unpinned_action",
    "file": "publish-jsr.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action denoland/setup-deno@v2 needs attention",
    "type": "unpinned_action",
    "file": "publish-jsr.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/example/smoke_driver.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/cli.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/lib/compile.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/lib/runner.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

1 similar comment
@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 108 issues detected

Severity Count
🔴 Critical 15
🟠 High 49
🟡 Medium 44

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Stray AI.a2ml in root -- use 0-AI-MANIFEST.a2ml only",
    "type": "banned",
    "file": "AI.a2ml",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "high"
  },
  {
    "reason": "Superseded by 0-AI-MANIFEST.a2ml",
    "type": "banned",
    "file": "AI.djot",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "high"
  },
  {
    "reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Action actions/checkout@v6 needs attention",
    "type": "unpinned_action",
    "file": "publish-jsr.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action denoland/setup-deno@v2 needs attention",
    "type": "unpinned_action",
    "file": "publish-jsr.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/example/smoke_driver.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/cli.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/lib/compile.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/lib/runner.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath enabled auto-merge (squash) May 25, 2026 22:52
hyperpolymath and others added 2 commits May 26, 2026 00:36
…licy

Estate policy refresh delivered 2026-05-25 (in-session, owner-confirmed):

  * AffineScript is the primary application language going forward
    (this repo is its home).
  * ReScript moves from "primary application code" to LEGACY — existing
    .res files stay until migrated via tools/res-to-affine/ (#57); new
    .res files are banned.
  * TypeScript replacement updated: was "use ReScript", now "use
    AffineScript". Same for JavaScript in projects that have been
    meaningfully migrated.
  * MPL-1.0 + MPL-1.0-or-later are banned; rewrite to MPL-2.0 in both
    code (SPDX headers) and docs whenever encountered.

Changes to .claude/CLAUDE.md:

  * Added a top-of-section policy-refresh banner pinned to 2026-05-25.
  * Promoted AffineScript to the primary application language row.
  * Demoted ReScript and JavaScript into a new LEGACY table with
    explicit "no new occurrences" disposition.
  * Updated BANNED table: TypeScript → AffineScript (was ReScript),
    Python → AffineScript/Rust/Julia (was ReScript/Rust), added
    explicit MPL-1.0 / MPL-1.0-or-later rows.
  * Renamed the exemption table from "TypeScript Exemptions" to
    "TypeScript / JavaScript Exemptions" since JS now has the same
    posture; cross-reference Hypatia's scanner-suppression mechanism.
  * Added a new enforcement rule (No new ReScript files) and updated
    the Tauri 2.0+ line to say "Web UI (AffineScript)".

This mirrors the Hypatia rule changes landing in hypatia#318 (CicdRules
`@blocked_patterns` updates + MPL-1.0 in `@wrong_licenses`). Repo
CLAUDE.md is the human-readable source of truth; the Hypatia rules
are the machine-enforced version.

Approved exemptions (.d.ts files, affinescript-deno-test/*.ts, the
affinescript-cli/mod.js shim, editors/vscode/test/*.js) stay honoured
via the existing exemption-table rows further down in this file.

Closes-Refs hypatia#318 (machine-enforced side of this policy).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Owner directive 2026-05-25: no Jekyll anywhere in estate; canonical SSG
is hyperpolymath/casket-ssg (Haskell, the owner's own tool). This repo
already migrated — `.github/workflows/casket-pages.yml` is the
reference pattern.

Mirrors hypatia#318's machine-enforced side (the BuildSystemRules /
CicdRules updates land 4 new @blocked_patterns entries:
:jekyll_workflow_detected, :jekyll_gh_pages_workflow_detected,
:jekyll_config_detected, :gemfile_detected).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath hyperpolymath force-pushed the claude/lang-policy-refresh-claudemd branch from 08eb2e2 to c2286a7 Compare May 25, 2026 23:36
@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 108 issues detected

Severity Count
🔴 Critical 15
🟠 High 48
🟡 Medium 45

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Stray AI.a2ml in root -- use 0-AI-MANIFEST.a2ml only",
    "type": "banned",
    "file": "AI.a2ml",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "high"
  },
  {
    "reason": "Superseded by 0-AI-MANIFEST.a2ml",
    "type": "banned",
    "file": "AI.djot",
    "action": "delete",
    "rule_module": "root_hygiene",
    "severity": "high"
  },
  {
    "reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Action actions/checkout@v6 needs attention",
    "type": "unpinned_action",
    "file": "publish-jsr.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action denoland/setup-deno@v2 needs attention",
    "type": "unpinned_action",
    "file": "publish-jsr.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/example/smoke_driver.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/cli.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/mod.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/lib/compile.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/affinescript/affinescript/affinescript-deno-test/lib/runner.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath merged commit 974c55d into main May 25, 2026
16 of 19 checks passed
@hyperpolymath hyperpolymath deleted the claude/lang-policy-refresh-claudemd branch May 25, 2026 23:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant