                  })))
 
 
-(def sha1-regex #"[0-9a-f-]+")
+(def sha1-regex #"[0-9a-z-]+")
 
 (defn make-routes [handlers]
   ;; AMON API here

                              (assoc :href (path-for routes (:project @handlers) :project-id (:id %))))))]

      (case mime
        "text/html" (render-items-html coll)
        ;; Liberator's default rendering of application/edn seems wrong
        ;; (it wraps the data in 'clojure.lang.PersistentArrayMap', so

  (fn [{item ::item {mime :media-type} :representation {routes :modular.bidi/routes} :request}]
    (let [item (assoc item :properties (path-for routes (:properties @handlers) :project-id (:id item)))]
      (case mime
        "application/json" (-> item
                               downcast-to-json
                               camelify
                               encode)
        "text/html" (html
                     [:body
                      [:h1 (:name item)]
