Skip to main content

Full Test Follow-Up - 2026-03-28

What Closed In This Pass

  • Parser AST dump canonicalization was restored at the generator level.
    • parameter(...) -> Param(...)
    • returnType -> return
    • method body wrapper removed in callable dumps
    • lambda structural dump now unwraps to MethodDecl(<lambda>)
  • Flow match statement parsing was fixed without weakening the declared grammar.
    • Rejected approach: shrinking the plugin rule to only { token = "KW_MATCH" } just to force statement selection.
    • Accepted approach: keep the full match syntax rule in morphs/Flow/blocks/branch_block/block.toml and align the parser probe with the plugin's real arm-body behavior.
    • Rule of record: never "fix" a parser bug by broadening or weakening a plugin-owned syntax contract until it stops failing. Fix the parser/probe so it can honor the full contract.
  • Confirmed passing targeted behavior tests:
    • parse__method_declaration
    • parse__lambda_arrow_expression
    • parse__grouped_call_arguments
    • parse__grouped_expression_and_lambda_disambiguation
    • parse__call_accepts_expression_arguments
    • u038_overload_select_by_type
    • u238_codegen_match_statement_branch_isolation_variant
  • Types parser fixture drift also corrected:
    • types__generic_class_instantiation

Full Rerun Snapshot

Observed from .\morphc.bat build --test on 2026-03-28:

  • Unit tests: clean in the observed run
  • morphs/Test/tests: 431 passed, 108 failed, 2 timeout
  • morphs/Types/tests: 13 passed, 2 failed during the rerun snapshot
  • morphs/Core/tests: remaining observed failures were down to a small structural/semantic subset during the rerun

One Types structural failure was fixed immediately after the rerun:

  • types__generic_class_instantiation now passes

Highest-Signal Remaining Clusters

Approximate recurring failure signals from the rerun:

ClusterSignalApprox. frequencyNotes
Lambda/dynamic call loweringCORE0001 / Failed to build call argument for 'Apply'/'Map'/'Run'highAnonymous callable lowering is still incomplete
Parser regressionsCORE0102 / Expected expression, got '[' or got 'match'highArray/collection literals and some match forms still broken
Captured outer state in local callablesCORE2201 / Undefined identifier: x/k/hitmediumLocal methods/closures are not seeing outer bindings in several regressions
Diagnostic expectation driftCORE0201 or expected-code mismatchesmediumSome tests now produce a more specific diagnostic than the old expected code
Numeric builtins / overloadsMath.Abs, ambiguous overload casesmediumType routing still unstable in a few runtime regressions

Immediate Next Targets

  1. Finish anonymous lambda lowering so Apply / Map / Run regressions stop failing in NIR.
  2. Restore parser support for [-started literals and remaining match statement cases.
  3. Re-run full suite and refresh the prioritized failure inventory.