Repository: exercism/clojure
Pull request #711 (2024-12-01 17:09:35)

complex-numbers: Sync docs
Also standardize the intro in the append file


Patch:
diff --git a/_generators/zipper-generator.clj b/_generators/zipper-generator.clj
index 6ac5848..466a8e7 100644
--- a/_generators/zipper-generator.clj
+++ b/_generators/zipper-generator.clj
@@ -42,7 +42,7 @@
                         (:exercise (:canonical-data data)) "project.clj"))
           (str "(defproject " slug " \"0.1.0-SNAPSHOT\"
   :description \"" slug " exercise.\"
-  :url \"https://github.com/exercism/clojure/tree/master/exercises/" slug "\"
+  :url \"https://github.com/exercism/clojure/tree/main/exercises/practice/" slug "\"
   :dependencies [[org.clojure/clojure \"1.10.0\"]])
 "))))
 
diff --git a/config.json b/config.json
index 69d6916..a2a1415 100644
--- a/config.json
+++ b/config.json
@@ -245,10 +245,10 @@
         "practices": [],
         "prerequisites": [],
         "difficulty": 2,
+        "status": "deprecated",
         "topics": [
           "algorithms, core_functions"
-        ],
-        "status": "deprecated"
+        ]
       },
       {
         "slug": "acronym",
@@ -745,10 +745,10 @@
         "practices": [],
         "prerequisites": [],
         "difficulty": 3,
+        "status": "deprecated",
         "topics": [
           "math"
-        ],
-        "status": "deprecated"
+        ]
       },
       {
         "slug": "binary-search",
@@ -856,10 +856,10 @@
         "practices": [],
         "prerequisites": [],
         "difficulty": 3,
+        "status": "deprecated",
         "topics": [
           "math"
-        ],
-        "status": "deprecated"
+        ]
       },
       {
         "slug": "isbn-verifier",
@@ -1018,10 +1018,10 @@
         "practices": [],
         "prerequisites": [],
         "difficulty": 3,
+        "status": "deprecated",
         "topics": [
           "math"
-        ],
-        "status": "deprecated"
+        ]
       },
       {
         "slug": "allergies",
@@ -1119,10 +1119,10 @@
         "practices": [],
         "prerequisites": [],
         "difficulty": 4,
+        "status": "deprecated",
         "topics": [
           "math"
-        ],
-        "status": "deprecated"
+        ]
       },
       {
         "slug": "spiral-matrix",
diff --git a/exercises/concept/card-games/.meta/config.json b/exercises/concept/card-games/.meta/config.json
index 662617a..0b22106 100644
--- a/exercises/concept/card-games/.meta/config.json
+++ b/exercises/concept/card-games/.meta/config.json
@@ -1,22 +1,21 @@
 {
-    "authors": [
-      "bobbicodes"
+  "authors": [
+    "bobbicodes"
+  ],
+  "files": {
+    "solution": [
+      "src/card_games.clj"
     ],
-    "forked_from": [
-        "python/card-games"
-      ],
-    "files": {
-      "solution": [
-        "src/card_games.clj"
-      ],
-      "test": [
-        "test/card_games_test.clj"
-      ],
-      "exemplar": [
-        ".meta/exemplar.clj"
-      ]
-    },
-    "icon": "poker",
-    "blurb": "Learn about lists by tracking hands in card games."
-  }
-  
\ No newline at end of file
+    "test": [
+      "test/card_games_test.clj"
+    ],
+    "exemplar": [
+      ".meta/exemplar.clj"
+    ]
+  },
+  "forked_from": [
+    "python/card-games"
+  ],
+  "icon": "poker",
+  "blurb": "Learn about lists by tracking hands in card games."
+}
diff --git a/exercises/concept/coordinate-transformation/.meta/config.json b/exercises/concept/coordinate-transformation/.meta/config.json
index 630754b..2436c78 100644
--- a/exercises/concept/coordinate-transformation/.meta/config.json
+++ b/exercises/concept/coordinate-transformation/.meta/config.json
@@ -1,11 +1,7 @@
 {
-  "blurb": "Practice your knowledge of closures by implementing various coordinate transformations.",
   "authors": [
     "bobbicodes"
   ],
-  "forked_from": [
-    "javascript/coordinate-transformation"
-  ],
   "files": {
     "solution": [
       "src/coordinate_transformation.clj"
@@ -16,5 +12,9 @@
     "exemplar": [
       ".meta/exemplar.clj"
     ]
-  }
-}
\ No newline at end of file
+  },
+  "forked_from": [
+    "javascript/coordinate-transformation"
+  ],
+  "blurb": "Practice your knowledge of closures by implementing various coordinate transformations."
+}
diff --git a/exercises/practice/accumulate/project.clj b/exercises/practice/accumulate/project.clj
index 980117a..943d535 100644
--- a/exercises/practice/accumulate/project.clj
+++ b/exercises/practice/accumulate/project.clj
@@ -1,4 +1,4 @@
 (defproject accumulate "0.1.0-SNAPSHOT"
   :description "accumulate exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/accumulate"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/accumulate"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/acronym/project.clj b/exercises/practice/acronym/project.clj
index 6415248..6d41d06 100644
--- a/exercises/practice/acronym/project.clj
+++ b/exercises/practice/acronym/project.clj
@@ -1,4 +1,4 @@
 (defproject acronym "0.1.0-SNAPSHOT"
   :description "acronym exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/acronym"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/acronym"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/all-your-base/project.clj b/exercises/practice/all-your-base/project.clj
index c17ec24..ca36c34 100644
--- a/exercises/practice/all-your-base/project.clj
+++ b/exercises/practice/all-your-base/project.clj
@@ -1,4 +1,4 @@
 (defproject all-your-base "0.1.0-SNAPSHOT"
   :description "all-your-base exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/all-your-base"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/all-your-base"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/allergies/project.clj b/exercises/practice/allergies/project.clj
index 53b1993..5f47fe5 100644
--- a/exercises/practice/allergies/project.clj
+++ b/exercises/practice/allergies/project.clj
@@ -1,4 +1,4 @@
 (defproject allergies "0.1.0-SNAPSHOT"
   :description "allergies exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/allergies"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/allergies"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/anagram/project.clj b/exercises/practice/anagram/project.clj
index fc583ea..2ec6e10 100644
--- a/exercises/practice/anagram/project.clj
+++ b/exercises/practice/anagram/project.clj
@@ -1,4 +1,4 @@
 (defproject anagram "0.1.0-SNAPSHOT"
   :description "anagram exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/anagram"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/anagram"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/armstrong-numbers/.meta/config.json b/exercises/practice/armstrong-numbers/.meta/config.json
index d6655ac..a39c443 100644
--- a/exercises/practice/armstrong-numbers/.meta/config.json
+++ b/exercises/practice/armstrong-numbers/.meta/config.json
@@ -7,7 +7,8 @@
     "imtayadeway",
     "mawis",
     "mtkp",
-    "sjwarner-bp"
+    "sjwarner-bp",
+    "tasxatzial"
   ],
   "files": {
     "solution": [
diff --git a/exercises/practice/armstrong-numbers/.meta/src/example.clj b/exercises/practice/armstrong-numbers/.meta/src/example.clj
index 3900b6e..db4ead2 100644
--- a/exercises/practice/armstrong-numbers/.meta/src/example.clj
+++ b/exercises/practice/armstrong-numbers/.meta/src/example.clj
@@ -1,7 +1,7 @@
 (ns armstrong-numbers)
 
 (defn expt [base pow]
-  (reduce * 1 (repeat pow base)))
+  (reduce *' 1 (repeat pow base)))
 
 (defn armstrong? [n]
   (let [digits (map (comp read-string str) (str n))
diff --git a/exercises/practice/armstrong-numbers/project.clj b/exercises/practice/armstrong-numbers/project.clj
index e30f69f..7e13358 100644
--- a/exercises/practice/armstrong-numbers/project.clj
+++ b/exercises/practice/armstrong-numbers/project.clj
@@ -1,4 +1,4 @@
 (defproject armstrong-numbers "0.1.0-SNAPSHOT"
   :description "armstrong-numbers exercise"
-  :url "https://github.com/exercism/clojure/tree/master/exercises/armstrong-numbers"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/armstrong-numbers"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/armstrong-numbers/src/armstrong_numbers.clj b/exercises/practice/armstrong-numbers/src/armstrong_numbers.clj
index da6002b..3d4e44a 100644
--- a/exercises/practice/armstrong-numbers/src/armstrong_numbers.clj
+++ b/exercises/practice/armstrong-numbers/src/armstrong_numbers.clj
@@ -1,5 +1,7 @@
 (ns armstrong-numbers)
 
-(defn armstrong? [num] ;; <- arglist goes here
-  ;; your code goes here
-)
+(defn armstrong?
+  "Returns true if the given number is an Armstrong number; otherwise, returns false"
+  [num]
+  ;; function body
+  )
diff --git a/exercises/practice/atbash-cipher/project.clj b/exercises/practice/atbash-cipher/project.clj
index 0dc3e5f..200f626 100644
--- a/exercises/practice/atbash-cipher/project.clj
+++ b/exercises/practice/atbash-cipher/project.clj
@@ -1,4 +1,4 @@
 (defproject atbash-cipher "0.1.0-SNAPSHOT"
   :description "atbash-cipher exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/atbash-cipher"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/atbash-cipher"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/bank-account/project.clj b/exercises/practice/bank-account/project.clj
index 634f909..9e58e81 100644
--- a/exercises/practice/bank-account/project.clj
+++ b/exercises/practice/bank-account/project.clj
@@ -1,4 +1,4 @@
 (defproject bank-account "0.1.0-SNAPSHOT"
   :description "bank-account exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/bank-account"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/bank-account"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/beer-song/project.clj b/exercises/practice/beer-song/project.clj
index ef74886..c8f4dbf 100644
--- a/exercises/practice/beer-song/project.clj
+++ b/exercises/practice/beer-song/project.clj
@@ -1,4 +1,4 @@
 (defproject beer-song "0.1.0-SNAPSHOT"
   :description "beer-song exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/beer-song"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/beer-song"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/binary-search-tree/project.clj b/exercises/practice/binary-search-tree/project.clj
index 2f99844..5b0844d 100644
--- a/exercises/practice/binary-search-tree/project.clj
+++ b/exercises/practice/binary-search-tree/project.clj
@@ -1,4 +1,4 @@
 (defproject binary-search-tree "0.1.0-SNAPSHOT"
   :description "binary-search-tree exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/binary-search-tree"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/binary-search-tree"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/binary-search/project.clj b/exercises/practice/binary-search/project.clj
index 9c5755a..d829381 100644
--- a/exercises/practice/binary-search/project.clj
+++ b/exercises/practice/binary-search/project.clj
@@ -1,4 +1,4 @@
 (defproject binary-search "0.1.0-SNAPSHOT"
   :description "binary-search exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/binary-search"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/binary-search"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/binary/project.clj b/exercises/practice/binary/project.clj
index 5529c12..db0f494 100644
--- a/exercises/practice/binary/project.clj
+++ b/exercises/practice/binary/project.clj
@@ -1,4 +1,4 @@
 (defproject binary "0.1.0-SNAPSHOT"
   :description "binary exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/binary"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/binary"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/bob/project.clj b/exercises/practice/bob/project.clj
index 2c1df3b..3a5a60c 100644
--- a/exercises/practice/bob/project.clj
+++ b/exercises/practice/bob/project.clj
@@ -1,4 +1,4 @@
 (defproject bob "0.1.0-SNAPSHOT"
   :description "bob exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/bob"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/bob"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/change/project.clj b/exercises/practice/change/project.clj
index 94d2da2..8466251 100644
--- a/exercises/practice/change/project.clj
+++ b/exercises/practice/change/project.clj
@@ -1,6 +1,6 @@
 (defproject change "0.1.0-SNAPSHOT"
   :description "[change] exercise"
-  :url "https://github.com/exercism/clojure/tree/master/exercises/change"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/change"
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/clock/project.clj b/exercises/practice/clock/project.clj
index 591ecc6..c8851a7 100644
--- a/exercises/practice/clock/project.clj
+++ b/exercises/practice/clock/project.clj
@@ -1,4 +1,4 @@
 (defproject clock "0.1.0-SNAPSHOT"
   :description "clock exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/clock"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/clock"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/collatz-conjecture/project.clj b/exercises/practice/collatz-conjecture/project.clj
index 3c5a39d..8382043 100644
--- a/exercises/practice/collatz-conjecture/project.clj
+++ b/exercises/practice/collatz-conjecture/project.clj
@@ -1,4 +1,4 @@
 (defproject collatz-conjecture "0.1.0-SNAPSHOT"
   :description "collatz-conjecture exercise"
-  :url "https://github.com/exercism/clojure/tree/master/exercises/collatz-conjecture"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/collatz-conjecture"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/complex-numbers/.docs/instructions.append.md b/exercises/practice/complex-numbers/.docs/instructions.append.md
index 1c6bfad..0d6dbb2 100644
--- a/exercises/practice/complex-numbers/.docs/instructions.append.md
+++ b/exercises/practice/complex-numbers/.docs/instructions.append.md
@@ -1,4 +1,10 @@
 # Instructions append
 
-**Note:** The instructions ask for the exponent function because they are synced with a shared repository to maintain consistency across all language tracks.
-However, for this exercise in the Clojure track, you don't need to implement it.
+## Appendix
+
+~~~~exercism/note
+The instructions above are synchronized with a shared repository to ensure consistency across all language tracks.
+This appendix provides additional clarification or modifies the instructions as needed to better align with the goals of the Clojure track.
+~~~~
+
+For this exercise in the Clojure track, you don't need to implement the exponentiation operation.
diff --git a/exercises/practice/complex-numbers/.docs/instructions.md b/exercises/practice/complex-numbers/.docs/instructions.md
index 50b19ae..2b8a7a4 100644
--- a/exercises/practice/complex-numbers/.docs/instructions.md
+++ b/exercises/practice/complex-numbers/.docs/instructions.md
@@ -1,29 +1,100 @@
 # Instructions
 
-A complex number is a number in the form `a + b * i` where `a` and `b` are real and `i` satisfies `i^2 = -1`.
+A **complex number** is expressed in the form `z = a + b * i`, where:
 
-`a` is called the real part and `b` is called the imaginary part of `z`.
-The conjugate of the number `a + b * i` is the number `a - b * i`.
-The absolute value of a complex number `z = a + b * i` is a real number `|z| = sqrt(a^2 + b^2)`. The square of the absolute value `|z|^2` is the result of multiplication of `z` by its complex conjugate.
+- `a` is the **real part** (a real number),
 
-The sum/difference of two complex numbers involves adding/subtracting their real and imaginary parts separately:
-`(a + i * b) + (c + i * d) = (a + c) + (b + d) * i`,
-`(a + i * b) - (c + i * d) = (a - c) + (b - d) * i`.
+- `b` is the **imaginary part** (also a real number), and
 
-Multiplication result is by definition
-`(a + i * b) * (c + i * d) = (a * c - b * d) + (b * c + a * d) * i`.
+- `i` is the **imaginary unit** satisfying `i^2 = -1`.
 
-The reciprocal of a non-zero complex number is
-`1 / (a + i * b) = a/(a^2 + b^2) - b/(a^2 + b^2) * i`.
+## Operations on Complex Numbers
 
-Dividing a complex number `a + i * b` by another `c + i * d` gives:
-`(a + i * b) / (c + i * d) = (a * c + b * d)/(c^2 + d^2) + (b * c - a * d)/(c^2 + d^2) * i`.
+### Conjugate
 
-Raising e to a complex exponent can be expressed as `e^(a + i * b) = e^a * e^(i * b)`, the last term of which is given by Euler's formula `e^(i * b) = cos(b) + i * sin(b)`.
+The conjugate of the complex number `z = a + b * i` is given by:
 
-Implement the following operations:
+```text
+zc = a - b * i
+```
 
-- addition, subtraction, multiplication and division of two complex numbers,
-- conjugate, absolute value, exponent of a given complex number.
+### Absolute Value
 
-Assume the programming language you are using does not have an implementation of complex numbers.
+The absolute value (or modulus) of `z` is defined as:
+
+```text
+|z| = sqrt(a^2 + b^2)
+```
+
+The square of the absolute value is computed as the product of `z` and its conjugate `zc`:
+
+```text
+|z|^2 = z * zc = a^2 + b^2
+```
+
+### Addition
+
+The sum of two complex numbers `z1 = a + b * i` and `z2 = c + d * i` is computed by adding their real and imaginary parts separately:
+
+```text
+z1 + z2 = (a + b * i) + (c + d * i)
+        = (a + c) + (b + d) * i
+```
+
+### Subtraction
+
+The difference of two complex numbers is obtained by subtracting their respective parts:
+
+```text
+z1 - z2 = (a + b * i) - (c + d * i)
+        = (a - c) + (b - d) * i
+```
+
+### Multiplication
+
+The product of two complex numbers is defined as:
+
+```text
+z1 * z2 = (a + b * i) * (c + d * i)
+        = (a * c - b * d) + (b * c + a * d) * i
+```
+
+### Reciprocal
+
+The reciprocal of a non-zero complex number is given by:
+
+```text
+1 / z = 1 / (a + b * i)
+      = a / (a^2 + b^2) - b / (a^2 + b^2) * i
+```
+
+### Division
+
+The division of one complex number by another is given by:
+
+```text
+z1 / z2 = z1 * (1 / z2)
+        = (a + b * i) / (c + d * i)
+        = (a * c + b * d) / (c^2 + d^2) + (b * c - a * d) / (c^2 + d^2) * i
+```
+
+### Exponentiation
+
+Raising _e_ (the base of the natural logarithm) to a complex exponent can be expressed using Euler's formula:
+
+```text
+e^(a + b * i) = e^a * e^(b * i)
+              = e^a * (cos(b) + i * sin(b))
+```
+
+## Implementation Requirements
+
+Given that you should not use built-in support for complex numbers, implement the following operations:
+
+- **addition** of two complex numbers
+- **subtraction** of two complex numbers
+- **multiplication** of two complex numbers
+- **division** of two complex numbers
+- **conjugate** of a complex number
+- **absolute value** of a complex number
+- **exponentiation** of _e_ (the base of the natural logarithm) to a complex number
diff --git a/exercises/practice/complex-numbers/project.clj b/exercises/practice/complex-numbers/project.clj
index 3ea7dba..3290789 100644
--- a/exercises/practice/complex-numbers/project.clj
+++ b/exercises/practice/complex-numbers/project.clj
@@ -1,4 +1,4 @@
 (defproject complex-numbers "0.1.0-SNAPSHOT"
   :description "complex-numbers exercise"
-  :url "https://github.com/exercism/clojure/tree/master/exercises/complex-numbers"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/complex-numbers"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/crypto-square/project.clj b/exercises/practice/crypto-square/project.clj
index cfd1c81..5f133f8 100644
--- a/exercises/practice/crypto-square/project.clj
+++ b/exercises/practice/crypto-square/project.clj
@@ -1,4 +1,4 @@
 (defproject crypto-square "0.1.0-SNAPSHOT"
   :description "crypto-square exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/crypto-square"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/crypto-square"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/difference-of-squares/project.clj b/exercises/practice/difference-of-squares/project.clj
index d408a87..bd15736 100644
--- a/exercises/practice/difference-of-squares/project.clj
+++ b/exercises/practice/difference-of-squares/project.clj
@@ -1,4 +1,4 @@
 (defproject difference-of-squares "0.1.0-SNAPSHOT"
   :description "difference-of-squares exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/difference-of-squares"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/difference-of-squares"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/dominoes/.meta/config.json b/exercises/practice/dominoes/.meta/config.json
index ca3f760..f2060e5 100644
--- a/exercises/practice/dominoes/.meta/config.json
+++ b/exercises/practice/dominoes/.meta/config.json
@@ -3,7 +3,8 @@
   "contributors": [
     "AndreaCrotti",
     "haus",
-    "sjwarner-bp"
+    "sjwarner-bp",
+    "tasxatzial"
   ],
   "files": {
     "solution": [
diff --git a/exercises/practice/dominoes/project.clj b/exercises/practice/dominoes/project.clj
index 2cd3d4b..33f65a9 100644
--- a/exercises/practice/dominoes/project.clj
+++ b/exercises/practice/dominoes/project.clj
@@ -1,4 +1,4 @@
 (defproject dominoes "0.1.0-SNAPSHOT"
   :description "dominoes exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/dominoes"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/dominoes"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/dominoes/src/dominoes.clj b/exercises/practice/dominoes/src/dominoes.clj
index d0dceb2..315d6a4 100644
--- a/exercises/practice/dominoes/src/dominoes.clj
+++ b/exercises/practice/dominoes/src/dominoes.clj
@@ -1,5 +1,7 @@
 (ns dominoes)
 
-(defn can-chain? [] ;; <- arglist goes here
-  ;; your code goes here
-)
+(defn can-chain?
+  "Given a collection of dominoes, it returns true if they can be arranged into a chain; otherwise, it returns false"
+  [dominoes]
+  ;; function body
+  )
\ No newline at end of file
diff --git a/exercises/practice/eliuds-eggs/project.clj b/exercises/practice/eliuds-eggs/project.clj
index d73dacf..3a36273 100644
--- a/exercises/practice/eliuds-eggs/project.clj
+++ b/exercises/practice/eliuds-eggs/project.clj
@@ -1,4 +1,4 @@
 (defproject eliuds-eggs "0.1.0-SNAPSHOT"
   :description "eliuds-eggs exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/eliuds-eggs"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/eliuds-eggs"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/etl/project.clj b/exercises/practice/etl/project.clj
index 7f4af04..e6d26f2 100644
--- a/exercises/practice/etl/project.clj
+++ b/exercises/practice/etl/project.clj
@@ -1,4 +1,4 @@
 (defproject etl "0.1.0-SNAPSHOT"
   :description "etl exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/etl"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/etl"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/flatten-array/project.clj b/exercises/practice/flatten-array/project.clj
index d1ffa46..8a4d7b1 100644
--- a/exercises/practice/flatten-array/project.clj
+++ b/exercises/practice/flatten-array/project.clj
@@ -1,4 +1,4 @@
 (defproject flatten-array "0.1.0-SNAPSHOT"
   :description "flatten-array exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/flatten-array"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/flatten-array"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/gigasecond/project.clj b/exercises/practice/gigasecond/project.clj
index 3502143..76a9962 100644
--- a/exercises/practice/gigasecond/project.clj
+++ b/exercises/practice/gigasecond/project.clj
@@ -1,4 +1,4 @@
 (defproject gigasecond "0.1.0-SNAPSHOT"
   :description "gigasecond exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/gigasecond"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/gigasecond"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/go-counting/project.clj b/exercises/practice/go-counting/project.clj
index 8c1840f..003195e 100644
--- a/exercises/practice/go-counting/project.clj
+++ b/exercises/practice/go-counting/project.clj
@@ -1,4 +1,4 @@
 (defproject go-counting "0.1.0-SNAPSHOT"
   :description "go-counting exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/go-counting"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/go-counting"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/grade-school/project.clj b/exercises/practice/grade-school/project.clj
index fd3005d..3df3b58 100644
--- a/exercises/practice/grade-school/project.clj
+++ b/exercises/practice/grade-school/project.clj
@@ -1,4 +1,4 @@
 (defproject grade-school "0.1.0-SNAPSHOT"
   :description "grade-school exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/grade-school"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/grade-school"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/grains/project.clj b/exercises/practice/grains/project.clj
index 4b583e0..c4f8851 100644
--- a/exercises/practice/grains/project.clj
+++ b/exercises/practice/grains/project.clj
@@ -1,4 +1,4 @@
 (defproject grains "0.1.0-SNAPSHOT"
   :description "grains exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/grains"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/grains"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/hamming/project.clj b/exercises/practice/hamming/project.clj
index 5207598..96fe25f 100644
--- a/exercises/practice/hamming/project.clj
+++ b/exercises/practice/hamming/project.clj
@@ -1,4 +1,4 @@
 (defproject hamming "0.1.0-SNAPSHOT"
   :description "hamming exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/hamming"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/hamming"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/hello-world/project.clj b/exercises/practice/hello-world/project.clj
index b6b1aec..6cab18f 100644
--- a/exercises/practice/hello-world/project.clj
+++ b/exercises/practice/hello-world/project.clj
@@ -1,4 +1,4 @@
 (defproject hello-world "0.1.0-SNAPSHOT"
   :description "hello-world exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/hello-world"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/hello-world"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/hexadecimal/project.clj b/exercises/practice/hexadecimal/project.clj
index 119c4f7..19a89e8 100644
--- a/exercises/practice/hexadecimal/project.clj
+++ b/exercises/practice/hexadecimal/project.clj
@@ -1,4 +1,4 @@
 (defproject hexadecimal "0.1.0-SNAPSHOT"
   :description "hexadecimal exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/hexadecimal"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/hexadecimal"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/isbn-verifier/project.clj b/exercises/practice/isbn-verifier/project.clj
index 181db1d..4285d88 100644
--- a/exercises/practice/isbn-verifier/project.clj
+++ b/exercises/practice/isbn-verifier/project.clj
@@ -1,4 +1,4 @@
 (defproject isbn-verifier "0.1.0-SNAPSHOT"
   :description "isbn-verifier xercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/isbn-verifier"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/isbn-verifier"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/isogram/project.clj b/exercises/practice/isogram/project.clj
index faf6a6e..273bac4 100644
--- a/exercises/practice/isogram/project.clj
+++ b/exercises/practice/isogram/project.clj
@@ -1,4 +1,4 @@
 (defproject isogram "0.1.0-SNAPSHOT"
   :description "isogram exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/isogram"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/isogram"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/kindergarten-garden/project.clj b/exercises/practice/kindergarten-garden/project.clj
index 506db11..4b44d0b 100644
--- a/exercises/practice/kindergarten-garden/project.clj
+++ b/exercises/practice/kindergarten-garden/project.clj
@@ -1,4 +1,4 @@
 (defproject kindergarten-garden "0.1.0-SNAPSHOT"
   :description "kindergarten-garden exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/kindergarten-garden"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/kindergarten-garden"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/largest-series-product/project.clj b/exercises/practice/largest-series-product/project.clj
index a075b0d..7260309 100644
--- a/exercises/practice/largest-series-product/project.clj
+++ b/exercises/practice/largest-series-product/project.clj
@@ -1,4 +1,4 @@
 (defproject largest-series-product "0.1.0-SNAPSHOT"
   :description "largest-series-product exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/largest-series-product"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/largest-series-product"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/leap/project.clj b/exercises/practice/leap/project.clj
index 70a196a..2ca0036 100644
--- a/exercises/practice/leap/project.clj
+++ b/exercises/practice/leap/project.clj
@@ -1,4 +1,4 @@
 (defproject leap "0.1.0-SNAPSHOT"
   :description "leap exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/leap"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/leap"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/list-ops/.docs/instructions.append.md b/exercises/practice/list-ops/.docs/instructions.append.md
index d27f6e1..7553c97 100644
--- a/exercises/practice/list-ops/.docs/instructions.append.md
+++ b/exercises/practice/list-ops/.docs/instructions.append.md
@@ -1,19 +1,27 @@
-# Instructions append
-
-## Appendix
-
-The instructions are synced with a shared repository to ensure consistency across all language tracks.
-For this exercise in the Clojure track, assume both the input and output are vectors.
-As a stretch goal, consider how you could implement the solution without using lists anywhere in your code.
-Also, think about the efficiency of your program.
-
-It is important not to reuse existing Clojure built-in functions with similar functionality, as doing so would diminish the intended learning value of the exercise.
-Key functions from the **clojure.core** namespace to avoid include `into`, `concat`, `cat`, `lazy-cat`, `mapcat`, `flatten`, `filter`, `filterv`, `remove`, `count`, `map`, `mapv`, `reduce`, `transduce`, `reverse`, and `rseq`.
-
-### Optional goals
-
-Try to pass the tests by devising a solution that assumes both the input and output are lists instead of vectors.
-The test suite does not need to be modified.
-This time, consider how you could implement the solution without using vectors anywhere in your code.
-
-If you decide to publish this solution, be sure to include a comment indicating that it addresses the optional goal of using lists. Don't forget to update the docstrings!
+# Instructions append
+
+## Appendix
+
+~~~~exercism/note
+The instructions above are synchronized with a shared repository to ensure consistency across all language tracks.
+This appendix provides additional clarification or modifies the instructions as needed to better align with the goals of the Clojure track.
+~~~~
+
+For this exercise in the Clojure track, **assume both the input and output are vectors**, as indicated by the tests.
+As a stretch goal, consider how to implement an approach that does not use lists for intermediate steps.
+
+It is important not to reuse existing Clojure built-in functions with similar functionality, as doing so would diminish the intended learning value of the exercise.
+Key functions from the `clojure.core` namespace to avoid include `into`, `concat`, `cat`, `lazy-cat`, `mapcat`, `flatten`, `filter`, `filterv`, `remove`, `count`, `map`, `mapv`, `reduce`, `transduce`, `reverse`, and `rseq`.
+
+### Optional goals
+
+The optional goal is for those who want an extra challenge and is designed with the expectation that you've already completed the main goal.
+
+Try to pass the tests by devising an approach that assumes:
+
+* Both the input and output are lists instead of vectors.
+  Note that, as usual, the tests do not need to be modified.
+* Vectors cannot be used for intermediate steps.
+
+If you decide to publish this, be sure to include a comment indicating that it addresses the optional goal of using lists.
+Don't forget to update the docstrings!
diff --git a/exercises/practice/luhn/project.clj b/exercises/practice/luhn/project.clj
index c488e24..3eace5d 100644
--- a/exercises/practice/luhn/project.clj
+++ b/exercises/practice/luhn/project.clj
@@ -1,4 +1,4 @@
 (defproject luhn "0.1.0-SNAPSHOT"
   :description "luhn exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/luhn"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/luhn"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/matching-brackets/project.clj b/exercises/practice/matching-brackets/project.clj
index eb8d2ce..e94448a 100644
--- a/exercises/practice/matching-brackets/project.clj
+++ b/exercises/practice/matching-brackets/project.clj
@@ -1,4 +1,4 @@
 (defproject matching-brackets "0.1.0-SNAPSHOT"
   :description "matching-brackets exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/matching-brackets"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/matching-brackets"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/meetup/project.clj b/exercises/practice/meetup/project.clj
index 9f59222..da77434 100644
--- a/exercises/practice/meetup/project.clj
+++ b/exercises/practice/meetup/project.clj
@@ -1,4 +1,4 @@
 (defproject meetup "0.1.0-SNAPSHOT"
   :description "meetup exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/meetup"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/meetup"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/minesweeper/project.clj b/exercises/practice/minesweeper/project.clj
index 57beb32..7a89ce2 100644
--- a/exercises/practice/minesweeper/project.clj
+++ b/exercises/practice/minesweeper/project.clj
@@ -1,4 +1,4 @@
 (defproject minesweeper "0.1.0-SNAPSHOT"
   :description "minesweeper exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/minesweeper"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/minesweeper"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/nth-prime/project.clj b/exercises/practice/nth-prime/project.clj
index 4c1c417..6cee86d 100644
--- a/exercises/practice/nth-prime/project.clj
+++ b/exercises/practice/nth-prime/project.clj
@@ -1,4 +1,4 @@
 (defproject nth-prime "0.1.0-SNAPSHOT"
   :description "nth-prime exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/nth-prime"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/nth-prime"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/nucleotide-count/project.clj b/exercises/practice/nucleotide-count/project.clj
index a8c0081..813cc6d 100644
--- a/exercises/practice/nucleotide-count/project.clj
+++ b/exercises/practice/nucleotide-count/project.clj
@@ -1,4 +1,4 @@
 (defproject nucleotide-count "0.1.0-SNAPSHOT"
   :description "nucleotide-count exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/nucleotide-count"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/nucleotide-count"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/octal/project.clj b/exercises/practice/octal/project.clj
index f6d9130..6741c04 100644
--- a/exercises/practice/octal/project.clj
+++ b/exercises/practice/octal/project.clj
@@ -1,4 +1,4 @@
 (defproject octal "0.1.0-SNAPSHOT"
   :description "octal exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/octal"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/octal"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/pascals-triangle/project.clj b/exercises/practice/pascals-triangle/project.clj
index 7e98405..41e2e1f 100644
--- a/exercises/practice/pascals-triangle/project.clj
+++ b/exercises/practice/pascals-triangle/project.clj
@@ -1,4 +1,4 @@
 (defproject pascals-triangle "0.1.0-SNAPSHOT"
   :description "pascal's triangle exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/pascals-triangle"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/pascals-triangle"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/perfect-numbers/project.clj b/exercises/practice/perfect-numbers/project.clj
index a6a4236..b3253de 100644
--- a/exercises/practice/perfect-numbers/project.clj
+++ b/exercises/practice/perfect-numbers/project.clj
@@ -1,4 +1,4 @@
 (defproject perfect-numbers "0.1.0-SNAPSHOT"
   :description "perfect-numbers exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/perfect-numbers"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/perfect-numbers"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/phone-number/project.clj b/exercises/practice/phone-number/project.clj
index 0341afc..540b3a4 100644
--- a/exercises/practice/phone-number/project.clj
+++ b/exercises/practice/phone-number/project.clj
@@ -1,4 +1,4 @@
 (defproject phone-number "0.1.0-SNAPSHOT"
   :description "phone-number exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/phone-number"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/phone-number"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/pig-latin/project.clj b/exercises/practice/pig-latin/project.clj
index d32c085..3580d4d 100644
--- a/exercises/practice/pig-latin/project.clj
+++ b/exercises/practice/pig-latin/project.clj
@@ -1,4 +1,4 @@
 (defproject pig-latin "0.1.0-SNAPSHOT"
   :description "pig latin exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/pig-latin"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/pig-latin"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/poker/project.clj b/exercises/practice/poker/project.clj
index 1269346..aad92d7 100644
--- a/exercises/practice/poker/project.clj
+++ b/exercises/practice/poker/project.clj
@@ -1,4 +1,4 @@
 (defproject poker "0.1.0-SNAPSHOT"
   :description "poker exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/poker"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/poker"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/prime-factors/project.clj b/exercises/practice/prime-factors/project.clj
index 0347d5b..39e7a07 100644
--- a/exercises/practice/prime-factors/project.clj
+++ b/exercises/practice/prime-factors/project.clj
@@ -1,4 +1,4 @@
 (defproject prime-factors "0.1.0-SNAPSHOT"
   :description "prime-factors exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/prime-factors"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/prime-factors"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/queen-attack/project.clj b/exercises/practice/queen-attack/project.clj
index beeb80d..7d657dd 100644
--- a/exercises/practice/queen-attack/project.clj
+++ b/exercises/practice/queen-attack/project.clj
@@ -1,4 +1,4 @@
 (defproject queen-attack "0.1.0-SNAPSHOT"
   :description "queen-attack exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/queen-attack"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/queen-attack"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/raindrops/project.clj b/exercises/practice/raindrops/project.clj
index 65b35f1..0835003 100644
--- a/exercises/practice/raindrops/project.clj
+++ b/exercises/practice/raindrops/project.clj
@@ -1,4 +1,4 @@
 (defproject raindrops "0.1.0-SNAPSHOT"
   :description "raindrops exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/raindrops"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/raindrops"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/reverse-string/project.clj b/exercises/practice/reverse-string/project.clj
index 34c22bc..aeb77e2 100644
--- a/exercises/practice/reverse-string/project.clj
+++ b/exercises/practice/reverse-string/project.clj
@@ -1,4 +1,4 @@
 (defproject reverse-string "0.1.0-SNAPSHOT"
   :description "reverse-string exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/reverse-string"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/reverse-string"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/rna-transcription/project.clj b/exercises/practice/rna-transcription/project.clj
index 7e075e5..001e6fa 100644
--- a/exercises/practice/rna-transcription/project.clj
+++ b/exercises/practice/rna-transcription/project.clj
@@ -1,4 +1,4 @@
 (defproject rna-transcription "0.1.0-SNAPSHOT"
   :description "rna-transcription exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/rna-transcription"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/rna-transcription"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/robot-name/project.clj b/exercises/practice/robot-name/project.clj
index 4520f75..f25a222 100644
--- a/exercises/practice/robot-name/project.clj
+++ b/exercises/practice/robot-name/project.clj
@@ -1,4 +1,4 @@
 (defproject robot-name "0.1.0-SNAPSHOT"
   :description "robot-name exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/robot-name"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/robot-name"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/robot-simulator/project.clj b/exercises/practice/robot-simulator/project.clj
index 13c24e3..896df5d 100644
--- a/exercises/practice/robot-simulator/project.clj
+++ b/exercises/practice/robot-simulator/project.clj
@@ -1,4 +1,4 @@
 (defproject robot-simulator "0.1.0-SNAPSHOT"
   :description "robot-simulator exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/robot-simulator"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/robot-simulator"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/roman-numerals/project.clj b/exercises/practice/roman-numerals/project.clj
index 98fef1e..30a2da0 100644
--- a/exercises/practice/roman-numerals/project.clj
+++ b/exercises/practice/roman-numerals/project.clj
@@ -1,4 +1,4 @@
 (defproject roman-numerals "0.1.0-SNAPSHOT"
   :description "roman-numerals exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/roman-numerals"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/roman-numerals"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/rotational-cipher/project.clj b/exercises/practice/rotational-cipher/project.clj
index 829ad91..8d355ba 100644
--- a/exercises/practice/rotational-cipher/project.clj
+++ b/exercises/practice/rotational-cipher/project.clj
@@ -1,4 +1,4 @@
 (defproject rotational-cipher "0.1.0-SNAPSHOT"
   :description "rotational cipher exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/rotational-cipher"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/rotational-cipher"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/run-length-encoding/project.clj b/exercises/practice/run-length-encoding/project.clj
index 42ce313..00d4b8a 100644
--- a/exercises/practice/run-length-encoding/project.clj
+++ b/exercises/practice/run-length-encoding/project.clj
@@ -1,4 +1,4 @@
 (defproject run-length-encoding "0.1.0-SNAPSHOT"
   :description "run-length-encoding exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/run-length-encoding"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/run-length-encoding"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/say/project.clj b/exercises/practice/say/project.clj
index c4f6fa5..d89c2a6 100644
--- a/exercises/practice/say/project.clj
+++ b/exercises/practice/say/project.clj
@@ -1,4 +1,4 @@
 (defproject say "0.1.0-SNAPSHOT"
   :description "say exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/say"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/say"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/scrabble-score/project.clj b/exercises/practice/scrabble-score/project.clj
index 67f5966..dd6a600 100644
--- a/exercises/practice/scrabble-score/project.clj
+++ b/exercises/practice/scrabble-score/project.clj
@@ -1,4 +1,4 @@
 (defproject scrabble-score "0.1.0-SNAPSHOT"
   :description "scrabble-score exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/scrabble-score"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/scrabble-score"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/secret-handshake/project.clj b/exercises/practice/secret-handshake/project.clj
index 17699a4..3fb64c7 100644
--- a/exercises/practice/secret-handshake/project.clj
+++ b/exercises/practice/secret-handshake/project.clj
@@ -1,4 +1,4 @@
 (defproject secret-handshake "0.1.0-SNAPSHOT"
   :description "secret-handshake exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/secret-handshake"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/secret-handshake"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/series/project.clj b/exercises/practice/series/project.clj
index f7932e4..948600f 100644
--- a/exercises/practice/series/project.clj
+++ b/exercises/practice/series/project.clj
@@ -1,4 +1,4 @@
 (defproject series "0.1.0-SNAPSHOT"
   :description "series exercise"
-  :url "https://github.com/exercism/clojure/tree/master/exercises/series"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/series"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/sieve/project.clj b/exercises/practice/sieve/project.clj
index eef826f..e61b002 100644
--- a/exercises/practice/sieve/project.clj
+++ b/exercises/practice/sieve/project.clj
@@ -1,4 +1,4 @@
 (defproject sieve "0.1.0-SNAPSHOT"
   :description "sieve exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/sieve"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/sieve"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/space-age/project.clj b/exercises/practice/space-age/project.clj
index 358ebae..1fd8c72 100644
--- a/exercises/practice/space-age/project.clj
+++ b/exercises/practice/space-age/project.clj
@@ -1,4 +1,4 @@
 (defproject space-age "0.1.0-SNAPSHOT"
   :description "space-age exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/space-age"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/space-age"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/spiral-matrix/.meta/config.json b/exercises/practice/spiral-matrix/.meta/config.json
index 2780de6..a8a87e2 100644
--- a/exercises/practice/spiral-matrix/.meta/config.json
+++ b/exercises/practice/spiral-matrix/.meta/config.json
@@ -3,7 +3,8 @@
   "contributors": [
     "AndreaCrotti",
     "haus",
-    "sjwarner-bp"
+    "sjwarner-bp",
+    "tasxatzial"
   ],
   "files": {
     "solution": [
diff --git a/exercises/practice/spiral-matrix/project.clj b/exercises/practice/spiral-matrix/project.clj
index 8efe74c..eb2bec6 100644
--- a/exercises/practice/spiral-matrix/project.clj
+++ b/exercises/practice/spiral-matrix/project.clj
@@ -1,4 +1,4 @@
 (defproject spiral-matrix "0.1.0-SNAPSHOT"
   :description "spiral-matrix exercise"
-  :url "https://github.com/exercism/clojure/tree/master/exercises/spiral-matrix"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/spiral-matrix"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/spiral-matrix/src/spiral_matrix.clj b/exercises/practice/spiral-matrix/src/spiral_matrix.clj
index 0020962..cd4ad00 100644
--- a/exercises/practice/spiral-matrix/src/spiral_matrix.clj
+++ b/exercises/practice/spiral-matrix/src/spiral_matrix.clj
@@ -1,5 +1,7 @@
 (ns spiral-matrix)
 
-(defn spiral [n] ;; <- arglist goes here
-  ;; your code goes here
-)
+(defn spiral
+  "Returns a spiral matrix of size n x n"
+  [n]
+  ;; function body
+  )
diff --git a/exercises/practice/strain/project.clj b/exercises/practice/strain/project.clj
index 3eced97..8a6b151 100644
--- a/exercises/practice/strain/project.clj
+++ b/exercises/practice/strain/project.clj
@@ -1,4 +1,4 @@
 (defproject strain "0.1.0-SNAPSHOT"
   :description "strain exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/strain"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/strain"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/sublist/.docs/instructions.append.md b/exercises/practice/sublist/.docs/instructions.append.md
new file mode 100644
index 0000000..fd70d1c
--- /dev/null
+++ b/exercises/practice/sublist/.docs/instructions.append.md
@@ -0,0 +1,11 @@
+# Instructions append
+
+## Appendix
+
+~~~~exercism/note
+The instructions above are synchronized with a shared repository to ensure consistency across all language tracks.
+This appendix provides additional clarification or modifies the instructions as needed to better align with the goals of the Clojure track.
+~~~~
+
+For this exercise in the Clojure track, you may **assume the input is a vector**, as indicated by the tests.
+However, this is not a strict requirement.
diff --git a/exercises/practice/sublist/.docs/instructions.md b/exercises/practice/sublist/.docs/instructions.md
index 7535931..8228edc 100644
--- a/exercises/practice/sublist/.docs/instructions.md
+++ b/exercises/practice/sublist/.docs/instructions.md
@@ -8,8 +8,8 @@ Given any two lists `A` and `B`, determine if:
 - None of the above is true, thus lists `A` and `B` are unequal
 
 Specifically, list `A` is equal to list `B` if both lists have the same values in the same order.
-List `A` is a superlist of `B` if `A` contains a sub-sequence of values equal to `B`.
-List `A` is a sublist of `B` if `B` contains a sub-sequence of values equal to `A`.
+List `A` is a superlist of `B` if `A` contains a contiguous sub-sequence of values equal to `B`.
+List `A` is a sublist of `B` if `B` contains a contiguous sub-sequence of values equal to `A`.
 
 Examples:
 
diff --git a/exercises/practice/sublist/.meta/config.json b/exercises/practice/sublist/.meta/config.json
index 73198e2..9d58c09 100644
--- a/exercises/practice/sublist/.meta/config.json
+++ b/exercises/practice/sublist/.meta/config.json
@@ -5,7 +5,8 @@
   "contributors": [
     "AndreaCrotti",
     "haus",
-    "yurrriq"
+    "yurrriq",
+    "tasxatzial"
   ],
   "files": {
     "solution": [
diff --git a/exercises/practice/sublist/project.clj b/exercises/practice/sublist/project.clj
index 723c170..6b3c691 100644
--- a/exercises/practice/sublist/project.clj
+++ b/exercises/practice/sublist/project.clj
@@ -1,4 +1,4 @@
 (defproject sublist "0.1.0-SNAPSHOT"
   :description "sublist exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/sublist"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/sublist"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/sublist/src/sublist.clj b/exercises/practice/sublist/src/sublist.clj
index d6b8844..4974292 100644
--- a/exercises/practice/sublist/src/sublist.clj
+++ b/exercises/practice/sublist/src/sublist.clj
@@ -1,5 +1,6 @@
 (ns sublist)
 
-(defn classify [list1 list2] ;; <- arglist goes here
-      ;; your code goes here
-)
+(defn classify
+  [coll1 coll2]
+  ;; function body
+  )
diff --git a/exercises/practice/sum-of-multiples/project.clj b/exercises/practice/sum-of-multiples/project.clj
index 0fc5a89..f5c6862 100644
--- a/exercises/practice/sum-of-multiples/project.clj
+++ b/exercises/practice/sum-of-multiples/project.clj
@@ -1,4 +1,4 @@
 (defproject sum-of-multiples "0.1.0-SNAPSHOT"
   :description "sum-of-multiples exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/sum-of-multiples"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/sum-of-multiples"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/triangle/project.clj b/exercises/practice/triangle/project.clj
index 89fd6e6..487dff7 100644
--- a/exercises/practice/triangle/project.clj
+++ b/exercises/practice/triangle/project.clj
@@ -1,4 +1,4 @@
 (defproject triangle "0.1.0-SNAPSHOT"
   :description "triangle exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/triangle"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/triangle"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/trinary/project.clj b/exercises/practice/trinary/project.clj
index 6955d96..82c86e8 100644
--- a/exercises/practice/trinary/project.clj
+++ b/exercises/practice/trinary/project.clj
@@ -1,4 +1,4 @@
 (defproject trinary "0.1.0-SNAPSHOT"
   :description "trinary exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/trinary"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/trinary"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/two-fer/project.clj b/exercises/practice/two-fer/project.clj
index 6c67fbd..ef70e9e 100644
--- a/exercises/practice/two-fer/project.clj
+++ b/exercises/practice/two-fer/project.clj
@@ -1,4 +1,4 @@
 (defproject two-fer "0.1.0-SNAPSHOT"
   :description "two-fer exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/two-fer"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/two-fer"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/word-count/project.clj b/exercises/practice/word-count/project.clj
index 464bbd5..21e31d4 100644
--- a/exercises/practice/word-count/project.clj
+++ b/exercises/practice/word-count/project.clj
@@ -1,4 +1,4 @@
 (defproject word-count "0.1.0-SNAPSHOT"
   :description "word-count exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/word-count"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/word-count"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/wordy/project.clj b/exercises/practice/wordy/project.clj
index b09f3e0..f1bd8bf 100644
--- a/exercises/practice/wordy/project.clj
+++ b/exercises/practice/wordy/project.clj
@@ -1,4 +1,4 @@
 (defproject word-count "0.1.0-SNAPSHOT"
   :description "wordy exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/wordy"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/wordy"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/yacht/.meta/config.json b/exercises/practice/yacht/.meta/config.json
index 594bae5..c6ff390 100644
--- a/exercises/practice/yacht/.meta/config.json
+++ b/exercises/practice/yacht/.meta/config.json
@@ -2,7 +2,6 @@
   "authors": [
     "porkostomus"
   ],
-  "contributors": [],
   "files": {
     "solution": [
       "src/yacht.clj"
diff --git a/exercises/practice/yacht/project.clj b/exercises/practice/yacht/project.clj
index 12fc797..f7cb817 100644
--- a/exercises/practice/yacht/project.clj
+++ b/exercises/practice/yacht/project.clj
@@ -1,4 +1,4 @@
 (defproject yacht "0.1.0-SNAPSHOT"
   :description "yacht exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/yacht"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/yacht"
   :dependencies [[org.clojure/clojure "1.10.0"]])
diff --git a/exercises/practice/zipper/.meta/config.json b/exercises/practice/zipper/.meta/config.json
index 7a564d0..9a534de 100644
--- a/exercises/practice/zipper/.meta/config.json
+++ b/exercises/practice/zipper/.meta/config.json
@@ -1,10 +1,17 @@
 {
-  "authors" : [ "porkostomus" ],
-  "contributors" : [ ],
-  "files" : {
-    "solution" : [ "src/zipper.clj" ],
-    "test" : [ "test/zipper_test.clj" ],
-    "example" : [ ".meta/src/example.clj" ]
+  "authors": [
+    "porkostomus"
+  ],
+  "files": {
+    "solution": [
+      "src/zipper.clj"
+    ],
+    "test": [
+      "test/zipper_test.clj"
+    ],
+    "example": [
+      ".meta/src/example.clj"
+    ]
   },
-  "blurb" : "Creating a zipper for a binary tree."
-}
\ No newline at end of file
+  "blurb": "Creating a zipper for a binary tree."
+}
diff --git a/exercises/practice/zipper/project.clj b/exercises/practice/zipper/project.clj
index eb902cc..d44e5b2 100644
--- a/exercises/practice/zipper/project.clj
+++ b/exercises/practice/zipper/project.clj
@@ -1,4 +1,4 @@
 (defproject zipper "0.1.0-SNAPSHOT"
   :description "zipper exercise."
-  :url "https://github.com/exercism/clojure/tree/master/exercises/zipper"
+  :url "https://github.com/exercism/clojure/tree/main/exercises/practice/zipper"
   :dependencies [[org.clojure/clojure "1.10.0"]])


Test patch:
diff --git a/exercises/practice/armstrong-numbers/.meta/tests.toml b/exercises/practice/armstrong-numbers/.meta/tests.toml
index b956bdf..b3f09e4 100644
--- a/exercises/practice/armstrong-numbers/.meta/tests.toml
+++ b/exercises/practice/armstrong-numbers/.meta/tests.toml
@@ -38,8 +38,6 @@ description = "Seven-digit number that is not an Armstrong number"
 
 [5ee2fdf8-334e-4a46-bb8d-e5c19c02c148]
 description = "Armstrong number containing seven zeroes"
-include = false
 
 [12ffbf10-307a-434e-b4ad-c925680e1dd4]
 description = "The largest and last Armstrong number"
-include = false
diff --git a/exercises/practice/armstrong-numbers/test/armstrong_numbers_test.clj b/exercises/practice/armstrong-numbers/test/armstrong_numbers_test.clj
index 3404cf9..a2c9966 100644
--- a/exercises/practice/armstrong-numbers/test/armstrong_numbers_test.clj
+++ b/exercises/practice/armstrong-numbers/test/armstrong_numbers_test.clj
@@ -1,39 +1,47 @@
 (ns armstrong-numbers-test
   (:require [clojure.test :refer [deftest is testing]]
-            [armstrong-numbers :refer [armstrong?]]))
+            armstrong-numbers))
 
-(deftest armstrong-number-0
+(deftest test-c1ed103c-258d-45b2-be73-d8c6d9580c7b
   (testing "Zero is an Armstrong number"
-    (is (armstrong? 0))))
+    (is (true? (armstrong-numbers/armstrong? 0)))))
 
-(deftest armstrong-number-5
+(deftest test-579e8f03-9659-4b85-a1a2-d64350f6b17a
   (testing "Single-digit numbers are Armstrong numbers"
-    (is (armstrong? 5))))
+    (is (true? (armstrong-numbers/armstrong? 5)))))
 
-(deftest not-armstrong-number-10
+(deftest test-2d6db9dc-5bf8-4976-a90b-b2c2b9feba60
   (testing "There are no two-digit Armstrong numbers"
-    (is (not (armstrong? 10)))))
+    (is (false? (armstrong-numbers/armstrong? 10)))))
 
-(deftest armstrong-number-153
+(deftest test-509c087f-e327-4113-a7d2-26a4e9d18283
   (testing "Three-digit number that is an Armstrong number"
-    (is (armstrong? 153))))
+    (is (true? (armstrong-numbers/armstrong? 153)))))
 
-(deftest not-armstrong-number-100
+(deftest test-7154547d-c2ce-468d-b214-4cb953b870cf
   (testing "Three-digit number that is not an Armstrong number"
-    (is (not (armstrong? 100)))))
+    (is (false? (armstrong-numbers/armstrong? 100)))))
 
-(deftest armstrong-number-9474
+(deftest test-6bac5b7b-42e9-4ecb-a8b0-4832229aa103
   (testing "Four-digit number that is an Armstrong number"
-    (is (armstrong? 9474))))
+    (is (true? (armstrong-numbers/armstrong? 9474)))))
 
-(deftest not-armstrong-number-9475
+(deftest test-eed4b331-af80-45b5-a80b-19c9ea444b2e
   (testing "Four-digit number that is not an Armstrong number"
-    (is (not (armstrong? 9475)))))
+    (is (false? (armstrong-numbers/armstrong? 9475)))))
 
-(deftest armstrong-number-9926315
+(deftest test-f971ced7-8d68-4758-aea1-d4194900b864
   (testing "Seven-digit number that is an Armstrong number"
-    (is (armstrong? 9926315))))
+    (is (true? (armstrong-numbers/armstrong? 9926315)))))
 
-(deftest not-armstrong-number-9926314
+(deftest test-7ee45d52-5d35-4fbd-b6f1-5c8cd8a67f18
   (testing "Seven-digit number that is not an Armstrong number"
-    (is (not (armstrong? 9926314)))))
+    (is (false? (armstrong-numbers/armstrong? 9926314)))))
+
+(deftest test-5ee2fdf8-334e-4a46-bb8d-e5c19c02c148
+  (testing "Armstrong number containing seven zeroes"
+    (is (true? (armstrong-numbers/armstrong? 186709961001538790100634132976990)))))
+
+(deftest test-12ffbf10-307a-434e-b4ad-c925680e1dd4
+  (testing "The largest and last Armstrong number"
+    (is (true? (armstrong-numbers/armstrong? 115132219018763992565095597973971522401)))))
diff --git a/exercises/practice/dominoes/.meta/tests.toml b/exercises/practice/dominoes/.meta/tests.toml
index 23ff84f..08c8e08 100644
--- a/exercises/practice/dominoes/.meta/tests.toml
+++ b/exercises/practice/dominoes/.meta/tests.toml
@@ -1,6 +1,13 @@
-# This is an auto-generated file. Regular comments will be removed when this
-# file is regenerated. Regenerating will not touch any manually added keys,
-# so comments can be added in a "comment" key.
+# This is an auto-generated file.
+#
+# Regenerating this file via `configlet sync` will:
+# - Recreate every `description` key/value pair
+# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications
+# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion)
+# - Preserve any other key/value pair
+#
+# As user-added comments (using the # character) will be removed when this file
+# is regenerated, comments can be added via a `comment` key.
 
 [31a673f2-5e54-49fe-bd79-1c1dae476c9c]
 description = "empty input = empty output"
@@ -37,3 +44,6 @@ description = "separate loops"
 
 [cd061538-6046-45a7-ace9-6708fe8f6504]
 description = "nine elements"
+
+[44704c7c-3adb-4d98-bd30-f45527cf8b49]
+description = "separate three-domino loops"
diff --git a/exercises/practice/dominoes/test/dominoes_test.clj b/exercises/practice/dominoes/test/dominoes_test.clj
index bb1b2ef..beccaa3 100644
--- a/exercises/practice/dominoes/test/dominoes_test.clj
+++ b/exercises/practice/dominoes/test/dominoes_test.clj
@@ -1,39 +1,55 @@
 (ns dominoes-test
-  (:require [clojure.test :refer [deftest is]]
-            [dominoes     :refer [can-chain?]]))
+  (:require [clojure.test :refer [deftest testing is]]
+            dominoes))
 
-(deftest empty-input-empty-output
-  (is (can-chain? [])))
+(deftest test-31a673f2-5e54-49fe-bd79-1c1dae476c9c
+  (testing "Empty input = empty output"
+    (is (true? (dominoes/can-chain? [])))))
 
-(deftest singleton-input-singleton-output
-  (is (can-chain? [[1 1]])))
+(deftest test-4f99b933-367b-404b-8c6d-36d5923ee476
+  (testing "Singleton input = singleton output"
+    (is (true? (dominoes/can-chain? [[1 1]])))))
 
-(deftest singleton-that-cant-be-chained
-  (is ((comp not can-chain?) [[1 2]])))
+(deftest test-91122d10-5ec7-47cb-b759-033756375869
+  (testing "Singleton that can't be chained"
+    (is (false? (dominoes/can-chain? [[1 2]])))))
 
-(deftest three-elements
-  (is (can-chain?  [[1 2] [3 1] [2 3]])))
+(deftest test-be8bc26b-fd3d-440b-8e9f-d698a0623be3
+  (testing "Three elements"
+    (is (true? (dominoes/can-chain?  [[1 2] [3 1] [2 3]])))))
 
-(deftest can-reverse-dominoes
-  (is (can-chain? [[1 2] [1 3] [2 3]])))
+(deftest test-99e615c6-c059-401c-9e87-ad7af11fea5c
+  (testing "Can reverse dominoes"
+    (is (true? (dominoes/can-chain? [[1 2] [1 3] [2 3]])))))
 
-(deftest cant-be-chained
-  (is ((comp not can-chain?) [[1 2] [4 1] [2 3]])))
+(deftest test-51f0c291-5d43-40c5-b316-0429069528c9
+  (testing "Can't be chained"
+    (is (false? (dominoes/can-chain? [[1 2] [4 1] [2 3]])))))
 
-(deftest disconnected-simple
-  (is ((comp not can-chain?) [[1 1] [2 2]])))
+(deftest test-9a75e078-a025-4c23-8c3a-238553657f39
+  (testing "Disconnected - simple"
+    (is (false? (dominoes/can-chain? [[1 1] [2 2]])))))
 
-(deftest disconnected-double-loop
-  (is ((comp not can-chain?) [[1 2] [2 1] [3 4] [4 3]])))
+(deftest test-0da0c7fe-d492-445d-b9ef-1f111f07a301
+  (testing "Disconnected - double loop"
+    (is (false? (dominoes/can-chain? [[1 2] [2 1] [3 4] [4 3]])))))
 
-(deftest disconnected-single-isolated
-  (is ((comp not can-chain?) [[1 2] [2 3] [3 1] [4 4]])))
+(deftest test-b6087ff0-f555-4ea0-a71c-f9d707c5994a
+  (testing "Disconnected - single isolated"
+    (is (false? (dominoes/can-chain? [[1 2] [2 3] [3 1] [4 4]])))))
 
-(deftest need-backtrack
-  (is (can-chain? [[1 2] [2 3] [3 1] [2 4] [2 4]])))
+(deftest test-2174fbdc-8b48-4bac-9914-8090d06ef978
+  (testing "Need backtrack"
+    (is (true? (dominoes/can-chain? [[1 2] [2 3] [3 1] [2 4] [2 4]])))))
 
-(deftest separate-loops
-  (is (can-chain? [[1 2] [2 3] [3 1] [1 1] [2 2] [3 3]])))
+(deftest test-167bb480-dfd1-4318-a20d-4f90adb4a09f
+  (testing "Separate loops"
+    (is (true? (dominoes/can-chain? [[1 2] [2 3] [3 1] [1 1] [2 2] [3 3]])))))
 
-(deftest nine-elements
-  (is (can-chain? [[1 2] [5 3] [3 1] [1 2] [2 4] [1 6] [2 3] [3 4] [5 6]])))
+(deftest test-cd061538-6046-45a7-ace9-6708fe8f6504
+  (testing "Nine elements"
+    (is (true? (dominoes/can-chain? [[1 2] [5 3] [3 1] [1 2] [2 4] [1 6] [2 3] [3 4] [5 6]])))))
+
+(deftest test-44704c7c-3adb-4d98-bd30-f45527cf8b49
+  (testing "Separate three-domino loops"
+    (is (false? (dominoes/can-chain?  [[1 2] [2 3] [3 1] [4 5] [5 6] [6 4]])))))
diff --git a/exercises/practice/spiral-matrix/test/spiral_matrix_test.clj b/exercises/practice/spiral-matrix/test/spiral_matrix_test.clj
index 85dc9f9..ea4533e 100644
--- a/exercises/practice/spiral-matrix/test/spiral_matrix_test.clj
+++ b/exercises/practice/spiral-matrix/test/spiral_matrix_test.clj
@@ -1,58 +1,43 @@
 (ns spiral-matrix-test
   (:require [clojure.test :refer [deftest is testing]]
-            [spiral-matrix :refer [spiral]]))
+            spiral-matrix))
 
-(deftest spiral-matrix-of-0
-  (testing "spiral matrix of 0"
-    (is (= (spiral 0)
-           '()))))
+(deftest test-8f584201-b446-4bc9-b132-811c8edd9040
+  (testing "Empty spiral"
+    (is (= []
+           (spiral-matrix/spiral 0)))))
 
-(deftest spiral-matrix-of-1
-  (testing "spiral matrix of 1"
-    (is (= (spiral 1)
-           '((1))))))
+(deftest test-e40ae5f3-e2c9-4639-8116-8a119d632ab2
+  (testing "Trivial spiral"
+    (is (= [[1]]
+           (spiral-matrix/spiral 1)))))
 
-(deftest spiral-matrix-of-2
-  (testing "spiral matrix of 2"
-    (is (= (spiral 2)
-           '((1 2)
-             (4 3))))))
+(deftest test-cf05e42d-eb78-4098-a36e-cdaf0991bc48
+  (testing "Spiral of size 2"
+    (is (= [[1 2]
+            [4 3]]
+           (spiral-matrix/spiral 2)))))
 
-(deftest spiral-matrix-of-3
-  (testing "spiral matrix of 3"
-    (is (= (spiral 3)
-           '((1 2 3)
-             (8 9 4)
-             (7 6 5))))))
+(deftest test-1c475667-c896-4c23-82e2-e033929de939
+  (testing "Spiral of size 3"
+    (is (= [[1 2 3]
+            [8 9 4]
+            [7 6 5]]
+           (spiral-matrix/spiral 3)))))
 
-(deftest spiral-matrix-of-4
-  (testing "spiral matrix of 4"
-    (is (= (spiral 4)
-           '((1  2  3  4)
-             (12 13 14 5)
-             (11 16 15 6)
-             (10 9  8  7))))))
+(deftest test-05ccbc48-d891-44f5-9137-f4ce462a759d
+  (testing "Spiral of size 4"
+    (is (= [[1  2  3  4]
+            [12 13 14 5]
+            [11 16 15 6]
+            [10 9  8  7]]
+           (spiral-matrix/spiral 4)))))
 
-(deftest spiral-matrix-of-20
-  (testing "spiral matrix of 20"
-    (is (= (spiral 20)
-           '((1  2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20)
-             (76 77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  21)
-             (75 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 95  22)
-             (74 143 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 161 96  23)
-             (73 142 203 256 257 258 259 260 261 262 263 264 265 266 267 268 219 162 97  24)
-             (72 141 202 255 300 301 302 303 304 305 306 307 308 309 310 269 220 163 98  25)
-             (71 140 201 254 299 336 337 338 339 340 341 342 343 344 311 270 221 164 99  26)
-             (70 139 200 253 298 335 364 365 366 367 368 369 370 345 312 271 222 165 100 27)
-             (69 138 199 252 297 334 363 384 385 386 387 388 371 346 313 272 223 166 101 28)
-             (68 137 198 251 296 333 362 383 396 397 398 389 372 347 314 273 224 167 102 29)
-             (67 136 197 250 295 332 361 382 395 400 399 390 373 348 315 274 225 168 103 30)
-             (66 135 196 249 294 331 360 381 394 393 392 391 374 349 316 275 226 169 104 31)
-             (65 134 195 248 293 330 359 380 379 378 377 376 375 350 317 276 227 170 105 32)
-             (64 133 194 247 292 329 358 357 356 355 354 353 352 351 318 277 228 171 106 33)
-             (63 132 193 246 291 328 327 326 325 324 323 322 321 320 319 278 229 172 107 34)
-             (62 131 192 245 290 289 288 287 286 285 284 283 282 281 280 279 230 173 108 35)
-             (61 130 191 244 243 242 241 240 239 238 237 236 235 234 233 232 231 174 109 36)
-             (60 129 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 110 37)
-             (59 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 38)
-             (58 57  56  55  54  53  52  51  50  49  48  47  46  45  44  43  42  41  40  39))))))
+(deftest test-f4d2165b-1738-4e0c-bed0-c459045ae50d
+  (testing "Spiral of size 5"
+    (is (= [[1  2  3  4  5]
+            [16 17 18 19 6]
+            [15 24 25 20 7]
+            [14 23 22 21 8]
+            [13 12 11 10 9]]
+           (spiral-matrix/spiral 5)))))
diff --git a/exercises/practice/sublist/.meta/tests.toml b/exercises/practice/sublist/.meta/tests.toml
index 74bd60c..de5020a 100644
--- a/exercises/practice/sublist/.meta/tests.toml
+++ b/exercises/practice/sublist/.meta/tests.toml
@@ -1,6 +1,13 @@
-# This is an auto-generated file. Regular comments will be removed when this
-# file is regenerated. Regenerating will not touch any manually added keys,
-# so comments can be added in a "comment" key.
+# This is an auto-generated file.
+#
+# Regenerating this file via `configlet sync` will:
+# - Recreate every `description` key/value pair
+# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications
+# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion)
+# - Preserve any other key/value pair
+#
+# As user-added comments (using the # character) will be removed when this file
+# is regenerated, comments can be added via a `comment` key.
 
 [97319c93-ebc5-47ab-a022-02a1980e1d29]
 description = "empty lists"
@@ -47,6 +54,9 @@ description = "first list missing element from second list"
 [83ffe6d8-a445-4a3c-8795-1e51a95e65c3]
 description = "second list missing element from first list"
 
+[7bc76cb8-5003-49ca-bc47-cdfbe6c2bb89]
+description = "first list missing additional digits from second list"
+
 [0d7ee7c1-0347-45c8-9ef5-b88db152b30b]
 description = "order matters to a list"
 
diff --git a/exercises/practice/sublist/test/sublist_test.clj b/exercises/practice/sublist/test/sublist_test.clj
index c7fff7b..2533499 100644
--- a/exercises/practice/sublist/test/sublist_test.clj
+++ b/exercises/practice/sublist/test/sublist_test.clj
@@ -2,56 +2,74 @@
   (:require [clojure.test :refer [deftest is testing]]
             sublist))
 
-(deftest empty-lists-test
-    (is (= :equal (sublist/classify [] []))))
+(deftest test-97319c93-ebc5-47ab-a022-02a1980e1d29
+  (testing "Empty lists"
+    (is (= :equal (sublist/classify [] [])))))
 
-(deftest empty-list-within-non-empty-list-test
-    (is (= :sublist (sublist/classify [] [1 2 3]))))
+(deftest test-de27dbd4-df52-46fe-a336-30be58457382
+  (testing "Empty list within non empty list"
+    (is (= :sublist (sublist/classify [] [1 2 3])))))
 
-(deftest non-empty-list-contains-empty-list-test
-    (is (= :superlist (sublist/classify [1 2 3] []))))
+(deftest test-5487cfd1-bc7d-429f-ac6f-1177b857d4fb
+  (testing "Non empty list contains empty list"
+    (is (= :superlist (sublist/classify [1 2 3] [])))))
 
-(deftest list-equals-itself-test
-    (is (= :equal (sublist/classify [1 2 3] [1 2 3]))))
+(deftest test-1f390b47-f6b2-4a93-bc23-858ba5dda9a6
+  (testing "List equals itself"
+    (is (= :equal (sublist/classify [1 2 3] [1 2 3])))))
 
-(deftest different-lists
-    (is (= :unequal (sublist/classify [1 2 3] [2 3 4]))))
+(deftest test-7ed2bfb2-922b-4363-ae75-f3a05e8274f5
+  (testing "Different lists"
+    (is (= :unequal (sublist/classify [1 2 3] [2 3 4])))))
 
-(deftest false-start
-    (is (= :sublist (sublist/classify [1 2 5] [0 1 2 3 1 2 5 6]))))
+(deftest test-3b8a2568-6144-4f06-b0a1-9d266b365341
+  (testing "False start"
+    (is (= :sublist (sublist/classify [1 2 5] [0 1 2 3 1 2 5 6])))))
 
-(deftest consecutive
-    (is (= :sublist (sublist/classify [1 1 2] [0 1 1 1 2 1 2]))))
+(deftest test-dc39ed58-6311-4814-be30-05a64bc8d9b1
+  (testing "Consecutive"
+    (is (= :sublist (sublist/classify [1 1 2] [0 1 1 1 2 1 2])))))
 
-(deftest sublist-at-start
-    (is (= :sublist (sublist/classify [0 1 2] [0 1 2 3 4 5]))))
+(deftest test-d1270dab-a1ce-41aa-b29d-b3257241ac26
+  (testing "Sublist at start"
+    (is (= :sublist (sublist/classify [0 1 2] [0 1 2 3 4 5])))))
 
-(deftest sublist-in-middle
-    (is (= :sublist (sublist/classify [2 3 4] [0 1 2 3 4 5]))))
+(deftest test-81f3d3f7-4f25-4ada-bcdc-897c403de1b6
+  (testing "Sublist in middle"
+    (is (= :sublist (sublist/classify [2 3 4] [0 1 2 3 4 5])))))
 
-(deftest sublist-at-end
-    (is (= :sublist (sublist/classify [3 4 5] [0 1 2 3 4 5]))))
+(deftest test-43bcae1e-a9cf-470e-923e-0946e04d8fdd
+  (testing "Sublist at end"
+    (is (= :sublist (sublist/classify [3 4 5] [0 1 2 3 4 5])))))
 
-(deftest at-start-of-superlist
-    (is (= :superlist (sublist/classify [0 1 2 3 4 5] [0 1 2]))))
+(deftest test-76cf99ed-0ff0-4b00-94af-4dfb43fe5caa
+  (testing "At start of superlist"
+    (is (= :superlist (sublist/classify [0 1 2 3 4 5] [0 1 2])))))
 
-(deftest in-middle-of-superlist
-    (is (= :superlist (sublist/classify [0 1 2 3 4 5] [2 3]))))
+(deftest test-b83989ec-8bdf-4655-95aa-9f38f3e357fd
+  (testing "In middle of superlist"
+    (is (= :superlist (sublist/classify [0 1 2 3 4 5] [2 3])))))
 
-(deftest at-end-of-superlist
-    (is (= :superlist (sublist/classify [0 1 2 3 4 5] [3 4 5]))))
+(deftest test-26f9f7c3-6cf6-4610-984a-662f71f8689b
+  (testing "At end of superlist"
+    (is (= :superlist (sublist/classify [0 1 2 3 4 5] [3 4 5])))))
 
-(deftest first-list-missing-element-from-second-list
-    (is (= :unequal (sublist/classify [1 3] [1 2 3]))))
+(deftest test-0a6db763-3588-416a-8f47-76b1cedde31e
+  (testing "First list missing element from second list"
+    (is (= :unequal (sublist/classify [1 3] [1 2 3])))))
 
-(deftest second-list-missing-element-from-first-list
-    (is (= :unequal (sublist/classify [1 2 3] [1 3]))))
+(deftest test-83ffe6d8-a445-4a3c-8795-1e51a95e65c3
+  (testing "Second list missing element from first list"
+    (is (= :unequal (sublist/classify [1 2 3] [1 3])))))
 
-(deftest order-matters-to-a-list
-    (is (= :unequal (sublist/classify [1 2 3] [3 2 1]))))
+(deftest test-7bc76cb8-5003-49ca-bc47-cdfbe6c2bb89
+  (testing "First list missing additional digits from second list"
+    (is (= :unequal (sublist/classify [1 2] [1 22])))))
 
-(deftest same-digits-but-different-numbers
-    (is (= :unequal (sublist/classify [1 0 1] [10 1]))))
+(deftest test-0d7ee7c1-0347-45c8-9ef5-b88db152b30b
+  (testing "Order matters to a list"
+    (is (= :unequal (sublist/classify [1 2 3] [3 2 1])))))
 
-(deftest second-list-continues-first-list
-  (is (= :unequal (sublist/classify [1] [2 3]))))
+(deftest test-5f47ce86-944e-40f9-9f31-6368aad70aa6
+  (testing "Same digits but different numbers"
+    (is (= :unequal (sublist/classify [1 0 1] [10 1])))))