Current Limitations
BRIK-64 is in Closed Beta (v5.0.0-beta.1). This page documents what works today and what’s still in development. We believe honesty about limitations builds more trust than overpromising.
What Works Today (Level 1-2)
| Pattern | Status | Example |
|---|
| Pure arithmetic functions | ✅ 100% | add(a,b), celsius(c) |
| If/else conditionals | ✅ 100% | max(a,b), clamp(v,lo,hi) |
| While/for loops | ✅ ~80% | gcd(a,b), factorial(n) |
| Array access | ✅ ~80% | arr[i], arr.length |
| Object dot-access | ✅ ~80% | user.name, user.age |
| String operations | ✅ ~70% | charAt, slice, length |
| Math.* functions | ✅ 100% | Math.max, Math.floor, Math.random |
| Variable mutation (x++, x+=5) | ✅ 100% | SSA transform handles reassignment |
| Ternary expressions | ✅ ~80% | a > b ? a : b |
| COBOL COMPUTE | ✅ 100% | Arithmetic statements transpile perfectly |
Honest benchmark: 8/10 lodash utility functions transpile and execute correctly.
What Doesn’t Work Yet (Level 3-4)
| Pattern | Status | Why |
|---|
| Classes with inheritance | 🔧 Partial | class Foo extends Bar — basic classes work, inheritance doesn’t |
| async/await | ❌ Not yet | Requires state machine transformation per target |
| Generics/templates | ❌ Not yet | Requires monomorphization at lift time |
| try/catch error handling | 🔧 Partial | Simple cases work, complex chains don’t |
| Closures with mutable state | 🔧 Partial | Lambda lifting works for simple cases |
| Cross-module imports (runtime) | ❌ Not yet | Imports are parsed but not resolved at execution time |
| Framework-specific patterns | ❌ Not yet | Express routes, React components, Django views |
| Reflection/metaprogramming | ❌ Not planned | Fundamentally incompatible with static verification |
eval() / dynamic code | ❌ Not planned | Cannot statically verify dynamic code |
Certification Levels
Not all transpiled code receives the same certification:
| Level | Meaning | What qualifies |
|---|
| CORE (Φ_c = 1) | Mathematically proven correct | Pure functions using 64 core monomers |
| CONTRACT | Correct by agreement, not proof | Functions using extended monomers (I/O, network) |
| UNCERTIFIED | Transpiled but not verified | Complex patterns that bypass PCD check |
Today, approximately:
- 60% of lifted functions achieve CORE certification
- 30% achieve CONTRACT certification
- 10% cannot be certified (flagged for manual review)
Known Issues
- Loop conditions can lose variables — SSA transform sometimes zeros while-loop conditions. Being fixed.
- Array mutation (push/pop) — Not fully supported as PCD operations yet.
=== undefined — Treated as == 0, which is semantically different.
- Float formatting — Python outputs
0.0 vs JavaScript 0 for float zero.
- BIR bytecode — Does not support recursive function calls.
Roadmap to Full Coverage
| Level | Target | Timeline |
|---|
| L2 “Logic” | 80%+ of utility libraries | Q2 2026 |
| L3 “Systems” | 95%+ of library code | Q3 2026 |
| L4 “Universal” | 99%+ of application code | Q1 2027 |
How to Report Issues
If you find a function that should transpile but doesn’t:
brikc report --file problematic-function.js
Or open an issue at github.com/brik64-admin/brik64-prod/issues.