040 subflow drops obligation on input

✓ Passing This code compiles and runs correctly.

Code

input.kz

Must fail at runtime with:

CONTAINS obligation

Error Verification

Expected Error Pattern

Obligation lost at subflow boundary: process-file accepts *File<opened!>
but its output signature has no discharge (<!opened>) and no re-export
(*File<opened!>). The opened! obligation is silently dropped.

Actual Compiler Output

error[KORU033]: Cannot issue obligation '<opened!>' on input parameter (event: process-file). Use '<!opened>' to consume an existing obligation, or remove the '!' suffix.
  --> phantom_semantic_check:32:0

error[KORU030]: Phantom state mismatch: expected 'input:opened!' but got 'app.fs:opened!' for argument 'file'
  --> phantom_semantic_check:39:0

❌ Compiler coordination error: Phantom semantic validation failed
error: CompilerCoordinationFailed
/Users/larsde/src/koru/tests/regression/300_ADVANCED_FEATURES/335_OBLIGATION_STRESS/335_040_subflow_drops_obligation_on_input/backend.zig:94:13: 0x1011de3b3 in emit (backend)
            return error.CompilerCoordinationFailed;
            ^
/Users/larsde/src/koru/tests/regression/300_ADVANCED_FEATURES/335_OBLIGATION_STRESS/335_040_subflow_drops_obligation_on_input/backend.zig:190:28: 0x1011df09f in main (backend)
    const generated_code = try RuntimeEmitter.emit(compile_allocator, final_ast);
                           ^

Imported Files

fs.kz

Test Configuration

MUST_FAIL