OAA is an open, portable archive format for original comic art collection data.
Generated from requirements/oaa-0.1.yaml, validator rule metadata, and fixture metadata.
| Requirement | Level | Coverage | Spec Section | Validator Rule | Severity | Fixtures |
|---|---|---|---|---|---|---|
| OAA-PKG-001 | MUST | automated | Archive Container | package.archive_readable | fatal | non-zip-input valid-minimal-archive |
| OAA-PKG-002 | SHOULD | automated | Archive Container | package.extension_oaa | warning | wrong-extension |
| OAA-PKG-003 | SHOULD_NOT | not_validator_scope | Archive Container | |||
| OAA-ZIP-001 | MUST | automated | Archive Container | package.encrypted_entries | fatal | encrypted-entry |
| OAA-ZIP-002 | SHOULD | automated | Archive Container | package.compression_method | warning | unsupported-compression |
| OAA-ZIP-003 | MUST | not_validator_scope | Archive Container | |||
| OAA-PATH-001 | MUST | automated | Archive Container | paths.safe_archive_path | fatal | unsafe-archive-path valid-minimal-archive |
| OAA-PATH-002 | MUST | automated | Archive Container | paths.utf8_names | fatal | non-utf8-archive-name valid-minimal-archive |
| OAA-PATH-003 | MUST_NOT | automated | Archive Container | paths.safe_archive_path | fatal | unsafe-archive-path valid-minimal-archive |
| OAA-PATH-004 | MUST_NOT | automated | Archive Container | paths.safe_archive_path | fatal | unsafe-archive-path valid-minimal-archive |
| OAA-PATH-005 | MUST_NOT | automated | Archive Container | paths.safe_archive_path | fatal | unsafe-archive-path valid-minimal-archive |
| OAA-PATH-006 | MUST_NOT | automated | Archive Container | paths.safe_archive_path | fatal | unsafe-archive-path valid-minimal-archive |
| OAA-PATH-007 | MUST_NOT | automated | Archive Container | paths.safe_archive_path | fatal | unsafe-archive-path valid-minimal-archive |
| OAA-PATH-008 | MUST | not_validator_scope | Archive Container | valid-minimal-archive | ||
| OAA-PATH-009 | MUST | not_validator_scope | Archive Container | valid-minimal-archive | ||
| OAA-PATH-010 | SHOULD | automated | Archive Container | paths.nfc | warning | non-nfc-path |
| OAA-PATH-011 | MUST_NOT | automated | Archive Container | paths.safe_archive_path | fatal | unsafe-archive-path valid-minimal-archive |
| OAA-PATH-012 | MUST | automated | Archive Container | package.duplicate_entries | fatal | duplicate-archive-entry valid-minimal-archive |
| OAA-PKG-010 | MUST | automated | Required Files | package.mimetype_present | fatal | missing-mimetype valid-minimal-directory |
| OAA-PKG-011 | MUST | automated | Required Files | package.mimetype_value | fatal | bad-mimetype valid-minimal-directory |
| OAA-PKG-012 | SHOULD | automated | Required Files | package.mimetype_first | warning | mimetype-not-first valid-minimal-archive |
| OAA-PKG-013 | SHOULD | automated | Required Files | package.mimetype_stored | warning | compressed-mimetype valid-minimal-archive |
| OAA-COL-001 | MUST | automated | Required Files | collection.manifest_present | fatal | missing-collection valid-minimal-directory |
| OAA-GAL-001 | MUST | automated | Required Files | collection.gallery_manifest_present | fatal | missing-gallery-manifest valid-minimal-directory |
| OAA-ART-001 | MUST | automated | Required Files | collection.artwork_manifest_present | fatal | missing-artwork-manifest valid-minimal-directory |
| OAA-GAL-002 | MUST | automated | Directory Layout | gallery.artwork_refs_resolve | fatal | gallery-unknown-artwork |
| OAA-GAL-003 | MUST_NOT | automated | Directory Layout | gallery.no_mutable_artwork_metadata | fatal | gallery-duplicates-mutable-artwork-metadata |
| OAA-FILE-001 | MUST | automated | Directory Layout | files.relative_path_exists | error | missing-embedded-file valid-full-directory |
| OAA-FILE-002 | MUST_NOT | not_validator_scope | Directory Layout | |||
| OAA-MAN-001 | MUST | automated | Manifest Files | manifests.json_object | fatal | bad-json-top-level valid-minimal-directory |
| OAA-MAN-002 | MUST | automated | Manifest Files | manifests.json_object | fatal | bad-json-top-level valid-minimal-directory |
| OAA-MAN-003 | MUST_NOT | automated | Manifest Files | manifests.duplicate_json_members | fatal | duplicate-json-member |
| OAA-MAN-004 | MUST_NOT | not_validator_scope | Manifest Files | |||
| OAA-MAN-005 | SHOULD_NOT | automated | Manifest Files | manifests.byte_order_mark | warning | manifest-with-bom |
| OAA-MAN-006 | MUST | automated | Manifest Files | manifests.schema_version_required | fatal | missing-schema-version valid-minimal-directory |
| OAA-MAN-007 | MUST | automated | Manifest Files | manifests.schema_version_supported | fatal | schema-version-mismatch unsupported-schema-version valid-minimal-directory |
| OAA-MAN-008 | SHOULD | automated | Manifest Files | manifests.same_schema_versions | warning | schema-version-mismatch |
| OAA-MAN-009 | MUST | automated | Manifest Files | manifests.schema_version_supported | fatal | schema-version-mismatch unsupported-schema-version |
| OAA-MAN-010 | MUST | automated | Manifest Files | manifests.unknown_optional_fields | info | unknown-optional-field |
| OAA-MAN-011 | SHOULD | not_validator_scope | Manifest Files | |||
| OAA-MAN-012 | MUST_NOT | automated | Manifest Files | manifests.required_string_not_empty | fatal | empty-required-string |
| OAA-MAN-013 | MUST_NOT | automated | Manifest Files | manifests.required_identifier_not_whitespace | fatal | whitespace-required-id |
| OAA-MAN-014 | SHOULD | not_validator_scope | Manifest Files | |||
| OAA-MAN-015 | MUST_NOT | automated | Manifest Files | paths.manifest_path_safe | fatal | untrimmed-artwork-manifest-path untrimmed-manifest-path |
| OAA-MAN-016 | MUST | automated | Manifest Files | manifests.field_type | fatal | schema-field-type-error |
| OAA-COL-010 | MUST | automated | Collection Manifest | collection.required_fields | fatal | collection-missing-required valid-minimal-directory |
| OAA-COL-011 | MUST | automated | Collection Manifest | external_links.object | fatal | external-link-not-object |
| OAA-COL-012 | MUST | automated | Collection Manifest | collection.gallery_refs_objects | fatal | collection-gallery-ref-not-object valid-minimal-directory |
| OAA-COL-013 | MUST | automated | Collection Manifest | collection.artwork_refs_objects | fatal | collection-artwork-ref-not-object valid-minimal-directory |
| OAA-COL-014 | MUST | automated | Collection Manifest | collection.unique_gallery_ids | fatal | duplicate-gallery-id valid-loc-multi-image-directory |
| OAA-COL-015 | MUST | automated | Collection Manifest | collection.unique_gallery_paths | fatal | duplicate-gallery-path valid-loc-multi-image-directory |
| OAA-COL-016 | MUST | automated | Collection Manifest | paths.manifest_path_safe | fatal | untrimmed-manifest-path valid-loc-multi-image-directory |
| OAA-COL-017 | MUST | automated | Collection Manifest | collection.gallery_manifest_id_match | fatal | gallery-id-mismatch valid-loc-multi-image-directory |
| OAA-COL-018 | MUST | automated | Collection Manifest | collection.unique_artwork_ids | fatal | duplicate-artwork-id valid-loc-multi-image-directory |
| OAA-COL-019 | MUST | automated | Collection Manifest | collection.unique_artwork_paths | fatal | duplicate-artwork-path valid-loc-multi-image-directory |
| OAA-COL-020 | MUST | automated | Collection Manifest | paths.manifest_path_safe | fatal | untrimmed-artwork-manifest-path valid-loc-multi-image-directory |
| OAA-COL-021 | MUST | automated | Collection Manifest | collection.artwork_manifest_id_match | fatal | artwork-id-mismatch valid-loc-multi-image-directory |
| OAA-GAL-010 | MUST | automated | Gallery Manifest | gallery.required_fields | fatal | gallery-missing-required valid-minimal-directory |
| OAA-GAL-011 | MUST | automated | Gallery Manifest | gallery.artwork_refs_objects | fatal | gallery-artwork-ref-not-object valid-minimal-directory |
| OAA-GAL-012 | MUST | automated | Gallery Manifest | gallery.artwork_refs_resolve | fatal | gallery-unknown-artwork valid-minimal-directory |
| OAA-GAL-013 | MUST | automated | Gallery Manifest | gallery.unique_artwork_ids | fatal | duplicate-gallery-membership valid-loc-multi-image-directory |
| OAA-ART-010 | MUST | automated | Artwork Manifest | artwork.required_fields | fatal | artwork-missing-required valid-minimal-directory |
| OAA-ART-011 | MUST | automated | Artwork Manifest | artwork.public_metadata_object | fatal | public-metadata-not-object valid-minimal-directory |
| OAA-ART-012 | MUST | automated | Artwork Manifest | artwork.private_metadata_object | fatal | private-metadata-not-object valid-public-domain-synthetic-directory |
| OAA-ART-013 | MUST | automated | Artwork Manifest | files.entries_objects | fatal | files-entry-not-object valid-public-domain-synthetic-directory |
| OAA-LINK-001 | MUST | automated | External Link Object | external_links.object | fatal | external-link-not-object valid-full-directory |
| OAA-LINK-002 | MUST | automated | External Link Object | external_links.provider | fatal | external-link-bad-provider valid-full-directory |
| OAA-LINK-003 | MUST_NOT | automated | External Link Object | external_links.provider | fatal | external-link-bad-provider valid-full-directory |
| OAA-LINK-004 | MUST_NOT | automated | External Link Object | external_links.provider | fatal | external-link-bad-provider valid-full-directory |
| OAA-LINK-005 | MUST_NOT | automated | External Link Object | external_links.id | fatal | external-link-empty-id valid-full-directory |
| OAA-LINK-006 | MAY | not_validator_scope | External Link Object | |||
| OAA-LINK-010 | MUST | automated | External Link Object | external_links.url | fatal | external-link-url-not-string |
| OAA-LINK-007 | SHOULD | automated | External Link Object | external_links.url | warning | external-link-relative-url valid-full-directory |
| OAA-LINK-008 | MUST_NOT | automated | External Link Object | external_links.unknown_provider | info | external-link-unknown-provider |
| OAA-LINK-009 | SHOULD | not_validator_scope | External Link Object | |||
| OAA-PUB-001 | MUST | automated | Public Artwork Metadata Object | artwork.artist_credit_objects | fatal | artist-credit-empty artist-credit-not-object valid-full-directory |
| OAA-PUB-002 | MUST | automated | Public Artwork Metadata Object | artwork.publication_status | fatal | bad-publication-status valid-full-directory |
| OAA-PRIV-001 | MUST_NOT | not_validator_scope | Private Artwork Metadata Object | |||
| OAA-FILE-010 | MUST | automated | Artwork File Object | artwork.required_fields | fatal | artwork-missing-required valid-minimal-directory |
| OAA-FILE-011 | MUST | automated | Artwork File Object | files.entries_objects | fatal | files-entry-not-object valid-full-directory |
| OAA-FILE-012 | MUST | automated | Artwork File Object | files.relative_path_exists | error | missing-embedded-file valid-full-directory |
| OAA-FILE-013 | MUST | automated | Artwork File Object | files.relative_path_safe | fatal | unsafe-file-relative-path valid-full-directory |
| OAA-FILE-014 | MUST_NOT | automated | Artwork File Object | files.relative_path_safe | fatal | unsafe-file-relative-path valid-full-directory |
| OAA-FILE-015 | MUST_NOT | automated | Artwork File Object | files.relative_path_safe | fatal | unsafe-file-relative-path valid-full-directory |
| OAA-FILE-016 | MUST | automated | Identifiers | files.unique_file_ids | fatal | duplicate-file-id valid-full-directory |
| OAA-FILE-017 | SHOULD | automated | Artwork File Object | files.multiple_primary | warning | multiple-primary-files valid-full-directory |
| OAA-FILE-018 | MUST | automated | Artwork File Object | files.file_kind | fatal | bad-file-kind valid-full-directory |
| OAA-FILE-019 | MUST | automated | Artwork File Object | files.image_role | fatal | bad-image-role valid-full-directory |
| OAA-EXT-001 | MUST | automated | Extension Blocks | extensions.container_object | fatal | extensions-not-object valid-full-directory |
| OAA-EXT-002 | MUST | automated | Extension Blocks | extensions.block_object | fatal | extension-block-not-object valid-full-directory |
| OAA-EXT-003 | MUST_NOT | automated | Extension Blocks | extensions.no_nested_extensions | fatal | nested-extension-container |
| OAA-EXT-004 | MUST | automated | Extension Blocks | extensions.unknown_block | info | unknown-extension-block |
| OAA-EXT-005 | MUST_NOT | not_validator_scope | Extension Blocks | |||
| OAA-EXT-006 | MUST_NOT | automated | Extension Blocks | extensions.no_base_field_shadow | fatal | extension-shadows-base-publication-status |
| OAA-SEC-001 | MUST | not_validator_scope | Security and Privacy Considerations | |||
| OAA-SEC-002 | MUST | automated | Security and Privacy Considerations | security.high_risk_media | warning | high-risk-media |
| OAA-SEC-003 | MUST_NOT | not_validator_scope | Security and Privacy Considerations | |||
| OAA-SEC-004 | MUST_NOT | automated | Security and Privacy Considerations | security.local_path_in_manifest | fatal | local-path-in-extension local-posix-path-in-manifest |
| OAA-SEC-006 | SHOULD | not_validator_scope | Security and Privacy Considerations | |||
| OAA-SEC-007 | SHOULD | automated | Security and Privacy Considerations | security.resource_limits | fatal | resource-limit-entry-count |
| OAA-CONF-001 | MUST | not_validator_scope | Reader Requirements | |||
| OAA-CONF-002 | MUST | not_validator_scope | Reader Requirements | |||
| OAA-CONF-003 | MUST | not_validator_scope | Reader Requirements | |||
| OAA-CONF-004 | MUST | not_validator_scope | Reader Requirements | |||
| OAA-CONF-005 | MUST | not_validator_scope | Reader Requirements | |||
| OAA-CONF-006 | MUST | not_validator_scope | Reader Requirements |