module system / file layout
✓ 29 passing ○ 1 planned
Lessons
1 ✓
Passing
001 kjs extension import
2 ✓
Passing 002 k pure contract
3 ✓
Passing 003 directory mixed extensions
4 ✓
Passing 004 index kjs directory source
5 ✓
Passing 005 companion k and kz
6 ○
Planned 006 reject private event in contract — Rework as a cross-module private-event VISIBILITY test. KORU111 Rule 1 (private event in .k rejected) was removed 2026-07-17 — private events are legal in a .k full program. The surviving intent here is that a PRIVATE event must not be callable across a module boundary; that needs cross-module visibility enforcement (see 110_002 TODO) before this can be re-pinned.
7 ✓
Passing 007 reject pub event in impl when k exists
8 ✓
Passing 008 pub event in kz alone is fine
9 ✓
Passing 009 entry merges companions
10 ✓
Passing 010 cross target host line routing
11 ✓
Passing 011 vaxis pump realistic
12 ✓
Passing 012 js dispatch binding shadow
13 ✓
Passing 013 js continuation branch dispatch
14 ✓
Passing 014 for template cross target
15 ✓
Passing 015 if template cross target
16 ✓
Passing 016 private event in k allowed
17 ✓
Passing 017 lib mode exports survive and are importable
18 ✓
Passing 018 lib mode text crosses as pointer and length
19 ✓
Passing 019 lib mode numeric buffers cross as pointer and length
20 ✓
Passing 020 part basic join
21 ✓
Passing 021 part tilde spelling
22 ✓
Passing 022 part host facet routing
23 ✓
Passing 023 part missing errors
24 ✓
Passing 024 part duplicate decl errors
25 ✓
Passing 025 part tag underscore rejected
26 ✓
Passing 026 part dir collision
27 ✓
Passing 027 part error location preserved
28 ✓
Passing 028 part nested refused
29 ✓
Passing 029 dup tor across facets refused
30 ✓
Passing 030 submodule canonical facet