This repository contains the official baseline architecture, technical specifications, and use-case catalogue for the Entity Resolution System (ERSys) ecosystem.
The documentation establishes the architectural foundation, integration contracts, and decision records that govern all ERSys implementations.
Live documentation: https://meaningfy-ws.github.io/entity-resolution-docs/
- ERS Architecture — System scope, actors, capabilities, behaviour spines, conceptual models, and deployment architecture
- ERS–ERE Technical Contract — Message-based integration specification, idempotent processing rules, and canonical identifier semantics
- Annexe A: Glossary — Normative definitions of all domain and system terms
- Annexe B: Use Cases — White (business) and Blue (system) level use cases using Cockburn format
- Annexe C: Architecture Decision Records — Key architectural decisions grouped by theme (A–G)
- Node.js (v18+) and npm — for building the documentation
- Python 3 — for local preview server
- Make — for convenient build commands (optional but recommended)
# Initialize Antora and install required packages
make install-antoraOr manually:
npm install
npm install -D antora @antora/cli @antora/site-generator
npm i -D @sntke/antora-mermaid-extensionmake build-docsOutput is written to docs/build/site/.
Or manually:
npx antora docs/antora-playbook.local.ymlBuild and serve at http://localhost:8080:
make preview-docsThen open your browser and navigate to http://localhost:8080.
To stop the server, press Ctrl+C.
make clean-docsdocs/
├── modules/ROOT/
│ ├── pages/
│ │ ├── index.adoc # Landing page (high-level orientation)
│ │ ├── ERSArchitecture/ # Baseline architecture
│ │ │ ├── introduction.adoc
│ │ │ ├── scope.adoc
│ │ │ ├── actors.adoc
│ │ │ └── ... (other pages)
│ │ ├── ERS-ERE-Contarct/ # Technical contract
│ │ ├── AnnexeA-Glossary/ # Glossary
│ │ ├── AnnexeB-UseCases/ # Use cases
│ │ └── AnnexeC-ADRs/ # Architecture Decision Records
│ ├── images/ # Images and diagrams
│ └── nav.adoc # Navigation tree for the sidebar
├── antora-playbook.local.yml # Local Antora config (development)
└── antora-playbook.yml # Production Antora config
- Edit an existing page — modify the corresponding
.adocfile indocs/modules/ROOT/pages/. - Add a new page — create a new
.adocfile and updatenav.adocto include it in the navigation tree. - Build locally — run
make preview-docsto see your changes. - Commit and push — once satisfied, commit and push to your feature branch.
Documentation is automatically built and deployed via GitHub Actions:
- On pull requests to
develop— the Antora build runs to verify the docs compile without errors. - On push/merge to
develop— the docs are built and deployed to GitHub Pages.
The workflow is defined in .github/workflows/docs-build-deploy.yaml.
Build the site locally and upload docs/build/site/ to any static host:
make build-docs-
Create a feature branch from
develop:git checkout develop git pull git checkout -b feature/ERS-XXX-description
-
Edit documentation using AsciiDoc (
.adocfiles). -
Preview locally:
make preview-docs
-
Commit and push:
git add docs/modules/ROOT/pages/... git commit -m "Brief description of changes" git push origin feature/ERS-XXX-description -
Open a Pull Request against
develop. -
Merge after approval — GitHub Actions will automatically build and deploy to GitHub Pages.
This documentation is licensed under the Apache License 2.0.
You are free to:
- Use, copy, and modify the documentation
- Distribute it, with or without modifications
- Use it for commercial and private purposes
Under the condition that you:
- Include a copy of the Apache 2.0 license with any distribution
- Provide attribution to the original authors
- State significant changes you made to the documentation
See LICENSE for the full text.