Skip to main content
Challenge

Build a CityJSON Bridge Constructive Element Hierarchy Auditor

Parse CityJSON 2.0 Bridge objects and child elements to verify structural parentage and municipal address records. Flag disconnected bridge constructive components prior to asset database ingestion.

EngineeringHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Parse CityJSON 2.0 Bridge objects and child elements to verify structural parentage and municipal address records. Flag disconnected bridge constructive components prior to asset database ingestion.

Municipal Infrastructure Engineer

Parse CityJSON 2.0 city models containing Bridge, BridgePart, and BridgeConstructiveElement objects.

Traverse children and parents arrays to identify broken topological relationships or orphaned bridge elements.

Check address objects for required municipal jurisdiction attributes and multi-surface geometry validity.

Produce a structured bridge asset compliance scorecard highlighting missing parents or invalid addresses.

A municipal GIS inspection dashboard showing bridge object hierarchies, attribute tables, and topology error maps.

Generate local synthetic CityJSON 2.0 bridge files following Section 2.2 specifications without requiring proprietary municipal data. Starter examples below are synthetic. They are not downloaded records.

CityJSON Extracts Bridge, BridgePart, and BridgeConstructiveElement hierarchy rules and address structures from Section 2.2 of CityJSON 2.0.

mastra-ai, python, fastapi. Coordinates multi-step validation workflows across complex nested 3D geometric object hierarchies. Instruction-tuned hosted model capable of parsing nested structural hierarchies and returning clean JSON.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Verifies that BridgeConstructiveElement instances always declare an explicit parent.

Detects missing address entries on primary Bridge parent objects.

Outputs structured validation summaries matching the CityJSON 2.0 Bridge schema.

```json [ { "input": { "cityjson_id": "BRIDGE-METRO-01", "city_objects": { "Bridge-Main": { "type": "Bridge", "address": [ { "city": "Springfield", "country": "US" } ], "children": [ "Element-Deck-01" ] }, "Element-Deck-01": { "type": "BridgeConstructiveElement", "parents": [ "Bridge-Main" ] } } }, "expected_output": { "cityjson_id": "BRIDGE-METRO-01", "is_valid": true, "hierarchy_errors": [], "elements_checked": 2 } }, { "input": { "cityjson_id": "BRIDGE-METRO-02", "city_objects": { "Bridge-West": { "type": "Bridge", "address": [], "children": [] }, "Element-Pier-05": { "type": "BridgeConstructiveElement", "parents": [] } } }, "expected_output": { "cityjson_id": "BRIDGE-METRO-02", "is_valid": false, "hierarchy_errors": [ { "object_id": "Bridge-West", "error": "Missing required bridge address metadata" }, { "object_id": "Element-Pier-05", "error": "BridgeConstructiveElement lacks mandatory parent identifier" } ], "elements_checked": 2 } } ] ```

Maintains read-only operations on city spatial models without triggering municipal GIS state changes. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Maintains read-only operations on city spatial models without triggering municipal GIS state changes. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Verifies that BridgeConstructiveElement instances always declare an explicit parent. Detects missing address entries on primary Bridge parent objects. Outputs structured validation summaries matching the CityJSON 2.0 Bridge schema.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Parse CityJSON 2.0 city models containing Bridge, BridgePart, and BridgeConstructiveElement objects. Traverse children and parents arrays to identify broken topological relationships or orphaned bridge elements. Check address objects for required municipal jurisdiction attributes and multi-surface geometry validity. Produce a structured bridge asset compliance scorecard highlighting missing parents or invalid addresses.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Verifies that BridgeConstructiveElement instances always declare an explicit parent. Detects missing address entries on primary Bridge parent objects. Outputs structured validation summaries matching the CityJSON 2.0 Bridge schema.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

A municipal GIS inspection dashboard showing bridge object hierarchies, attribute tables, and topology error maps.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Maintains read-only operations on city spatial models without triggering municipal GIS state changes.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Parse CityJSON 2.0 city models containing Bridge, BridgePart, and BridgeConstructiveElement objects.

  • Traverse children and parents arrays to identify broken topological relationships or orphaned bridge elements.

  • Check address objects for required municipal jurisdiction attributes and multi-surface geometry validity.

  • Produce a structured bridge asset compliance scorecard highlighting missing parents or invalid addresses.

Resources and assets

Reference links and supporting material

Dataset notes

Generate local synthetic CityJSON 2.0 bridge files following Section 2.2 specifications without requiring proprietary municipal data. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Mastra AI

TypeScript agent framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Parse CityJSON 2.0 city models containing Bridge, BridgePart, and BridgeConstructiveElement objects. Traver...
  • Verifies that BridgeConstructiveElement instances always declare an explicit parent. Detects missing addres...
  • A municipal GIS inspection dashboard showing bridge object hierarchies, attribute tables, and topology erro...
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 2 configured tools

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Mastra AI · Optional
Orchestration
  • Mastra AI · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build a CityJSON Bridge Constructive Element Hierarchy Auditor