Every WorkBench module reads from the same facts. No parallel employee tables. No nightly sync jobs. No reconciliation step. Pick a module and it already composes with the others — because there is nothing between them to bridge.
This page is the architectural explanation and the tour entry. 3 modules are live. 3 have ratified tours you can walk through today. 11 are on the roadmap. All 17 anchor to the same substrate. The Workforce Triangle — HR identity, Payroll compensation, Time hours — is complete.
Four load-bearing claims, one architecture. Not a suite. Not an integration layer. A substrate with lenses.
Every WorkBench module tour walks the same eight sections: Overview, Sibling Mandate, Primary Events, Anatomy, Cross-Module Read, Variance & Measurement, Bitemporal, Receipts. Content adapts per module; structure does not. Once you know one tour, you know all of them. Ratified in CR-WB-MODULE-001.
Each module reads from the same Dim_Employee. No module maintains parallel identity. No module writes employee records that another module would have to reconcile against. When HR changes an employee's status, Payroll's next query sees the new status — not after a batch job, not on a schedule, not eventually. Immediately. This is the substrate's load-bearing guarantee, sharpened in CR-WB-PAYROLL-001.
Dim_Employee. When HR terminates someone, Payroll's queries see the new status immediately — not after a sync job runs at midnight.EMP-003 is Priya Shankar. She appears in the HR & People tour as an employee record. She appears in the Payroll & Comp tour as a pay-run subject. Not a copy. Not a sync. The same record, read through a different module's lens. The employee_id in hr.dim_employee is the employee_id in payroll.fact_compchange. No mapping table exists because no mapping table is needed.
employee_id. Different lenses. The substrate does the unifying work; no integration layer required.The third module reads from the first two. The fourth reads from the first three. Integration cost does not scale with module count — it is structurally absent. Every module shipped reduces the surface area a business would otherwise have to maintain between systems. By module seventeen, the substrate has replaced the integration layer entirely. The argument gets stronger with every module that ships. The receipts get heavier.
These aren't independent demos. They share the same 12 employees, the same Dim_Employee, the same substrate. Each tour reads from the prior tours' data. That's the architecture, visible.
Three beats. Each one stronger than the last.
HR & People proves the substrate exists and works for one domain. Dim_Employee is the identity spine. Fact_StatusChange is the first event type. Status, tenure, categorization, roles — all derived from an immutable event log.
Payroll & Comp proves the substrate generalizes. No parallel identity. Fact_CompChange and Fact_PayrollRun read from Dim_Employee and cite HR's Fact_StatusChange events. The math compounds: Live Burn Rate reads both modules in a single query — one JOIN, no sync, no nightly job.
Time & Attendance is Module 03 — now shipped. It closes the Workforce Triangle: HR owns identity, Payroll owns compensation, Time owns the hours. Each module shipped reduces the integration surface a business would otherwise have to maintain. By module seventeen, the substrate has replaced the integration layer entirely.
All seventeen modules. Four live today. Two tours ratified. Eleven queued.
Three council reviews define how every module gets built. Read them if you want the architecture proof, not the marketing.
Walk a tour. Read the receipts. Watch the compounding happen in real time — every module that ships makes the next one cheaper to build.