Ops Cityjsonseq Feature Root Id Not Shared
Hand-written CityJSONSeq stream with a base CityJSON header and multiple CityJSONFeature items that differ only by their root id. Verifies that the root id is preserved per feature and does not affect shared-root compatibility.
Case
id:ops_cityjsonseq_feature_root_id_not_sharedlayer:operationfamily:operation_kernelartifact_mode:checked-insource_kind:syntheticrepresentation:jsonlpath:cases/operations/ops_cityjsonseq_feature_root_id_not_shared
Files
source:cases/operations/ops_cityjsonseq_feature_root_id_not_shared/ops_cityjsonseq_feature_root_id_not_shared.city.jsonl
Source JSON
case.json
{
"artifact_mode": "checked-in",
"artifact_paths": {
"source": "cases/operations/ops_cityjsonseq_feature_root_id_not_shared/ops_cityjsonseq_feature_root_id_not_shared.city.jsonl"
},
"assertions": [
"feature_root_id_not_shared_state",
"feature_boundaries_preserved"
],
"cityjson_version": "2.0",
"description": "Hand-written CityJSONSeq stream with a base CityJSON header and multiple CityJSONFeature items that differ only by their root id. Verifies that the root id is preserved per feature and does not affect shared-root compatibility.",
"family": "operation_kernel",
"geometry_kind": "dummy",
"id": "ops_cityjsonseq_feature_root_id_not_shared",
"layer": "operation",
"representation": "jsonl",
"source_kind": "synthetic",
"version": 2
}
invariants.json
{
"checks": [
{
"description": "Feature root id remains local to each feature item.",
"id": "feature_root_id_not_shared_state"
},
{
"description": "Feature boundaries remain stable during streaming.",
"id": "feature_boundaries_preserved"
}
],
"id": "ops_cityjsonseq_feature_root_id_not_shared",
"kind": "positive",
"version": 1
}