           ;; partial-args will needlessly overwrite the :id in :inputs, but oh well
           ;; partial-args should overwrite what is in the db, and update the db
           ;; in the response handler
-          inputs-defaults (merge defaults inputs (if (map? partial-args) partial-args))
+          ;; don't merge inputs from the if :solo - only send the given
+          ;; attributes in the event vector
+          inputs-defaults (merge defaults (if solo {} inputs) (if (map? partial-args) partial-args))
           ]
       ;; it seems weird but a request with empty args is possible
       ;; both outgoing-spec and inputs can be nil

          things (local-get-item prefix form-type)]
      (dispatch [:response/query {:results things} 200 tap]))))

(comment

  (local-get-item "bones" "todos")
  (str "bones" (name "todos"))
  (str "bones" "-" (name :todos))




  )
;; helpers
(defn editable-reset [etype identifier inputs]
  [:editable

                         (:identifier opts)
                         ;; must be an :identifier like :new or just an id
                         partial-args)
          solo (:solo opts)
          ;; form-type and identifier are needed by the response handler to
          ;; update the thing in the db
          more-tap (merge tap
                          {:form-type form-type :identifier identifier}
                          {:solo solo})
          ;; this is the specification for the editable thing:
          {:keys [spec outgoing-spec]
           :or {outgoing-spec spec}
