006 reject private event in contract

○ Planned This feature is planned but not yet implemented.

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.

Failure Output

error[KORU044]: cannot access private event 'app.contract:compute' from module 'input'
  --> tests/regression/100_MODULE_SYSTEM/140_FILE_LAYOUT/140_006_reject_private_event_in_contract/input.kz:10:0
    |
 10 | ~app/contract:compute(x: 42): v |> std/io:print.ln("{{ v:d }}")
    | ^
  hint: mark the tor as public with ~pub tor

Code

input.kz

Frontend must reject with:

CONTAINS KORU111
CONTAINS private event in contract file

Flows

flow ~compute click a branch to expand · @labels scroll to their anchor
compute (x: 42)

Imported Files

contract.kz