Skip to main content

Full Test Failure Report - 2026-03-27

Prioritized fail list: docs/diagnostics/full_test_failures_prioritized_2026-03-27.md

Run Summary

  • Primary command: .\morphc.bat build --test
  • Primary result: build passed, test phase collapsed to unit all
  • Primary log: full_test_run_2026-03-27.log
  • Diagnostic follow-up: ran morph_unit_tests.exe with PATH=<build-bin>;C:\msys64\mingw64\bin;%PATH%
  • Diagnostic result: the unit binary started correctly, exposed 41 explicit [ FAIL ] tests, then terminated without a clean suite summary
  • Diagnostic log: full_unit_tests_with_path_2026-03-27.log

Infrastructure Findings

IDSymptomObserved evidenceLikely causeConfidence
RC-0morphc build --test reports only unit allmorph_unit_tests.exe exits with -1073741515; the same binary starts once PATH includes build bin and C:\msys64\mingw64\binTest-runner environment is missing runtime DLL search paths, so the loader fails before main()High
RC-10PATH-fixed unit run still does not end cleanlyLate in the run the process throws morphlang::codegen::CodegenDiagnosticError: backend route could not cast LLVM value from 'ptr' to 'i64'Unhandled codegen exception aborts the tail of the suite and may hide additional failures after the last printed testHigh

Probable Cause Legend

Cause IDAreaWorking hypothesisRepresentative files
RC-1LSP localization / diagnostic metadataLocalized diagnostic catalog entries or metadata propagation are missing after recent diagnostic pipeline changestests/lsp/test_diagnostic_fixes.cpp, tests/lsp/test_diagnostic_localization.cpp
RC-2Expression parser disambiguationThe new grouped-expression / lambda / statement-form parser path regressed existing if-expression and arrow-lambda behaviortests/sema/test_semantic.cpp
RC-3Semantic symbol descriptorsField/member descriptors exposed to navigation APIs no longer match expected fieldStorage shapetests/sema/test_semantic.cpp
RC-4Plugin-owned graphics / test feature registrationMorph-owned or plugin-owned graphics/test features are no longer registered into semantic facts consistentlytests/sema/test_semantic.cpp, tests/nir/test_nir_builder.cpp
RC-5Type system / Input enum semanticsEnum, Input<T>, cast, or return-type validation changed unexpectedlytests/sema/test_semantic.cpp, tests/nir/test_nir_builder.cpp
RC-6VCON / domain routingSource-to-domain routing and project entry resolution are no longer stabletests/vcon/test_domain_routing.cpp, tests/nir/test_morph_optimizer.cpp
RC-7VCON VM runtime semanticsVM execution or cast semantics regressed for basic and nullable cast flowstests/vcon/test_vm.cpp
RC-8NIR lowering / type propagationLowering is missing semantic feature facts, preserving wrong types, or emitting changed IRtests/nir/test_nir_builder.cpp, tests/nir/test_optimizer_part02.inc
RC-9Morph workspace / manifest validationPackage discovery, manifest validation, domain registration, or package graph filtering changed unexpectedlytests/nir/test_morph_optimizer.cpp, tests/nir/test_morph_package_enablement.cpp

Explicit Failing Tests

Failing testShort symptomProbable cause IDs
DiagnosticFixRegistryProvidesUnusedBindingFixFromMetadataFixIdDiagnostic metadata is missing where the fix registry expects itRC-1
DiagnosticLocalizerLoadsLocalizedCatalogEntriesLocalized catalog lookup does not return the expected entryRC-1
DocumentManagerLocalizesDiagnosticsUsingResolvedLanguageResolved document language is not producing localized diagnosticsRC-1
DiagnosticLocalizerRendersTemplateArgumentsFromCatalogLocalized template substitution no longer matches expected rendered textRC-1
DiagnosticLocalizerRendersUnknownIdentifierTemplateArgumentsUnknown-identifier localization output changed unexpectedlyRC-1
DiagnosticLocalizerAttachesCatalogMetadataToRenderedDiagnosticsLocalized diagnostics are missing expected catalog metadataRC-1
ParserKeepsIfExpressionAvailableWhenStatementFormDoesNotMatchParser now yields semantic errors where if expression fallback should still be availableRC-2
ParserParsesArrowLambdaAndValueOfViaExpressionFormsArrow-lambda or valueOf expression parsing regressedRC-2
SemanticResolvedSymbolsExposeKindsForDefinitionsAndReferencesDefinition/reference symbol kind no longer matches expected field descriptorRC-3
SemanticProgramViewResolvesImportedSymbolsAcrossFilesImported symbol descriptors differ from expected field descriptor shapeRC-3
SemanticDocumentSymbolsIncludeMorphOwnedShaderDeclarationsDocument symbol tree shape for morph-owned shader declarations changedRC-3
SemanticTypeMemberLookupExposesClassMembersMember lookup does not expose the expected class field symbolRC-3
SemanticAcceptsEnumInterfaceStructAndDictionaryTypeType acceptance for enum/interface/struct/dictionary path regressedRC-5
SemanticAllowsPluginOwnedGraphicsGoldenSnapshotsInsideTestBlockPlugin-owned graphics golden snapshot API is rejected semanticallyRC-4
SemanticInputGenericAcceptsEnumUsageInput<T> enum usage is no longer acceptedRC-5
SemanticInputGenericRejectsSecretForEnumTypeExpected enum-secret diagnostic is missing or changedRC-5
SemanticCanvasOnFrameAcceptsTypedGraphicsV2CommandsTyped graphics V2 commands are no longer accepted in semantic analysisRC-4
SemanticRejectsFloatLiteralReturnedFromIntMethodReturn-type mismatch detection for float -> int changedRC-5
VconDomainRoutingResolvesNativeSourceFileNative source file no longer resolves to a VCON build domainRC-6
VconDomainRoutingResolvesProjectByRegisteredMainFileProject root no longer resolves through registered main-file routingRC-6
VconDomainRoutingRejectsAmbiguousProjectMainFilesAmbiguous main-file routing no longer emits the expected errorRC-6
VconVmRunsSimpleProgramBasic VM program execution failsRC-7
VconVmRunsSuccessfulNullableCastProgramVM nullable-cast success path failsRC-7
VconVmRejectsInvalidRequiredCastProgramRequired-cast failure no longer emits the expected VM errorRC-7
VconVmAllowsInvalidNullableCastProgramNullable-cast permissive behavior regressedRC-7
NirLowersPluginOwnedGraphicsGoldenSnapshotsInsideTestBlockNIR lowering reports missing Morph-owned assert feature factsRC-4, RC-8
NirLowersInputEnumChainIntoBuiltinCallNIR lowering reports missing Morph-owned input feature factsRC-5, RC-8
NirPreservesExplicitDynamicStorageTypeNIR alloca/storage type is no longer preserved as DynamicRC-8
NirEmitsCastInstructionForCastPipelineNIR cast result type no longer matches expected nullable float shapeRC-8
NirLowersDescriptorFieldAssignmentsToMaterialSetCallsGraphics descriptor assignments no longer map to graphics.material.set_vec4 familyRC-4, RC-8
OptimizerPropagatesConstantsToReturnOptimizer output diverges from the direct/reference pipelineRC-8
MorphPackageManifestParsesRequiredFieldsManifest ABI/version expectations no longer match parser outputRC-9
MorphFrameworkVNextUsesCanonicalMorphTomlAndGeneratedBuildDiscoveryExpected canonical morph.toml discovery fixture is not foundRC-9
MorphWorkspaceLoadsLibrariesInDeterministicOrderLoaded library set/order differs from the deterministic expectationRC-9
MorphWorkspaceRejectsMissingDllMissing plugin/DLL validation path no longer fails as expectedRC-9
DomainManifestRejectsMissingPluginsMissing-plugin manifest validation path changed unexpectedlyRC-9
DomainManifestRejectsDuplicateSourceExtensionsDuplicate source-extension validation path changed unexpectedlyRC-9
DomainManifestResolvesSourcePathsToDomainSource-path to domain resolution no longer matches manifest expectationsRC-6, RC-9
MorphLoweringOwnedSliceFailsWhenComponentIsMissingMissing-component failure changed into a required-service / ABI mismatch errorRC-8, RC-9
MorphCoreRemovesWindowsPolicyOutsideMorphPackagesRepository invariant still detects Windows policy outside morph packagesRC-9
package_enablement_disables_domain_in_graphEnabled-package graph filtering fails when a domain is disabledRC-9

Prioritization

  1. Fix RC-0 first so morphc build --test can surface real failures without manual PATH surgery.
  2. Fix RC-10 next because the uncaught codegen exception can mask additional failing tests.
  3. Then work top-down by blast radius: RC-9 package/workspace loading, RC-8 lowering/type propagation, RC-2 parser regressions, and finally RC-1 localization-only issues.