Back to Prompt Library
implementation
Build the application
Inspect the original prompt language first, then copy or adapt it once you know how it fits your workflow.
Linked challenge: Build an ifcbimtester Gherkin Model Validation Runner
Format
Code-aware
Lines
77
Sections
11
Linked challenge
Build an ifcbimtester Gherkin Model Validation Runner
Prompt source
Original prompt text with formatting preserved for inspection.
77 lines
11 sections
No variables
1 code block
## Build
Utilize ifcbimtester to evaluate IFC building models against Gherkin behavior-driven development scenarios. Validate strict attribute presence and geometric constraints for automated architectural handover and compliance tracking.
## User
BIM manager
## Workflow
1. Ingest IFC models alongside structural requirement specifications written in Gherkin syntax.
2. Parse behavior-driven test scenarios targeting IFC entity classes using ifcbimtester.
3. Execute unit tests evaluating dimensional constraints and required property sets.
4. Compile an automated BIM quality assurance report identifying failing scenario steps.
## Interface
Browser validation dashboard displaying Gherkin scenario results, failing IFC entity details, and a downloadable QA report.
## Data
Acquire open sample IFC structural models from the buildingSMART technical repository or synthesize mock IFC structural element dictionaries.
Starter examples below are synthetic. They are not downloaded records.
## Source
[IfcOpenShell](https://raw.githubusercontent.com/IfcOpenShell/IfcOpenShell/v0.8.0/README.md)
Leverages ifcbimtester from the IfcOpenShell ecosystem to run Gherkin-based unit tests for IFC.
## Tools
dspy, ifcbimtester, typer.
DSPy provides programmatic prompt optimization to reliably translate heterogeneous IFC property requirements into rigid Gherkin test syntax.
Instruction-tuned LLM capable of generating structured Gherkin syntax and interpreting BIM attribute requirements.
## Deliverables
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.
## Acceptance
- Parses Gherkin feature files targeting specific IFC entity classes.
- Detects structural members missing defined properties like FireRating or LoadBearing.
- Executes end-to-end validation without crashing on empty property sets.
## Starter Examples
```json
[
{
"input": {
"model_id": "IFC-01",
"gherkin_scenario": "Given an IfcDoor, Then it must have a FireRating property",
"entities": [
{
"type": "IfcDoor",
"properties": {
"FireRating": "30M"
}
}
],
"_note": "These are simplified synthetic app records, not complete official schema files."
},
"expected_output": {
"model_id": "IFC-01",
"scenarios_run": 1,
"passed": 1,
"failed": 0,
"status": "COMPLIANT"
}
},
{
"input": {
"model_id": "IFC-02",
"gherkin_scenario": "Given an IfcWall, Then it must have a LoadBearing property",
"entities": [
{
"type": "IfcWall",
"properties": {}
}
],
"_note": "These are simplified synthetic app records, not complete official schema files."
},
"expected_output": {
"model_id": "IFC-02",
"scenarios_run": 1,
"passed": 0,
"failed": 1,
"status": "NON_COMPLIANT"
}
}
]
```
## Safety
Generates validation reports based on model metadata only; does not perform physical load testing, structural certification, or site dispatch.
Use mock external writes. Require human review before any real deployment.Adaptation plan
Keep the source stable, then change the prompt in a predictable order so the next run is easier to evaluate.
Keep stable
Hold the task contract and output shape stable so generated implementations remain comparable.
Tune next
Update libraries, interfaces, and environment assumptions to match the stack you actually run.
Verify after
Test failure handling, edge cases, and any code paths that depend on hidden context or secrets.