What the official SDK says when it seals, from datekeys-go aefc8f6, without
the CLI. lib/src/annex.dart ports annex.go: recoveryAnnex, the text of
datekeys.RecoveryAnnex that the official SDK saves next to each .dkc (spec
§62.1, rule 27), §79 of the specification under a title with its version and
SHA-256; and recoveryAnnexSuffix, ".recuperacion.txt". Dart has no go:embed,
so the text is the constant of lib/src/recovery_annex.g.dart, which
tool/recovery_annex_copy.dart writes from the vendored annex/recovery.md once
it matches its SOURCE.json: a multi-line string that escapes the backslash,
the dollar sign, the quote and, as Unicode escapes, every rune but the line
feed that Go's strconv.IsPrint rejects, with the SHA-256 of its bytes,
recoveryAnnexSha256, internal, for the tests compiled to JavaScript.
lib/src/profile.dart ports status.go: ProfileStatus, active, readOnly and
compromised, with the names of Go's Status.String, and profileStatusOf, the
state of the profile of a profile_hash and whether this release knows it,
from a table where Quicknet is active (spec §71). An unknown profile is
active, Go's zero Status, and not known. lib/datekeys.dart exports the four.
test/annex_test.dart, also on Node.js, checks what TestRecoveryAnnex checks
of the text and the SHA-256 of its bytes; test/annex_vm_test.dart, that the
constant is annex/recovery.md byte for byte and that the file is §79 of the
specification at the commit of annex/SOURCE.json under the title and the
paragraph of TestRecoveryAnnex; formats_objects_test.dart runs the cases of
TestStatus. README and CHANGELOG for them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>