041 subflow opens and forgets

✗ Failing This test is currently failing.

Failed: frontend

Failure Output

Showing last 10 of 12 lines
    |
 33 |     ~app.fs:open(path: "data.txt")
    |     ^
  hint: lift this into a top-level subflow (e.g. `~my_event = call(args) | branch x |> done {}`) or invoke the event from outside the proc body

error[KORU035]: '.' is not a namespace separator in 'app.fs' — use '/' (e.g. 'std/io:...', not 'std.io:...'). '.' is member access after ':'.
  --> tests/regression/300_ADVANCED_FEATURES/335_OBLIGATION_STRESS/335_041_subflow_opens_and_forgets/input.kz:34:1
    |
 34 |     | opened f |> done {}
    | ^

Code

input.kz

Must fail at runtime with:

CONTAINS obligation

Error Verification

Expected Error Pattern

Obligation created inside subflow proc body but not discharged: work() opens
*File<opened!> internally via app.fs:open, then branches to done {} (a void
branch constructor) without calling close(). The opened! obligation is live
at the done {} call — no event in scope accepts <!opened> to discharge it.
Same gap as 518_obligation_lost_at_boundary, single-file form.

Actual Compiler Output

error[KORU003]: inline flows are not supported inside `~proc` bodies: ~app.fs:open(path: "data.txt")
  --> tests/regression/300_ADVANCED_FEATURES/335_OBLIGATION_STRESS/335_041_subflow_opens_and_forgets/input.kz:33:5
    |
 33 |     ~app.fs:open(path: "data.txt")
    |     ^
  hint: lift this into a top-level subflow (e.g. `~my_event = call(args) | branch x |> done {}`) or invoke the event from outside the proc body

error[KORU035]: '.' is not a namespace separator in 'app.fs' — use '/' (e.g. 'std/io:...', not 'std.io:...'). '.' is member access after ':'.
  --> tests/regression/300_ADVANCED_FEATURES/335_OBLIGATION_STRESS/335_041_subflow_opens_and_forgets/input.kz:34:1
    |
 34 |     | opened f |> done {}
    | ^

Imported Files

fs.kz

Test Configuration

MUST_FAIL