Build a bSDD Real Estate Classification Compliance Checker
Inspect Industry Foundation Classes models against the buildingSMART Data Dictionary standard. Verify mandatory classification references and provide gap reports for architectural submittals.
What you are building
The core problem, expected build, and operating context for this challenge.
Inspect Industry Foundation Classes models against the buildingSMART Data Dictionary standard. Verify mandatory classification references and provide gap reports for architectural submittals.
BIM procurement coordinator
Ingest IFC property records and component classification references.
Query mock bSDD endpoints using classification code keys.
Compare model classifications against required project standards.
Render compliance audit cards highlighting unclassified assets.
Web portal showing classification trees, matched dictionary terms, and missing requirement alerts.
Utilize sample bSDD dictionary responses available in open bSDD documentation or create local JSON mocks. Starter examples below are synthetic. They are not downloaded records.
IfcOpenShell Leverages the bsdd library specification in IfcOpenShell to query classification references against data dictionaries.
dspy, fastapi. DSPy compiles robust prompt pipelines that accurately map arbitrary IFC classification text to standardized bSDD keys. Local or cloud LLM supported by DSPy for semantic classification matching.
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.
Matches IFC element classifications to simulated bSDD dictionary URIs.
Identifies elements lacking required standard classification codes.
Generates non-blocking warnings for unmapped custom properties.
```json [ { "input": { "model_id": "MOD-101", "elements": [ { "guid": "1abc", "type": "IfcDoor", "classification": { "system": "OmniClass", "code": "23-17 11 00" } } ] }, "expected_output": { "compliant": true, "total_checked": 1, "matched_entries": [ { "guid": "1abc", "system": "OmniClass", "code": "23-17 11 00", "uri": "https://identifier.buildingsmart.org/uri/omniclass/23-17-11-00" } ], "unresolved_elements": [] } }, { "input": { "model_id": "MOD-102", "elements": [ { "guid": "2def", "type": "IfcWindow", "classification": null } ] }, "expected_output": { "compliant": false, "total_checked": 1, "matched_entries": [], "unresolved_elements": [ { "guid": "2def", "reason": "Missing classification reference" } ] } } ] ```
Read-only inspection of model metadata; no direct modification of original IFC files. Use mock external writes. Require human review before any real deployment.
Participation guide
Read-only inspection of model metadata; no direct modification of original IFC files. Use mock external writes and human review.
How work is evaluated
Matches IFC element classifications to simulated bSDD dictionary URIs. Identifies elements lacking required standard classification codes. Generates non-blocking warnings for unmapped custom properties.
Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.
Challenge datasets
Public datasets, plus the private datasets you have access to.
How submissions are scored
These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.
Complete workflow
Ingest IFC property records and component classification references. Query mock bSDD endpoints using classification code keys. Compare model classifications against required project standards. Render compliance audit cards highlighting unclassified assets.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Correctness and evidence
Matches IFC element classifications to simulated bSDD dictionary URIs. Identifies elements lacking required standard classification codes. Generates non-blocking warnings for unmapped custom properties.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Review interface
Web portal showing classification trees, matched dictionary terms, and missing requirement alerts.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Safe execution
Read-only inspection of model metadata; no direct modification of original IFC files.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
What you should walk away with
Ingest IFC property records and component classification references.
Query mock bSDD endpoints using classification code keys.
Compare model classifications against required project standards.
Render compliance audit cards highlighting unclassified assets.
Reference links and supporting material
Utilize sample bSDD dictionary responses available in open bSDD documentation or create local JSON mocks. Supplied starter examples are synthetic, not source extracts.
Challenge setup
Configuration summary for this challenge.
Challenge input
Input details are not configured.
DSPy
Prompt and LM program optimization framework.
Evaluated output
No output checks are configured.
- Ingest IFC property records and component classification references. Query mock bSDD endpoints using classi...
- Matches IFC element classifications to simulated bSDD dictionary URIs. Identifies elements lacking required...
- Web portal showing classification trees, matched dictionary terms, and missing requirement alerts.
- 2 public reference cases
- 3 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
- DSPy · Optional
- DSPy · Optional
- DSPy · 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.