diff --git a/docs/cloverage/codecov.json b/docs/cloverage/codecov.json
index 241fe56..8a65628 100644
--- a/docs/cloverage/codecov.json
+++ b/docs/cloverage/codecov.json
@@ -3,24 +3,23 @@
[null, 1, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, 1, null, null, null, null, null, null, null, null,
+ null, null, null, null, 1, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null,
- 40, null, 0, null, 1, null, null, null, null, null, true, 4, null,
- null, null, null, 1, null, null, null, null, 1, null, null, null,
- null, null, true, null, null, 5, null, null, null, 1, null, true,
- null, null, 1, null, null, null, null, true, null, null, 5, null,
- null, 1, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, true, 2, 2, 0, 0, 0, null, null, 1, null,
- null, null, null, null, null, null, 0, 0, 0, null, null, 1, null,
- null, 0, 0, 0, 0, 0, 0, 0, null, null, null, 1, null, null, 0, 0, 0,
- null, null, 1, null, null, null, null, null, 0, 0, 0, null, null, 1,
- null, null, null, null, null, true, true, true, true, 2, 1, null, 1,
- 1, true, true, 1, null, null, null, null, null, null, null, null, 0,
- 0, 0, 0, null, null, 1, null, null, 0, null, 1, null, null, 0, null,
- 1, null, null, 0, null, 1, null, null, 2, null, null],
+ null, 35, null, 35, null, 1, null, null, null, null, null, 4, null,
+ 4, null, 1, null, 3, null, 3, null, 1, null, null, null, null, null,
+ null, null, 0, 0, 0, 0, null, null, null, null, 1, null, 0, null, 0,
+ null, 1, null, 0, null, 0, null, 1, null, null, null, null, null, 0,
+ 0, 0, null, null, 1, null, null, null, null, null, true, true, true,
+ true, 2, 1, null, 1, 1, true, true, 1, null, null, null, null, null,
+ null, null, null, 0, 0, 0, 0, null, null, 1, null, null, 0, null, 1,
+ null, null, 0, null, 1, null, null, 0, null, 1, null, null, 2, null,
+ null],
"dog_and_duck/utils/process.clj":
- [null, 1, null, null, 1, null, null, null, null, 1, 1, 1, null, true,
- null, null, null, null, null, null, null, null, null, 1],
+ [null, 1, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, 1, null, null, null,
+ null, null, null, 1, 1, 1, 1, 1, null, true, null, null, null, null,
+ null, null, null, null, null, 1, null, 1, null, null, null, null,
+ 1],
"clj_activitypub/internal/http_util.clj":
[null, 1, null, null, null, null, null, null, null, null, 1, 1, 1, 1,
2, 2, 1, 1, 1, null, 1, 0, 0, null, 1, null, null, null, 0],
@@ -31,7 +30,7 @@
"dog_and_duck/scratch/parser.clj":
[null, 1, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null,
- null, 1, null, null, null, 10, 10, 10, 10, 10, true, 0, null, 1,
+ null, 1, null, null, null, 11, 11, 11, 11, 11, true, 0, null, 1,
null, 1, 0, 0, 0, 0, 0, 0, 1, null, 1],
"clj_activitypub/core.clj":
[null, 1, null, null, null, null, null, null, null, null, null, 1,
@@ -51,21 +50,50 @@
"dog_and_duck/quack/picky.clj":
[null, 1, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, 1,
+ null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null,
+ null, 1, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, 1, null,
- 1, null, 1, 1, 1, 1, 1, null, 1, null, null, null, true, true, 7, 7,
- 7, 7, 12, 7, null, 1, null, null, null, null, 1, null, null, null,
- null, 1, null, null, null, null, null, null, true, 22, 18, true, 2,
- null, null, null, 12, null, null, 3, null, 1, null, null, null,
- null, null, null, null, null, 14, 14, 14, 14, null, 14, null, 14,
- null, 14, 14, 14, null, 1, null, null, 12, 12, 12, 12, 1, null,
- null, 12, 12, 3, null, null, 12, 3, null, null, 12, 4, null, null,
- 12, null, 1, null, null, 5, 5, 5, 5, 5, 4, 3, 1, null, 1, null, 0,
- 1, 5, null],
+ null, null, null, null, null, null, null, null, 1, null, null, null,
+ 1, null, 1, null, null, null, null, null, null, null, null, null,
+ null, null, 1, null, 1, null, 1, 1, 1, 1, 1, 1, null, 1, null, null,
+ 0, null, 1, null, null, null, null, null, 0, 0, 0, 0, 0, null, 1,
+ null, null, null, true, true, 46, 46, 46, 72, 46, null, 0, 0, null,
+ 0, 0, null, 1, null, null, null, null, 1, null, null, null, null, 1,
+ null, null, null, null, null, null, true, 261, 123, true, 6, null,
+ null, null, 89, null, null, 3, null, 1, null, null, null, null,
+ null, null, null, null, 372, 372, 372, 372, null, 372, null, 372,
+ null, 372, 372, true, null, 0, 0, null, true, null, null, 6, 6,
+ null, 1, null, null, null, null, null, null, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, null, 0, 0, 0, 0, 0, 0, null, 1, null, null, null, null, null,
+ true, 89, 89, 89, 5, 89, 89, 66, 89, 13, 89, 23, null, 0, 0, 0, 0,
+ 0, null, null, 0, null, 1, null, null, null, null, 0, null, 16, 16,
+ null, 0, null, 0, null, 12, null, 1, null, null, true, 17, 17, 17,
+ 17, 17, 14, 13, 8, null, 1, null, 0, 3, null, 1, null, null, null,
+ null, 1, null, null, null, null, null, 1, null, null, 12, null, 1,
+ null, null, null, 8, 8, true, 8, null, 1, null, null, true, 3, 3, 3,
+ 3, 1, 3, 3, 3, 3, null, 1, null, null, null, null, 1, null, null,
+ null, null, 1, null, null, null, 4, null, 1, null, null, null, 0, 0,
+ 0, 0, null, 1, null, null, null, null, null, 0, null, 0, 0, null, 1,
+ null, null, null, null, 0, 0, 0, 0, null, null, null, 1, null, null,
+ null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, 0, 0, 0, 0, 0, 0, null, 0, 0, 0, null, null, 0, 0,
+ null, 0, 0, 0, 0, 0, null, 0, 0, 0, 0, 0, null, 1, null, null, 0,
+ null, 1, null, null, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, null, 0,
+ 0, 0, 0, null, 1, null, null, null, true, 0, true, true, null, 1,
+ null, null, null, 1, null, 1, null, null, 1, null, 1, 0, null, null,
+ null, 1, null, null, 1, 1, 1, 1, null, 1, 1, 1, 1, 1, 1, null, 1, 1,
+ 1, 0, null, null, null, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, null, 1, null, null, null, null, null, null, null, 0, 0, 0, null,
+ 0, 0, 0, 0, null, 1, null, 0, 0, 0, 0, 0, 0, 0, 0, 0],
"dog_and_duck/quack/fault_messages.clj":
- [null, 1, null, 1, null, 1, null, null, null, null, null, null,
- null],
- "dog_and_duck/scratch/core.clj":[null, 1, null, 1, null, null, 0],
+ [null, 1, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, 1, null, 1, null, null,
+ null, null, null, null, null, null, null, null],
+ "dog_and_duck/scratch/core.clj":
+ [null, 1, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, 1, null, null, 0],
"clj_activitypub/webfinger.clj":
[null, 1, null, null, null, null, null, null, null, 1, null, 1, 1,
null, 1, null, null, 1, 1, 1, null, 1, 1, null, 1, null, null, null,
@@ -73,6 +101,6 @@
"dog_and_duck/scratch/scratch.clj":
[null, 1, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, 1, null, 1, 1, 1, null, null, null,
- null, 1, null, 1, 1, 1, 1, null, null, 1, null, null, 1, 1, null,
- null, null, null, 1, 1, 1, 1, 1, 1, null, null]}}
+ null, null, 1, null, 1, 1, 1, null, null, null, null, 1, null, 1, 1,
+ 1, 1, null, null, 1, null, null, null, null, null, null, null, 1, 1,
+ 1, 1, 1, 1, null, null]}}
diff --git a/docs/cloverage/coverage.xml b/docs/cloverage/coverage.xml
index 53acaeb..6417165 100644
--- a/docs/cloverage/coverage.xml
+++ b/docs/cloverage/coverage.xml
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/cloverage/dog_and_duck/quack/fault_messages.clj.html b/docs/cloverage/dog_and_duck/quack/fault_messages.clj.html
index 36cfe2a..ebc8537 100644
--- a/docs/cloverage/dog_and_duck/quack/fault_messages.clj.html
+++ b/docs/cloverage/dog_and_duck/quack/fault_messages.clj.html
@@ -10,35 +10,92 @@
002
+
+ 003 ;;; Copyright (C) Simon Brooke, 2022
+
+
+ 004
+
+
+ 005 ;;; This program is free software; you can redistribute it and/or
+
+
+ 006 ;;; modify it under the terms of the GNU General Public License
+
+
+ 007 ;;; as published by the Free Software Foundation; either version 2
+
+
+ 008 ;;; of the License, or (at your option) any later version.
+
+
+ 009
+
+
+ 010 ;;; This program is distributed in the hope that it will be useful,
+
+
+ 011 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+
+
+ 012 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+
+
+ 013 ;;; GNU General Public License for more details.
+
+
+ 014
+
+
+ 015 ;;; You should have received a copy of the GNU General Public License
+
+
+ 016 ;;; along with this program; if not, write to the Free Software
+
+
+ 017 ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+ 018
+
- 003 (def messages
+ 019 (def messages
- 004 "Actual fault messages to which fault codes resolve."
+ 020 "Actual fault messages to which fault codes resolve."
-
- 005 {:id-not-https "Publicly facing content SHOULD use HTTPS URIs"
+
+ 021 {:id-not-https "Publicly facing content SHOULD use HTTPS URIs"
- 006 :id-not-uri "identifiers must be publicly dereferencable URIs"
+ 022 :id-not-uri "identifiers must be publicly dereferencable URIs"
- 007 :no-context "Section 3 of the ActivityPub specification states Implementers SHOULD include the ActivityPub context in their object definitions`."
+ 023 :no-context "Section 3 of the ActivityPub specification states Implementers SHOULD include the ActivityPub context in their object definitions`."
- 008 :no-id-persistent "Persistent objects MUST have unique global identifiers."
+ 024 :no-id-persistent "Persistent objects MUST have unique global identifiers."
- 009 :no-id-transient "The ActivityPub specification allows objects without `id` fields only if they are intentionally transient; even so it is preferred that the object should have an explicit null id."
+ 025 :no-id-transient "The ActivityPub specification allows objects without `id` fields only if they are intentionally transient; even so it is preferred that the object should have an explicit null id."
- 010 :null-id-persistent "Persistent objects MUST have non-null identifiers."
+ 026 :no-inbox "Actor objects MUST have an `inbox` property, whose value MUST be a reference to an ordered collection."
- 011 :no-type "The ActivityPub specification states that the `type` field is optional, but it is hard to process objects with no known type."
+ 027 :no-outbox "Actor objects MUST have an `outbox` property, whose value MUST be a reference to an ordered collection."
- 012 :not-an-object "ActivityStreams object must be JSON objects."})
+ 028 :no-type "The ActivityPub specification states that the `type` field is optional, but it is hard to process objects with no known type."
+
+
+ 029 :not-actor-type "The `type` value of the object was not a recognised actor type."
+
+
+ 030 :null-id-persistent "Persistent objects MUST have non-null identifiers."
+
+
+ 031 :not-an-object "ActivityStreams object must be JSON objects."})