3.6 KiB
3.6 KiB
Mizan — Known Issues
Status board against the current codebase: Rust codegen (protocol/mizan-codegen),
KDL IR, kernel-owned frontend state (@mizan/base). Issues that the earlier
expert-review board filed against the deleted JavaScript codegen and the
pre-kernel mizan-react provider have been removed — they audited files that
no longer exist.
Open
- Vue / Svelte frontend packages are unimplemented stubs.
frontends/mizan-vueandfrontends/mizan-sveltecontain only apackage.json— nosrc/. The Rust codegen emits Vue composables and Svelte stores (src/emit/vue.rs,src/emit/svelte.rs, byte-checked byvue_svelte_parity.rs), but there is no runtime kernel-adapter package for either and no example app exercises them against a live backend. React is the only frontend with full integration verification. - Svelte adapter emits Svelte 4 stores.
src/emit/svelte.rsgeneratesreadablestores fromsvelte/store. Svelte 5$state/$derivedrunes are the current idiom. - Forms have no codegen target.
mizan-react/src/forms.ts(form core hooks) is hand-written and consumed via the pre-kernelMizanProvider; the e2e harness has its form fixtures removed. A form codegen target wired tomizanCallis owed. - Upload dispatch not wired for Rust/Axum + Tauri. The
Uploadtype is first-class end to end — IR (uploadKDL node), codegen (TSFile; the Rust target lowers it toVec<u8>), kernel (auto-multipart), and dispatch+constraint binding on Django and FastAPI. The Rust/Axum and Tauri adapters have no upload concept at dispatch — they don't bind multipart file parts yet. - Pre-kernel MizanProvider still shipped.
mizan-react/src/context.tsx(~750 lines) is the pre-kernel provider, still imported by the desktop example. It coexists with the codegen-emittedMizanContext(which subscribes to@mizan/base). Migrating the desktop example onto the generated provider retires it. - Cache module open issues. See
backends/mizan-django/src/mizan/cache/KNOWN_ISSUES.md: cross-language stringification of un-normalized value types, and no thundering-herd / single-flight protection. - Packages missing a README.
frontends/mizan-base(the kernel everything imports),protocol/mizan-codegen(the codegen binary),frontends/mizan-vue,frontends/mizan-svelte,frontends/mizan-rust,backends/mizan-ts,backends/mizan-rust-axum,cores/mizan-python.
Resolved this pass
- Codegen test suite compile break — every
mizan-codegentest constructedSourceConfigwithout therust/scriptfields added alongside the Rust-backend work. Suite now compiles and is green. - React parity baseline — the emitter correctly drops the dead
initSession/MizanErrortop-level imports (they are only re-exported, never used in the module body); baseline regenerated. Fixed the template whitespace artifact that indented the} from '@mizan/base'closing brace. - Edge manifest non-determinism —
generate_edge_manifestiterated registration order; now sorts context and mutation keys, so the manifest is deterministic regardless of registration order. - Dead code removed —
workers/mizan-ssr/src/test-worker.tsx(a relic of the rejectedregisterComponentregistry), unused TS helpersisResponseReturnandsortedStringify(mizan-ts), the unusedIndexMapimport (emit/python.rs), the deaddebug_expose_namesDjango setting, and the deadpackage.jsonexports + vite aliases (./client/nextjs,./allauth,./allauth/nextjs) pointing at source that does not exist.