Skip to main content
Challenge

Build an IFC Mutation and Scripted Patch Validator

Evaluate automated BIM modification patches using IfcOpenShell ifcedit primitives. Validate spatial relationships, attribute types, and entity integrity before applying changes to live facility models.

EngineeringHosted by Vera
Challenge brief

What you are building

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

Evaluate automated BIM modification patches using IfcOpenShell ifcedit primitives. Validate spatial relationships, attribute types, and entity integrity before applying changes to live facility models.

BIM automation engineer

Ingest proposed ifcedit modification payloads targeting architectural IFC entities.

Inspect target element global IDs and verify presence in the baseline IFC model.

Validate property set modifications against standard IFC schema type requirements.

Generate a transactional dry-run report summarizing entity modifications and attribute rollbacks.

Terminal CLI and web dashboard showing diff view of IFC entities, property change table, and execution authorization switch.

Download open-source IFC sample models from the official IfcOpenShell repository test suite, placed in a local mock project directory. Starter examples below are synthetic. They are not downloaded records.

IfcOpenShell Utilizes the ifcedit CLI wrapper for ifcopenshell.api model mutation functions documented in the IfcOpenShell ecosystem table.

langgraph, ifcopenshell, fastapi. LangGraph manages the multi-step state graph verifying model existence, validating schema types, and staging dry-run executions. Requires an API-hosted or local reasoning model capable of analyzing schema inheritance and generating verified JSON patch graphs.

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 each entity identified by GUID exists in the target IFC structure.

Blocks operations attempting to assign non-schema attributes to IfcPropertySet instances.

Produces a reversible patch plan detailing created, modified, and deleted entities.

Requires engineer approval before executing any write command to disk.

```json [ { "input": { "model_guid": "2O2Fr$t4X7Zf8NOew3FL9r", "mutations": [ { "action": "edit_property", "entity_type": "IfcDoor", "property_set": "Pset_DoorCommon", "property_name": "FireRating", "new_value": "FD60" } ] }, "expected_output": { "validation_status": "APPROVED", "target_entity": "2O2Fr$t4X7Zf8NOew3FL9r", "schema_check": "PASS", "applied_patch_summary": "Pset_DoorCommon.FireRating updated to FD60", "rollback_snapshot_id": "snap-98231" } }, { "input": { "model_guid": "UNKNOWN_GUID_0000000000", "mutations": [ { "action": "edit_property", "entity_type": "IfcWall", "property_set": "Pset_WallCommon", "property_name": "LoadBearing", "new_value": "True" } ] }, "expected_output": { "validation_status": "REJECTED", "target_entity": "UNKNOWN_GUID_0000000000", "schema_check": "FAIL", "applied_patch_summary": "Target entity not found in active model registry", "rollback_snapshot_id": null } } ] ```

Executes strictly in dry-run mode with simulated write operations; original BIM files remain unchanged. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Executes strictly in dry-run mode with simulated write operations; original BIM files remain unchanged. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Verifies that each entity identified by GUID exists in the target IFC structure. Blocks operations attempting to assign non-schema attributes to IfcPropertySet instances. Produces a reversible patch plan detailing created, modified, and deleted entities. Requires engineer approval before executing any write command to disk.

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

Ingest proposed ifcedit modification payloads targeting architectural IFC entities. Inspect target element global IDs and verify presence in the baseline IFC model. Validate property set modifications against standard IFC schema type requirements. Generate a transactional dry-run report summarizing entity modifications and attribute rollbacks.

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 each entity identified by GUID exists in the target IFC structure. Blocks operations attempting to assign non-schema attributes to IfcPropertySet instances. Produces a reversible patch plan detailing created, modified, and deleted entities. Requires engineer approval before executing any write command to disk.

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

Terminal CLI and web dashboard showing diff view of IFC entities, property change table, and execution authorization switch.

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

Executes strictly in dry-run mode with simulated write operations; original BIM files remain unchanged.

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

  • Ingest proposed ifcedit modification payloads targeting architectural IFC entities.

  • Inspect target element global IDs and verify presence in the baseline IFC model.

  • Validate property set modifications against standard IFC schema type requirements.

  • Generate a transactional dry-run report summarizing entity modifications and attribute rollbacks.

Resources and assets

Reference links and supporting material

Dataset notes

Download open-source IFC sample models from the official IfcOpenShell repository test suite, placed in a local mock project directory. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

LangGraph

Runtime for stateful agent workflows.

Evaluated output

No output checks are configured.

Evaluation checks
  • Ingest proposed ifcedit modification payloads targeting architectural IFC entities. Inspect target element...
  • Verifies that each entity identified by GUID exists in the target IFC structure. Blocks operations attempti...
  • Terminal CLI and web dashboard showing diff view of IFC entities, property change table, and execution auth...
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
  • LangGraph · Optional
Orchestration
  • LangGraph · 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 an IFC Mutation and Scripted Patch Validator