Skip to content

fix(artifact): reject invalid format versions as malformed - #403

Merged
StepenkoAnatoli merged 1 commit into
mainfrom
fix/issue-361-invalid-format-version
Oct 14, 2026
Merged

StepenkoAnatoli merged 1 commit into
mainfrom
fix/issue-361-invalid-format-version

Conversation

@StepenkoAnatoli

@StepenkoAnatoli StepenkoAnatoli commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Malformed, missing, ill-typed, and below-oldest formatVersion values were described as newer artifacts with an upgrade remedy. The validator now requires a numeric dotted version string before classifying the major: invalid versions are MANIFEST-SCHEMA/FAIL with a regeneration remedy, while only a valid newer major is FORMAT-UNSUPPORTED/INCOMPLETE.

Fixes #361

what changed: Added strict dotted-version parsing before major classification and regression coverage for missing, null, numeric, array, empty, non-numeric, below-oldest, and valid future versions.

why: Keep malformed manifests distinct from packages in a newer format that this validator cannot yet read.

what it touched: artifact validator and tests, architecture map, changelog and README test inventory. Supported formats and exit-code mapping are unchanged.

what you verified: verified - red-first 45 passed and 1 expected failure; then 46 artifact-validator tests passed. Handoff OK, preflight PASS, doctor READY. The required full commit gate accepted 63e0e52. GitHub CI passed all seven required jobs (run 38437560909).

what you got wrong and fixed: nothing to report.

what changed: Require a string numeric dotted version before classifying its major. Missing, ill-typed, malformed and below-oldest versions yield MANIFEST-SCHEMA/FAIL with a regeneration remedy; only newer majors yield FORMAT-UNSUPPORTED/INCOMPLETE.

why: Invalid manifests were incorrectly described as newer packages with an upgrade remedy. Preserve the distinction between corruption and an unimplemented format.

what it touched: artifact validator/tests, architecture, changelog and README test inventory. No supported format or exit-code mapping changed.

what you verified: verified - red-first 45 passed/1 expected failure; then 46 artifact-validator tests passed. Handoff OK, preflight PASS, doctor READY. Full gate is running.

what you got wrong and fixed: nothing to report.
@StepenkoAnatoli
StepenkoAnatoli merged commit 0dc3ff0 into main Oct 14, 2026
7 checks passed
@StepenkoAnatoli
StepenkoAnatoli deleted the fix/issue-361-invalid-format-version branch October 14, 2026 18:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant