Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ compatible, or editorial.

## Unreleased

- Extended the unreleased Comic Manifest 1.0.0 candidate for Studio #94 with
immutable versioned output profiles, per-output limits, exact requirement/result/
release metadata matching and explicit rights/accessibility/publication boundaries.
RFC 0008 and synthetic passing/failing fixtures accompany the proposed change.
This supersedes only the prior unreleased candidate source; released SDK, Context
Package and Context Builder bytes remain unchanged.

- Added Comic Manifest 1.0.0 (new additive, unreleased family) for Studio #89:
RFC 0007, three closed record schemas, detached approval bindings, normative
identity/privacy/compatibility semantics and offline synthetic conformance.
Expand Down
290 changes: 290 additions & 0 deletions fixtures/comic-manifest-v1-cases.json
Original file line number Diff line number Diff line change
Expand Up @@ -540,6 +540,94 @@
"code": "MEDIA",
"rebind": true
},
{
"name": "allowed profile alternative still must equal selected media type",
"layer": "relational",
"edits": [
{
"path": ["production", "renditions", 0, "profile", "profile_id"],
"value": "comic-page-image"
},
{
"path": ["production", "renditions", 0, "media_type"],
"value": "image/png"
},
{
"path": ["production", "renditions", 0, "dimensions"],
"value": {"width": 1, "height": 1}
},
{
"path": ["result", "outputs", 0, "profile", "profile_id"],
"value": "comic-page-image"
},
{
"path": ["result", "outputs", 0, "artifact", "media_type"],
"value": "image/webp"
},
{
"path": ["result", "outputs", 0, "dimensions"],
"value": {"width": 1, "height": 1}
},
{
"path": ["release", "outputs", 0, "profile", "profile_id"],
"value": "comic-page-image"
},
{
"path": ["release", "outputs", 0, "artifact", "media_type"],
"value": "image/webp"
},
{
"path": ["release", "outputs", 0, "dimensions"],
"value": {"width": 1, "height": 1}
}
],
"code": "MEDIA",
"rebind": true
},
{
"name": "public release preserves selected PNG despite profile allowing WebP",
"layer": "relational",
"edits": [
{
"path": ["production", "renditions", 0, "profile", "profile_id"],
"value": "comic-page-image"
},
{
"path": ["production", "renditions", 0, "media_type"],
"value": "image/png"
},
{
"path": ["production", "renditions", 0, "dimensions"],
"value": {"width": 1, "height": 1}
},
{
"path": ["result", "outputs", 0, "profile", "profile_id"],
"value": "comic-page-image"
},
{
"path": ["result", "outputs", 0, "artifact", "media_type"],
"value": "image/png"
},
{
"path": ["result", "outputs", 0, "dimensions"],
"value": {"width": 1, "height": 1}
},
{
"path": ["release", "outputs", 0, "profile", "profile_id"],
"value": "comic-page-image"
},
{
"path": ["release", "outputs", 0, "artifact", "media_type"],
"value": "image/webp"
},
{
"path": ["release", "outputs", 0, "dimensions"],
"value": {"width": 1, "height": 1}
}
],
"code": "RELEASE_OUTPUTS",
"rebind": true
},
{
"name": "wrong output digest",
"layer": "relational",
Expand Down Expand Up @@ -593,6 +681,208 @@
"code": "OUTPUT_REQUIREMENT",
"rebind": true
},
{
"name": "unknown rendition profile id",
"layer": "schema",
"edits": [
{
"path": [
"production",
"renditions",
0,
"profile",
"profile_id"
],
"value": "comic-page-image-v2"
}
]
},
{
"name": "result transcript must match requirement",
"layer": "relational",
"edits": [
{
"path": [
"result",
"outputs",
0,
"transcript"
],
"value": "A different synthetic transcript."
}
],
"code": "OUTPUT_REQUIREMENT",
"rebind": true
},
{
"name": "rendition profile is required",
"layer": "schema",
"edits": [
{
"path": [
"production",
"renditions",
0,
"profile"
],
"remove": true
}
]
},
{
"name": "unknown rendition profile version",
"layer": "schema",
"edits": [
{
"path": [
"production",
"renditions",
0,
"profile",
"profile_version"
],
"value": "2.0.0"
}
]
},
{
"name": "transcript profile rejects another media type",
"layer": "relational",
"edits": [
{
"path": [
"production",
"renditions",
0,
"media_type"
],
"value": "application/pdf"
}
],
"code": "RENDITION_MEDIA",
"rebind": true
},
{
"name": "raster profile rejects dimensions over pixel limit",
"layer": "relational",
"edits": [
{
"path": [
"production",
"renditions",
0,
"profile",
"profile_id"
],
"value": "comic-page-image"
},
{
"path": [
"production",
"renditions",
0,
"media_type"
],
"value": "image/png"
},
{
"path": [
"production",
"renditions",
0,
"dimensions"
],
"value": {
"width": 8192,
"height": 4097
}
}
],
"code": "RENDITION_DIMENSIONS",
"rebind": true
},
{
"name": "transcript profile cap cannot be raised",
"layer": "relational",
"edits": [
{
"path": [
"production",
"renditions",
0,
"max_bytes"
],
"value": 131073
}
],
"code": "RENDITION_LIMIT",
"rebind": true
},
{
"name": "result cannot raise the declared output cap",
"layer": "relational",
"edits": [
{
"path": [
"production",
"renditions",
0,
"max_bytes"
],
"value": 35
},
{
"path": [
"result",
"outputs",
0,
"max_bytes"
],
"value": 35
},
{
"path": [
"release",
"outputs",
0,
"max_bytes"
],
"value": 35
}
],
"code": "OUTPUT_LIMIT",
"rebind": true
},
{
"name": "result accessibility description must match",
"layer": "relational",
"edits": [
{
"path": [
"result",
"outputs",
0,
"alt_text"
],
"value": "A different synthetic description."
}
],
"code": "OUTPUT_REQUIREMENT",
"rebind": true
},
{
"name": "public release requires exact studio credit",
"layer": "schema",
"edits": [
{
"path": [
"release",
"production_credit"
],
"value": "A different production."
}
]
},
{
"name": "package substitution",
"layer": "relational",
Expand Down
Loading
Loading