ACM-AI
Asbestos Compliance Intelligence — Transforming PDF Asbestos Registers into Victorian Government BAR-compliant data with AI
What ACM-AI Does
Upload PDF
AI extracts asbestos data from any register format — Prensa, Greencap, or custom.
Interactive Spreadsheet
View all 47 BAR columns in AG Grid with risk colour-coding, sorting, and filtering.
Export BAR Excel
One-click BAR-compliant Excel export — ready for Victorian Government submission.
Key Compliance Facts
7-Stage Extraction Pipeline
From raw PDF to structured compliance data
TOC extraction, building inventory compilation, page-level section tagging, document metadata enhancement
LangGraph agentic orchestrator
PDF classifier detects digital vs scanned. Parser router selects MinerU or Docling based on content type.
PDF Classifier → Parser Router
Agentic orchestrator routes each page section to optimal extraction tool. MinerU for complex tables, Docling for text/layout.
MinerU (primary) | Docling (fallback)
Raw table extraction preserving bounding boxes, page numbers, merged cells, and multi-page stitching.
MineruTableExtractor | Docling | Generic Configurable Parser
AI maps raw extracted cells to 47 BAR field schema. Wording normalisation, enum validation, product classification (T1–T8).
LLM + register_row.schema.json + register_enums.json
Validates enum fields against BAR controlled vocabulary. Up to 3 LLM correction attempts for invalid values.
ValidationIssue → CorrectionStats → LLM re-extraction
Deduplication with SHA-256 composite keys. Contextual embeddings for vector search. Persisted to SurrealDB.
SurrealDB | Vector embeddings | Parent Document Retrieval
Data Flow
AG Grid — Victorian BAR Spreadsheet
47-column interactive register with risk colour-coding
| Organisation | Building | Location | ACM Item | Assessment | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dept | Agency | Site | Bldg Type | Code | Type | Level | Room | I/E | Product | Friable? | Condition | Risk | Result | Rec. |
| DJCS | VicPol | Rathdowne St HQ | Police Station | B001 | Police Station | Level 1 | Corridor | Internal | Cement Sheet | No | Good | Low | Not Detected | Monitor |
| DJCS | VicPol | Rathdowne St HQ | Police Station | B001 | Police Station | Level 2 | Server Room | Internal | Vinyl Floor Tiles | No | Fair | Medium | Positive | Encapsulate |
| DHHS | Health VIC | Royal Melbourne | Hospital | B003 | Hospital | Roof | Plant Room | External | Pipe Lagging | YES | Poor | High | Friable Positive | Remove Immediately |
| DET | Schools VIC | Northcote High | School | B012 | School | Ground | Science Lab | Internal | Ceiling Tiles | No | Fair | Medium | Suspected | Sample & Monitor |
| DHHS | Health VIC | Royal Melbourne | Hospital | B003 | Hospital | Basement | Mechanical | Internal | Boiler Insulation | YES | Deteriorating | High | Friable Positive | Remove Immediately |
| DET | Schools VIC | Northcote High | School | B012 | School | Level 1 | Staff Room | Internal | Vinyl Floor Tiles | No | Good | Low | Not Detected | Monitor |
Smart Chat — AI-Powered ACM Queries
Natural language queries against structured register data
I found 3 high-risk ACM items in Building B003 (Royal Melbourne Hospital):
1. Pipe Lagging — Plant Room (Roof)
Poor | Friable | Positive
[acm:acm_record:a1b2:risk_status] → HIGH RISK
2. Ceiling Tiles — Ward 4B
Damaged | Non-friable | Suspected
[acm:acm_record:c3d4:risk_status] → HIGH RISK
3. Boiler Insulation — Basement Mechanical
Deteriorating | Friable | Positive
[acm:acm_record:e5f6:risk_status] → HIGH RISK
How It Works
BAR-Compliant Export
Victorian Government submission-ready in one click
CSV Export
BAR Excel (.xlsx)
The 45 BAR Columns
Site Configuration: Non-extractable fields (Department, Agency, Building Type, etc.) are configured via the Site Config form before export — ensuring 100% BAR field coverage.
Project Delivery Dashboard
ACM-AI v1.0 — Feature Complete as of 23 Feb 2026
Stories
121/131
Epics
19/20
E2E Accuracy
27/31
Git Commits
Stories per Epic
| Epic | Title | Stories | Progress | Status | Key Achievement |
|---|---|---|---|---|---|
| E1 | ACM Data Extraction Pipeline | 31 | DONE | 7-stage agentic pipeline with MinerU + Docling | |
| E2 | AG Grid Spreadsheet Integration | 12 | DONE | 47-column BAR schema with risk colour-coding | |
| E3 | Cell Citations & PDF Viewer | 4 | DONE | Click any cell → see PDF source page | |
| E4 | Chat with ACM Context | 4 | DONE | LangGraph supervisor with ACM query tools | |
| E5 | Export Functionality | 4 | DONE | BAR-compliant Excel with template management | |
| E6 | Rebranding to ACM-AI | 4 | DONE | VAEA government identity system | |
| E7 | Upload Wizard | 7 | DONE | Drag-drop PDF with extraction trigger | |
| E9 | Document Library Management | 3 | DONE | Bulk operations and processing dashboard | |
| E10 | ACM-AI UI Simplification | 1 | DONE | Streamlined ACM-focused navigation | |
| E11 | Search & Retrieval Enhancement | 2 | DONE | Hybrid search + parent document retrieval | |
| E12 | Extraction Settings & Configuration | 4 | DONE | Config-driven field schema, model selection | |
| E13 | Knowledge Graph Visualization | 3 | DONE | React Flow entity relationship explorer | |
| E14 | UX & Enterprise Readiness | 11 | DONE | WCAG 2.1 AA, VAEA tokens, skeletons | |
| E15 | Extraction Monitor & Logging | 2 | DONE | Real-time SSE pipeline progress UI | |
| E16 | UX Enhancement Sprint | 3 | DONE | Dashboard home, record detail panel | |
| E17 | Live Extraction Intelligence | 6 | DONE | AG-UI + A2A agent card + reasoning display | |
| E18 | Extraction Quality & Edge Cases | 6 | DONE | 87% accuracy (27/31 records) | |
| E19 | Marketing Site & Documentation | 1 | DONE | Public-facing marketing site + documentation hub | |
| E20 | Cross-Site Navigation | 2 | DONE | Domain cutover + cross-site navigation |
Sprint Velocity
Feature Coverage
Technical Architecture
FastAPI + SurrealDB + LangGraph + Next.js
System Architecture
Chat Architecture
Data Model
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 15 + React | Web UI + AG Grid spreadsheet |
| Backend | FastAPI (Python) | REST API + SSE streaming |
| Database | SurrealDB | Document + vector + graph store |
| AI Pipeline | LangGraph | Agentic workflow orchestration |
| Extraction | MinerU + Docling | PDF table extraction (ML-based) |
| AI/LLM | Esperanto | Multi-provider: OpenAI, Anthropic, Ollama |
| Grid | AG Grid v35 | Enterprise spreadsheet component |
| Chat | CopilotKit + AG-UI | SSE agent streaming protocol |
| Export | openpyxl | BAR Excel generation |
Value by Audience
How ACM-AI delivers value to every stakeholder
Risk Mitigation + Operational Efficiency
Reduces liability exposure from incomplete asbestos registers