Skip to main content

Prioritized Failing Unit Tests - 2026-03-27

Source: latest successful full unit run from .\morphc.bat build --test

Total failing unit tests: 63

Priority rule: sorted by dependency order and blast radius. Fix upper sections first; lower sections may partially self-resolve once upstream breakage is removed.

Status Update

As of 2026-03-27, the P0 band is closed.

  • P0: 10/10 tests pass in targeted reruns.
  • Next active repair band: P1.
  • This file still preserves the original priority ordering from the last full failing run; only P0 status has been updated here.

P0 - Closed: Foundational Morph Workspace / Domain / Package Graph

These were the most central failures. They affected package discovery, manifest validation, domain resolution, and graph loading, so they could cascade into parser, lowering, codegen, VCON, and tooling failures.

Closed by:

  1. aligning MORPHLANG_MORPH_ABI_VERSION_CURRENT with the repo's active manifest ABI

  2. adding the missing Access morph plugin library so enabled package discovery and load order are real, not speculative

  3. adding a canonical disabled Binding package manifest so build discovery sees the package tree consistently

  4. making workspace load fail loudly on missing enabled libraries instead of silently skipping them

  5. making disabled-domain filtering transitive across runtime and regular dependencies

  6. moving required host codegen validation out of raw manifest parsing and into compile/REPL resolution where it belongs

  7. fixing the optimizer test workspace fixture so it includes the Types package and fails for the intended lowering reason

  8. updating the Windows-policy allowlist for legitimate host/platform infrastructure files

  9. MorphPackageManifestParsesRequiredFields

  10. MorphFrameworkVNextUsesCanonicalMorphTomlAndGeneratedBuildDiscovery

  11. MorphWorkspaceLoadsLibrariesInDeterministicOrder

  12. MorphWorkspaceRejectsMissingDll

  13. DomainManifestRejectsMissingPlugins

  14. DomainManifestRejectsDuplicateSourceExtensions

  15. DomainManifestResolvesSourcePathsToDomain

  16. MorphLoweringOwnedSliceFailsWhenComponentIsMissing

  17. MorphCoreRemovesWindowsPolicyOutsideMorphPackages

  18. package_enablement_disables_domain_in_graph

P1 - Frontend / Semantic / VCON Correctness

These are next because they define language correctness before backend lowering even starts. If these stay broken, backend results are not trustworthy.

Parser

  1. ParserKeepsIfExpressionAvailableWhenStatementFormDoesNotMatch
  2. ParserParsesArrowLambdaAndValueOfViaExpressionForms

Semantic

  1. SemanticResolvedSymbolsExposeKindsForDefinitionsAndReferences
  2. SemanticProgramViewResolvesImportedSymbolsAcrossFiles
  3. SemanticDocumentSymbolsIncludeMorphOwnedShaderDeclarations
  4. SemanticTypeMemberLookupExposesClassMembers
  5. SemanticAcceptsEnumInterfaceStructAndDictionaryType
  6. SemanticAllowsPluginOwnedGraphicsGoldenSnapshotsInsideTestBlock
  7. SemanticInputGenericAcceptsEnumUsage
  8. SemanticInputGenericRejectsSecretForEnumType
  9. SemanticCanvasOnFrameAcceptsTypedGraphicsV2Commands
  10. SemanticRejectsFloatLiteralReturnedFromIntMethod

VCON

  1. VconDomainRoutingResolvesNativeSourceFile
  2. VconDomainRoutingResolvesProjectByRegisteredMainFile
  3. VconDomainRoutingRejectsAmbiguousProjectMainFiles
  4. VconVmRunsSimpleProgram
  5. VconVmRunsSuccessfulNullableCastProgram
  6. VconVmRejectsInvalidRequiredCastProgram
  7. VconVmAllowsInvalidNullableCastProgram

P2 - Lowering / Optimization / LLVM Backend

These are downstream from P0 and P1 but still core compiler functionality. Once workspace and semantic stability return, this is the next highest-value repair band.

NIR / Optimizer

  1. NirLowersPluginOwnedGraphicsGoldenSnapshotsInsideTestBlock
  2. NirLowersInputEnumChainIntoBuiltinCall
  3. NirPreservesExplicitDynamicStorageType
  4. NirEmitsCastInstructionForCastPipeline
  5. NirLowersDescriptorFieldAssignmentsToMaterialSetCalls
  6. OptimizerPropagatesConstantsToReturn

LLVM Codegen

  1. LLVMCodegenCarriesMorphRouteResultsIntoLegacyConsumers
  2. LLVMCodegenEmitsMorphInputBackendRouteFromMirWithoutBackingNir
  3. LLVMCodegenEmitsMorphAddBackendRouteFromMirWithoutBackingNir
  4. LLVMCodegenEmitsMorphTensorRandomBackendRouteFromMirWithoutBackingNir
  5. LLVMCodegenEmitsMorphTensorFusionBackendRouteFromMirWithoutBackingNir
  6. LLVMCodegenLowersTensorRandomToShapedRuntimeCall
  7. LLVMCodegenLowersRegisteredFusionBuiltinCall
  8. LLVMCodegenLowersGraphicsV2TypedCallsToRuntime
  9. LLVMCodegenLowersScene2DCallsToRuntime
  10. LLVMCodegenLowersScene3DCallsToRuntime
  11. LLVMCodegenLowersMeshBuilderCallsToRuntime
  12. LLVMCodegenLowersSmartInputIntCallToRuntime
  13. LLVMCodegenLowersSmartInputStringCallToRuntime
  14. LLVMCodegenLowersSmartInputEnumCallToRuntime

P3 - Tooling / Diagnostics / UX / Policy Guards

These still matter, but they are lower priority than the compiler pipeline itself. Some may clear up automatically after P0-P2.

LSP / Diagnostic Localization

  1. DiagnosticFixRegistryProvidesUnusedBindingFixFromMetadataFixId
  2. DiagnosticLocalizerLoadsLocalizedCatalogEntries
  3. DocumentManagerLocalizesDiagnosticsUsingResolvedLanguage
  4. DiagnosticLocalizerRendersTemplateArgumentsFromCatalog
  5. DiagnosticLocalizerRendersUnknownIdentifierTemplateArguments
  6. DiagnosticLocalizerAttachesCatalogMetadataToRenderedDiagnostics
  7. DiagnosticEnginePrintsLocalizedCliDiagnostics
  8. DiagnosticEngineRendersParserTemplatesWithoutRawEnglishTail
  9. DiagnosticEngineRendersSemanticTemplatesWithoutRawEnglishTail
  10. DiagnosticEngineRendersUnknownIdentifierTemplatesWithoutFallback

REPL / Build Pipeline / Repo Guard

  1. InterPluginIncludeLeakInventoryHasNotGrown
  2. ReplPipelineSuppressesBareInputReplayAndEchoesCurrentValue
  3. ReplPipelineDefaultsGenericlessInputToStringAndQuotesEcho
  4. WebBuildPipelinePassesGraphicsShaderOptionsAndRuntimeSources
  1. Fix all P0 failures.
  2. Re-run full tests.
  3. Fix P1.
  4. Re-run full tests.
  5. Fix P2.
  6. Re-run full tests.
  7. Clean up remaining P3 failures last.