release: v21.0.0 – Full Self‑Hosting (S1/S2/S3 complete)

- DoD met: S1/S2 determinism (const/compare/threeblock-collect), PRIMARY hv1 inline no-fallback, S3 (llvmlite+kernel) reps green
- Harness: v1→llvmlite direct, EXE links to libnyash_kernel.a
- Python LLVM builder fixes: cmp normalization, ret PHI synthesis, mir_call flat shape
- Using/alias polish (prod): modules-first; missing aliases added; duplicate using cleaned
- Docs: phase-21.0 COMPLETE; CurrentTask closed; release notes added
This commit is contained in:
nyash-codex
2025-11-06 16:59:34 +09:00
parent c40fdd95bc
commit e326e787a4
21 changed files with 311 additions and 100 deletions

View File

@ -26,3 +26,13 @@ Notes
- docs: Added ARCHITECTURE.md, LOWERING_LLVM.md, EXTERNCALL.md, PLUGIN_ABI.md.
- nyrt: resolved plugin module duplication; build green.
- builder: suppressed StringBox birth (constructed in LLVM path).
## 20251106 — Phase 21.0 (Full SelfHosting)
- Full SelfHosting achieved (DoD met):
- S1/S2 determinism: v1 emit for const/compare/threeblockcollect repeats 3× with identical normalized hash.
- PRIMARY nofallback (hv1 inline): selfhost_v1 minimal OptionA/B reps PASS (rc=42).
- S3 (llvmlite + Nyash Kernel link + run): ternary collect (rc=44) / map set→size (rc=1) PASS. Autoruns when LLVM18/llvmlite is present.
- Harness/root changes:
- ny_mir_builder.sh routes v1 JSON directly to llvmlite harness; EXE links against libnyash_kernel.a.
- Python LLVM builder fixes: cmp field normalization (Lt/Le/… → < <= …), ret PHI synthesis (avoid ret=0), flat mir_call shape acceptance.
- Using/alias polish (prod): modules mapping preferred; missing module aliases added (StrCast / MethodAliasPolicy). Duplicate using in VM extern_provider cleaned.
- Docs: phase21.0 marked COMPLETE (Quick Verify updated). CURRENT_TASK closed.