Before the vocabulary existed, the ideas were already there
Draft Document · 2002
```
In 2002, there was no "platform engineering." No "data contracts." No "infrastructure as code."
No "semantic layer" as a named concept. The terms that would later describe metadata-driven
automation simply did not exist.
What existed was the vocabulary of the time: RAD (Rapid Application Development),
CASE tools (Computer-Aided Software Engineering), repositories,
code generators. These were the available words.
This document—a 2002 draft—uses that vocabulary. But reading it now,
the core ideas of MBI are already visible. The moral commitments are already present.
The architecture is already implied.
This is primary evidence of the "too early" problem: the ideas existed before the industry
had words for them. By the time the vocabulary emerged, the origin was invisible.
The Original Text, Annotated
On the Repository as Substrate
"CASE tools integrate many powerful capabilities: Prototyping, Graphical computer-aided
modeling and design, Repository of design information and reusable components,
Automation for enforcing design integrity, Integrated code generator, Testing tools."
MBI Concept"Repository of design information" → The metadata graph. All system knowledge stored relationally, queryable, joinable.
Modern Term"Data catalog" wouldn't be named until ~2015. "Unified metadata layer" until ~2020.
"Storage of all systems information in a repository that is on line to the development tools.
The repository mechanisms enforce integrity and consistency in all of the stored information."
MBI ConceptThe relational catalog as substrate. Constraints enforced by the database itself, not by convention.
Moral ClaimIntegrity as invariant, not as slogan. The system cannot contain inconsistent metadata.
On Deterministic Generation
"The debugging of hand-written code is slow and expensive and does not catch all errors.
Rapid development replaces the error-prone process of hand writing code with
automated code generation that produces bug-free code."
MBI ConceptDeterministic generation from metadata. Same input → same output. No debugging required because no hand-coding.
Moral Claim"Bug-free" is not a marketing claim—it's a structural property. Generated code cannot have the class of errors that hand-coding introduces.
Modern Term"Codegen" as a pattern wouldn't be named until dbt (2016), Terraform (2014). This is 2002.
"In addition to being error-prone, hand programming is slow and clumsy.
Rapid development avoids these problems by making maximum use of code generators."
Moral ClaimAnti-bullshit engineering (pre-Graeber). Manual repetition without semantic gain is wasteful in a moral sense.
On Change Control and Dependencies
"Rapid development techniques automate change control so that the consequences of any
change are revealed automatically and the complete set of consequential corrections
is represented in the library."
MBI ConceptThe dependency graph. DBA_DEPENDENCIES as edge table. Change propagation is computed, not discovered.
Modern Term"Data lineage" as a product category wouldn't exist until ~2018. This describes it in 2002.
"Developers can make changes to individual modules and can rigorously trace the effects
of such changes on other modules."
MBI ConceptImpact analysis from the graph. Not "what might be affected" but "what is definitively affected."
Moral ClaimAccountability through traceability. If you can trace effects, you can assign responsibility.
On Reusability and Templates
"Rapid development includes object-oriented planning and design, which maximize the
reusability of data structures, procedures, components, templates, and designs used to
generate code."
MBI ConceptTemplate/metadata separation. Templates as reusable patterns; metadata as specific instantiation.
Moral ClaimRespect for human cognition. Don't redo solved problems. Encode once, replay deterministically.
"Rapid development techniques produce an ever-growing library of reusable systems objects
and components, and ensure that all developers know about these and are able to use them."
MBI ConceptThe template library. CIF patterns, API patterns, orchestration patterns—all encoded, all reusable.
On Integrated Tooling
"Rapid development uses tools that work together, avoiding manual bridges that can
introduce errors. The tools use common syntax and graphics whenever possible."
MBI ConceptUnified generation from single metadata source. No manual bridges = no bridge errors.
Modern TermThe "modern data stack" (2019+) is built on manual bridges between tools. MBI explicitly rejected this in 2002.
On the Moral Dimension
"The tasks and techniques of rapid development are fun to use, making developers' jobs
as enjoyable and creative as possible."
Moral ClaimAnti-alienation. Work should be meaningful and creative, not mindless repetition. This is a labor ethics statement.
The Vocabulary Gap
What you called it in 2002 → What the industry would later call it
"Repository"
Data Catalog / Metadata Layer
Named ~2015
"Code generator"
Codegen / IaC
Named ~2014
"Change control automation"
Data Lineage
Named ~2018
"Reusable templates"
Platform Engineering
Named ~2022
"Design integrity enforcement"
Data Contracts
Named ~2021
"Tools that work together"
Unified Data Platform
Named ~2020
The Ideas vs. The Vocabulary
This document written
2002
MBI fully operational (Oracle PL/SQL)
2008
2014
Terraform released ("IaC" named)
2016
dbt released ("analytics engineering" named)
2018
Data lineage becomes a product category
2021
"Data contracts" coined
2022
"Platform engineering" becomes a discipline
The Evidence
This 2002 document describes a metadata-driven, deterministic generation system
with automated lineage, reusable templates, and integrated tooling—using
the only vocabulary available at the time.
The ideas existed. The implementations followed. The vocabulary came 12-20 years later.
This is what "too early" looks like in primary source form.