Skip to main content
Glama

Gennemført 2.0

Penetration seals, valid as tested: from the customer's enquiry to the owner's handover, every step checked and verifiable.

▶ Open the app · Project page + 60-second tour · Verify a file · Version 1

tests ETA answer key parity reproduce IFC4 MCP license

Decision support, not approval. Every match is confirmed against the source document and the installation instructions; a brandteknisk vurdering is written and signed by a person. The demo building, cases, customers and precedents are fictitious.

What it does

A fire-protection adviser answers enquiries about penetration seals: is this pipe, in this wall, at this fire rating, a tested solution, and if not, what is the assessment? Gennemført 2.0 turns that work into a checked, traceable workflow.

flowchart LR
    Q["📝 Structured enquiry<br/>fields per penetration<br/>photos · completeness"] --> P{{"Pre-check<br/>678 tested ETA rows"}}
    P -->|tested| A["✅ Answer at once<br/>ETA · section · page"]
    P -->|deviates| C["📁 Case<br/>nearest row · deviation signature<br/>precedents"]
    C --> D["✍️ Decision<br/>adviser's own argument"] --> R["👀 Four eyes<br/>reviewer ≠ author"] --> I["📄 Issued PDF<br/>ETA excerpt · QR code"]
    I --> S["🔧 Site checklist<br/>photo · signatures"] --> O["🏠 Owner package"]
    M["🏗️ IFC model rev. A/B"] --> X["Register · BCF · seals in IFC<br/>revision impact"]
    L[("🔗 SHA-256 audit chain")] -.- C & D & R & I
    style P fill:#b7791f,color:#fff,stroke:#b7791f
    style L fill:#1f2937,color:#fff

Module

Try it

M1 Knowledge base

ETA-21/0110 board seals (293 rows) + ETA-20/1322 fire collars (385 rows, 12 mounting situations); page images with the row highlighted; known source errors listed

Viden

M2 Structured intake

Replaces the free-text form: completeness score, photo checklist, live pre-check, routing east/west, SLA

Forespørgsel

M3 Case workflow

States, deadlines, the adviser's own argument, four-eyes review, hash-chained log verified in the browser

Sager

M4 Precedents + issue

Deviation signature → earlier decisions; issued PDF with verification code and QR

Verificér

M5 Quote

Material list with the wholesaler's item numbers and the basis on every line

Tilbud

M6 Execution

Checklist from the ETA row, photo, signatures, inspector ≠ installer, owner package

Udførelse

M7 Revisions

IFC revision diff by GlobalId; decisions that no longer hold

Projekt

M8 Dashboard

Deflection rate, missing info, lead time, recurring deviations

Ledelse

M9 MCP

14 tools for Claude, Copilot or IDE agents

src/mcp_server.py

Related MCP server: ifc-geometry-mcp

Verifiable by design

Every output can be checked by a person and is checked automatically on every push (docs/VERIFY.md):

  • The file: MANIFEST.json holds the SHA-256 of each deliverable, the step that produced it, the model, knowledge-base and code versions, and the tests that cover it. Drag a file onto Verificér: it is hashed in your browser and never uploaded.

  • The answer: every verdict cites ETA, section and page, shows the page with the tested row highlighted, and links to the official PDF at that page.

  • The method: python -m gennemfoert.reproduce rebuilds everything from the source model and compares it with what's published (9/9).

Results

Answer key, hand-derived from the ETA pages

59/59 in board-only mode and full range

Demo register (58 penetrations)

39 tested (30 board seals, 9 fire collars), 17 deviations named by parameter, 1 duct, 1 missing data

Browser engine vs Python engine

1,500/1,500 random enquiries identical, every check's text; 384/384 intake items

Workflow simulation (30 fictitious cases)

35 % answered at intake, 20 % missing info caught before an adviser, median 2.7 days, 30/30 audit chains intact

Revision B

52 unchanged, 1 added, 1 removed, 5 changed: all flagged for re-assessment

Tests

42 passing, incl. an end-to-end browser run: enquiry → decision → refused self-review → review → sent

Run it

pip install -r requirements.txt && python -m playwright install chromium
cd src
python -m gennemfoert.pipeline        # IFC -> verdicts (+ answer key)
python -m gennemfoert.demo            # cases, precedents, issued PDFs
python -m gennemfoert.export_web && python -m gennemfoert.manifest && python -m gennemfoert.reproduce
cd .. && python -m pytest tests

MCP client config: {"mcpServers": {"gennemfoert": {"command": "python", "args": ["<repo>/src/mcp_server.py"]}}}

More: SPEC · Case study · Positioning · Verification · Companion product: Isoleret, technical insulation with a fire cross-check

MIT licence. ETA documents are the manufacturer's public documents, linked, not redistributed.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for IFC geometric audit, providing tools to detect space clashes, extract space inventories, compute surface losses, check boundaries, and verify opening correspondences in BIM models.
    6
    Apache 2.0
  • A
    license
    C
    quality
    D
    maintenance
    MCP server for COBie Excel validation, updates, and PDF extraction.
    63
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that enables one-click BIM audits by chaining IFC statistics, validation, and quantity takeoff workflows through natural language queries.
    MIT