policy: AffineScript is primary, ReScript is banned — finish the migration - #91
Conversation
…ation This file was left half-migrated. It named **ReScript** as "Primary application code" while, twelve lines below, already saying JavaScript is for use "Only where AffineScript cannot" and describing OCaml as the "AffineScript compiler". The file contradicted itself about which language it targets. The Bun/Deno PR (#90) swapped the runtime and correctly left the language axis alone, so the contradiction survived onto main: a file that bans Deno and mandates Bun, while still directing new application code at a language canon bans. Aligned with ratified canon — ReScript is banned, destination AffineScript: - Primary application code: ReScript -> AffineScript - Banned table: `TypeScript | ReScript` -> `TypeScript | AffineScript`, and ReScript added as its own banned row - `Python | Julia/Rust/ReScript` -> `Julia/Rust/AffineScript` - Tauri web UI: ReScript -> AffineScript - Enforcement Rule 5: "ReScript for apps" -> "AffineScript for apps" The last two were caught by grepping for every remaining mention after the table edits; stopping at the tables would have left ReScript prescribed as a destination in the prose. ReScript now appears exactly once, as a banned row. Enforcement Rule 1 is untouched: standards#655 records that collision as not resolvable unilaterally. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (20)
🔇 Additional comments (2)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe project guidance changes its primary application language from ReScript to AffineScript. It updates language replacement rules, Tauri mobile guidance, and the “No Python anywhere” rule. ChangesApplication language guidance
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This localized documentation update aligns the migration guidance with AffineScript as the primary language and introduces no actionable merge-blocking risk beyond normal checks and review. Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.) Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Up to standards ✅🟢 Issues
|
There was a problem hiding this comment.
Pull Request Overview
The PR successfully updates the core tables and specific sections of the .claude/CLAUDE.md policy to reflect the transition from ReScript to AffineScript. According to quality analysis, the changes are up to standards. However, a minor omission was identified in the 'Enforcement Rules' section where ReScript should be explicitly listed alongside TypeScript to ensure the migration is fully enforced during automated code generation and refactoring.
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
| |--------|-------------| | ||
| | TypeScript | ReScript | | ||
| | TypeScript | AffineScript | | ||
| | ReScript | AffineScript | |
There was a problem hiding this comment.
🟡 MEDIUM RISK
Suggestion: The Enforcement Rules should be updated to reflect that ReScript is now banned. While the banned table is correct, Rule 1 (Line 51 in context) still only mentions TypeScript. It should be expanded to include ReScript to ensure consistent migration behavior. Suggestion: Update the rule to: "1. No new TypeScript or ReScript files - Convert existing TS/ReScript to AffineScript"



.claude/CLAUDE.mdwas left half-migrated, and #90 landed the Bun/Deno swap on top of it.mainnow reads:A file that bans Deno and mandates Bun, while still directing new application code at a language canon bans.
It contradicted itself, not just canon
Line 9 called ReScript primary. Twelve lines below, line 16 already said JavaScript is for use "Only where AffineScript cannot", and line 20 described OCaml as the "AffineScript compiler". Half the file had migrated and half had not.
That is what made it survive the fleet sweep: a half-migrated file looks current, because the modern half matches. #90 correctly changed only the runtime axis and left the language axis alone, so the contradiction rode straight through to
main.Aligned with ratified canon — ReScript banned, destination AffineScript
TypeScript | ReScriptTypeScript | AffineScript+ aReScript | AffineScriptrowJulia/Rust/ReScriptJulia/Rust/AffineScriptThe last two were found only by grepping every remaining mention after the table edits. Stopping at the tables would have left ReScript prescribed as a destination in the prose — which is precisely how the file reached this state. ReScript now appears exactly once, as a banned row.
Not touched
Enforcement Rule 1. standards#655 records that collision as not resolvable unilaterally.
🤖 Generated with Claude Code