/model
The single-brain architecture
One linked model for everything. Objects, events, and unstructured content, versioned and auditable, ready for agents.
Overview
dbsof materialises the enterprise as one linked model. Structured, unstructured, events and relations live together, designed GPU-first for retrieval, joins, and agentic work. The model is open, versioned, and auditable end-to-end.
At a glance
Architecture diagram
Ontology
Objects are first-class. Relations are typed. Versions are explicit. Unstructured artefacts are linked to the objects they describe.
Canonical objects
- Party, User, Role, Policy
- Product, Catalogue, PriceList, Contract
- Lead, Opportunity, RFQ, Offer, Quote, Order/PO
- Shipment/Delivery/GRN
- Invoice, CreditNote, Payment
- JournalEntry, LedgerAccount, Tax
- Asset, WorkOrder
- Case/Ticket, SLA
- Document, Message, Attachment, Embedding
product-contract-v1.json
// example: product minimal contract (v1)
{
"$schema": "https://dbsof.dev/schemas/v1/product.json",
"id": "prod_3f7d...",
"sku": "ABC-123",
"name": "Stainless Valve 2"",
"attrs": { "material": "316L", "pressure_rating": "PN16" },
"effective_from": "2025-01-01T00:00:00Z",
"version": 3,
"provenance": { "source": "erp.s4", "ingested_at": "...", "hash": "..." }
}order-trace.graphql
query OrderTrace($id: ID!) {
order(id: $id) {
id
po_number
party { id name }
lines { sku qty price }
deliveries { id grn status }
invoice { id total status }
documents { id kind url }
}
}Event ledger
Every state change is an event. Immutable, ordered, replayable. Analytics gain perfect history. Agents gain context.
Time travel
AS-OF queries on any object.
Replay
Rebuild state deterministically.
Lineage
Trace KPI -> event -> source.
invoice-posted-event.json
{
"event_id": "evt_92af...",
"type": "InvoicePosted",
"entity": { "kind": "invoice", "id": "inv_8b2..." },
"at": "2025-02-03T10:24:17Z",
"data": { "total": "14230.55", "currency": "EUR", "po_id": "po_1ac..." },
"provenance": { "source": "ligment.finance", "user": "svc_invoicebot" },
"version": 1
}Unstructured
Unstructured is first-class, never an afterthought.
Pipeline
parse -> normalise -> chunk -> embed -> link -> index
- Multiple embedding spaces supported.
- Policy-aware retrieval with governance baked in.
- RAG ready: retrieval results carry object IDs and provenance.
