Skip to content

Catalogue

Generated by corpus:docs from the corpus’s manifest.json — regenerate with CORPUS_DIR=<path> pnpm --filter @wacz-validator/core corpus:docs.

The $schema column is what each specimen’s datapackage.json declares. Only datapackage-schema-only carries a value; the rest name their contract with v1’s profile and so read — (see manifest.json).

fixturedescription$schemarules fired under specexit
good.wacz全 rule を pass する正常系 WACZ (browserhive producer)——0
good-webrecorder.waczwebrecorder producer の正常系。spec/lenient では valid、browserhive では cdxj/index-not-gzipped が error (byProfile になる)—cdxj/index-not-gzipped (warning)0
datapackage-no-profile.waczdatapackage.json の profile field を省略—datapackage/profile-required (error)1
datapackage-wrong-profile.waczdatapackage.json の profile が不正な値—datapackage/profile-required (error)1
datapackage-schema-only.waczData Package v2 に忠実な descriptor — $schema で名乗り、v2 が廃止した profile を持たない。WACZ 1.1 は profile を MUST とするので datapackage-no-profile と同じ error になる (仕様どうしの衝突であって書き忘れではない)https://datapackage.org/profiles/2.0/datapackage.jsondatapackage/profile-required (error)1
datapackage-unknown-version.waczwacz_version が未知の値 (9.9.9) — warning—datapackage/wacz-version-required (warning)0
datapackage-bad-hash.waczdatapackage.json の resource hash が実体と不一致—datapackage/resource-hashes (error)1
datapackage-absent.waczdatapackage.json を丸ごと欠落 (§5.2.4 の MUST 欠落 → required-files)—wacz/required-files (error)1
datapackage-frictionless-bad-name.waczresource.name が Frictionless の許容パターン外 (大文字)。WACZ 固有 rule は通り、frictionless-schema だけが warning (lenient では除外)—datapackage/frictionless-schema (warning)0
datapackage-empty-resources.waczresources を空配列に。frictionless-structure が構造 MUST 違反を error 検出 (resource-hashes・frictionless-schema・resources-complete も連鎖)。lenient では structure/schema は除外されるが resource-hashes が残るので valid:false のまま—datapackage/resource-hashes (error), datapackage/frictionless-schema (warning), datapackage/frictionless-structure (error), datapackage/resources-complete (warning)1
wacz-missing-pages.waczpages/pages.jsonl が欠落 (§5.2.3 の MUST 欠落)。宣言も落とすので required-files 単独—wacz/required-files (error)1
wacz-missing-archive.waczarchive/ に WARC が無い (§5.2.1 の MUST 欠落)。宣言も落とすので required-files 単独—wacz/required-files (error)1
wacz-missing-indexes.waczindexes/ に index が無い (§5.2.2 の MUST 欠落)。required-files に加え index-recognised-by-wabac も発火 (相補的)—wacz/required-files (error), cdxj/index-recognised-by-wabac (error)1
cdxj-filename-absolute.waczCDXJ の filename が archive-relative でない—cdxj/filename-archive-relative (error)1
cdxj-index-gzipped.waczindex を gzip 化 (browserhive layout)。index-not-gzipped と index-recognised-by-wabac が発火—cdxj/index-recognised-by-wabac (error), cdxj/index-not-gzipped (warning)1
cdxj-offset-wrong.waczCDXJ の offset が WARC 実体とずれている—cdxj/warc-offsets (error)1
cdxj-length-mismatch.waczCDXJ の length が WARC member 長と不一致 (length 分岐)—cdxj/warc-offsets (error)1
cdxj-mainpage-orphan.waczmainPageURL が CDXJ/pages に存在しない URL — warning—cdxj/pages-mainpage (warning)0
cdxj-index-not-cdxj.waczindexes/index.cdxj の中身が CDXJ でない(§5.2.2 MUST contain CDXJ data)。index-valid-data が error。CDXJ entry が無いので pages-mainpage の no-cdxj-record warning も連鎖する—cdxj/index-valid-data (error), cdxj/pages-mainpage (warning)1
cdxj-gzip-index-not-cdxj.waczwebrecorder layout の index.cdx.gz を gunzip すると非CDXJ(§5.2.2 後半 MAY be gzip compressed の中身検証)。index-valid-data が error、webrecorder layout 由来の index-not-gzipped も連鎖—cdxj/index-valid-data (error), cdxj/index-not-gzipped (warning)1
warc-deflate.waczWARC を DEFLATE 格納 (STORE であるべき) — warning—warc/storage-store (warning)0
warc-corrupt-member.waczWARC.gz の deflate stream を 1 byte 破壊 (decode 不能)—warc/members-independent (error), cdxj/warc-offsets (error)1
warc-payload-digest-bad.waczWARC-Payload-Digest header が実体と不一致 — warning—warc/payload-digest (warning)0
warc-extension-mismatch.waczgzip 済み WARC を .warc.gz でなく archive/data.warc 名で格納(§5.2.1 拡張子)—datapackage/resource-hashes (error), datapackage/resources-complete (warning), warc/extension-gzip-match (warning)1
pages-bad-line.waczpages.jsonl の page 行が url/ts を欠く(§5.2.3)—pages/page-schema (warning)0
datapackage-digest-absent.waczdatapackage-digest.json が無い(§5.2.5 SHOULD)— warning—datapackage/digest (warning)0
datapackage-digest-bad-hash.waczdatapackage-digest.json の hash が datapackage.json と不一致 — error—datapackage/digest (error)1
reserved-dir-extra-file.wacz予約ディレクトリ archive/ に異物ファイル(archive/notes.txt)— MUST NOT—wacz/reserved-dirs-clean (warning), datapackage/resources-complete (warning)0
datapackage-orphan-file.waczresources に未宣言の孤児ファイル(extra.bin)— MUST—datapackage/resources-complete (warning)0

Specimens whose severity changes by profile

Section titled “Specimens whose severity changes by profile”
fixturerulespecbrowserhivelenient
good-webrecorder.waczcdxj/index-not-gzippedwarningerrorinfo
datapackage-frictionless-bad-name.waczdatapackage/frictionless-schemawarningwarning—
datapackage-empty-resources.waczdatapackage/resource-hasheserrorerrorerror
datapackage-empty-resources.waczdatapackage/frictionless-schemawarningwarning—
datapackage-empty-resources.waczdatapackage/frictionless-structureerrorerror—
datapackage-empty-resources.waczdatapackage/resources-completewarningwarninginfo
cdxj-filename-absolute.waczcdxj/filename-archive-relativeerrorerrorwarning
cdxj-index-gzipped.waczcdxj/index-recognised-by-wabacerrorerrorerror
cdxj-index-gzipped.waczcdxj/index-not-gzippedwarningerrorinfo
cdxj-offset-wrong.waczcdxj/warc-offsetserrorerrorwarning
cdxj-length-mismatch.waczcdxj/warc-offsetserrorerrorwarning
cdxj-mainpage-orphan.waczcdxj/pages-mainpagewarningwarninginfo
cdxj-index-not-cdxj.waczcdxj/index-valid-dataerrorerrorerror
cdxj-index-not-cdxj.waczcdxj/pages-mainpagewarningwarninginfo
cdxj-gzip-index-not-cdxj.waczcdxj/index-valid-dataerrorerrorerror
cdxj-gzip-index-not-cdxj.waczcdxj/index-not-gzippedwarningerrorinfo
warc-deflate.waczwarc/storage-storewarningwarninginfo
warc-corrupt-member.waczwarc/members-independenterrorerrorerror
warc-corrupt-member.waczcdxj/warc-offsetserrorerrorwarning
warc-extension-mismatch.waczdatapackage/resource-hasheserrorerrorerror
warc-extension-mismatch.waczdatapackage/resources-completewarningwarninginfo
warc-extension-mismatch.waczwarc/extension-gzip-matchwarningwarninginfo
pages-bad-line.waczpages/page-schemawarningwarninginfo
datapackage-digest-absent.waczdatapackage/digestwarningwarninginfo
reserved-dir-extra-file.waczwacz/reserved-dirs-cleanwarningwarninginfo
reserved-dir-extra-file.waczdatapackage/resources-completewarningwarninginfo
datapackage-orphan-file.waczdatapackage/resources-completewarningwarninginfo

The catalogue above is generated by corpus:docs from the corpus’s manifest.json. That file is plain JSON and outside LFS, so regenerating the catalogue needs neither the archives themselves nor git lfs pull.

Each specimen records which rules it is expected to trip and under which profile, which is what makes the corpus usable as a fixture set: a change in rule behaviour shows up as a diff in expectations, not as a mystery.