Allow for mapping descriptions

Change-Id: I6e0124c36bb89226524c41d19cf69d04d8e19a79
diff --git a/config/config.go b/config/config.go
index ff0db31..dd1e3e9 100644
--- a/config/config.go
+++ b/config/config.go
@@ -21,12 +21,13 @@
 
 // MappingList represents a list of mapping rules with metadata
 type MappingList struct {
-	ID       string        `yaml:"id"`
-	FoundryA string        `yaml:"foundryA,omitempty"`
-	LayerA   string        `yaml:"layerA,omitempty"`
-	FoundryB string        `yaml:"foundryB,omitempty"`
-	LayerB   string        `yaml:"layerB,omitempty"`
-	Mappings []MappingRule `yaml:"mappings"`
+	ID          string        `yaml:"id"`
+	Description string        `yaml:"desc,omitempty"`
+	FoundryA    string        `yaml:"foundryA,omitempty"`
+	LayerA      string        `yaml:"layerA,omitempty"`
+	FoundryB    string        `yaml:"foundryB,omitempty"`
+	LayerB      string        `yaml:"layerB,omitempty"`
+	Mappings    []MappingRule `yaml:"mappings"`
 }
 
 // MappingConfig represents the root configuration containing multiple mapping lists
diff --git a/config/config_test.go b/config/config_test.go
index f2678fb..a3f1d0c 100644
--- a/config/config_test.go
+++ b/config/config_test.go
@@ -503,78 +503,6 @@
 	assert.Equal(t, "ADJ", lowerTerm4.Key)
 }
 
-func TestExistingUposYaml(t *testing.T) {
-	// Test that the existing upos.yaml file can be parsed correctly
-	config, err := LoadConfig("../upos.yaml")
-	require.NoError(t, err)
-
-	// Verify the configuration loaded correctly
-	require.Len(t, config.Lists, 1)
-	list := config.Lists[0]
-	assert.Equal(t, "stts-ud", list.ID)
-	assert.Equal(t, "opennlp", list.FoundryA)
-	assert.Equal(t, "p", list.LayerA)
-	assert.Equal(t, "upos", list.FoundryB)
-	assert.Equal(t, "p", list.LayerB)
-	require.Len(t, list.Mappings, 54) // Should have 54 mapping rules
-
-	// Test that all mapping rules can be parsed successfully
-	results, err := list.ParseMappings()
-	require.NoError(t, err)
-	require.Len(t, results, 54)
-
-	// Test a few specific mappings to ensure they parse correctly
-
-	// Test the special character mappings
-	firstMapping := results[0] // "[$\\(] <> [PUNCT & PunctType=Brck]"
-	upperTerm := firstMapping.Upper.Wrap.(*ast.Term)
-	assert.Equal(t, "$(", upperTerm.Key)
-	assert.Equal(t, "opennlp", upperTerm.Foundry)
-	assert.Equal(t, "p", upperTerm.Layer)
-
-	lowerGroup := firstMapping.Lower.Wrap.(*ast.TermGroup)
-	require.Len(t, lowerGroup.Operands, 2)
-	assert.Equal(t, ast.AndRelation, lowerGroup.Relation)
-
-	punctTerm := lowerGroup.Operands[0].(*ast.Term)
-	assert.Equal(t, "PUNCT", punctTerm.Key)
-	assert.Equal(t, "upos", punctTerm.Foundry)
-	assert.Equal(t, "p", punctTerm.Layer)
-
-	punctTypeTerm := lowerGroup.Operands[1].(*ast.Term)
-	assert.Equal(t, "PunctType", punctTypeTerm.Layer)
-	assert.Equal(t, "Brck", punctTypeTerm.Key)
-	assert.Equal(t, "upos", punctTypeTerm.Foundry)
-
-	// Test a complex mapping with multiple attributes
-	// "[PIDAT] <> [DET & AdjType=Pdt & (PronType=Ind | PronType=Neg | PronType=Tot)]"
-	pidatMapping := results[24] // This should be the PIDAT mapping
-	pidatUpper := pidatMapping.Upper.Wrap.(*ast.Term)
-	assert.Equal(t, "PIDAT", pidatUpper.Key)
-
-	pidatLower := pidatMapping.Lower.Wrap.(*ast.TermGroup)
-	assert.Equal(t, ast.AndRelation, pidatLower.Relation)
-	require.Len(t, pidatLower.Operands, 3) // DET, AdjType=Pdt, and the parenthesized group
-
-	detTerm := pidatLower.Operands[0].(*ast.Term)
-	assert.Equal(t, "DET", detTerm.Key)
-
-	adjTypeTerm := pidatLower.Operands[1].(*ast.Term)
-	assert.Equal(t, "AdjType", adjTypeTerm.Layer)
-	assert.Equal(t, "Pdt", adjTypeTerm.Key)
-
-	// The third operand should be a nested TermGroup with OR relation
-	nestedGroup := pidatLower.Operands[2].(*ast.TermGroup)
-	assert.Equal(t, ast.OrRelation, nestedGroup.Relation)
-	require.Len(t, nestedGroup.Operands, 3) // PronType=Ind, PronType=Neg, PronType=Tot
-
-	for i, expectedValue := range []string{"Ind", "Neg", "Tot"} {
-		pronTypeTerm := nestedGroup.Operands[i].(*ast.Term)
-		assert.Equal(t, "PronType", pronTypeTerm.Layer)
-		assert.Equal(t, expectedValue, pronTypeTerm.Key)
-	}
-}
-
 func TestConfigWithSdkAndServer(t *testing.T) {
 	tests := []struct {
 		name           string