feat(manifest): add artifact_type discriminator field

Tag every build entry with artifact_type="px4" so the manifest schema
can represent non-.px4 producers in the future (VOXL2 .deb, Linux
tarballs, etc.) without a format_version bump. Purely additive: older
QGC ignores the unknown field, newer consumers branch on it.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
This commit is contained in:
Ramon Roche
2026-04-08 21:12:46 -07:00
parent eacfab99cc
commit 0be3f937bd
@@ -89,6 +89,11 @@ def extract_px4_metadata(px4_path: Path) -> Optional[Dict[str, Any]]:
if "manifest" in data and data["manifest"]:
metadata["manifest"] = data["manifest"]
# Additive: discriminator so future non-.px4 producers (VOXL2 .deb,
# Linux tarballs, etc.) can coexist in the same manifest. Older QGC
# ignores unknown fields, new consumers branch on this.
metadata["artifact_type"] = "px4"
return metadata
except json.JSONDecodeError as e: