docs(example): add layered development concept and extend tutorial
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Adds LAYERED-DEVELOPMENT.md documenting the concept for evolving a flat entity collection into a structured systemic model through four layers: L0 Source text → L1 Raw entities (current) → L2 Typed entities → L3 Relation graph → L4 Minimal systemic model Covers: the element/relation/principle/institution type taxonomy, VSM as a structural coordinate system, the type × VSM coverage matrix, triplet extraction with a controlled predicate vocabulary, feedback loop detection, and the distillation hypothesis for finding the generative core of a corpus. Extends TUTORIAL.md with sections 17–23: 17. Observing entity heterogeneity 18. The four-layer model overview 19. Layer 2 — classifying entities (schema, pipeline stage, metrics) 20. Layer 3 — extracting the relation graph (triplets, feedback loops) 21. Layer 4 — the minimal systemic model (core-model.md output) 22. Planned CLI commands for layers 2–4 23. Layers 2–4 as composed infospaces Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
409
examples/infospace-with-history/LAYERED-DEVELOPMENT.md
Normal file
409
examples/infospace-with-history/LAYERED-DEVELOPMENT.md
Normal file
@@ -0,0 +1,409 @@
|
|||||||
|
# Layered Infospace Development
|
||||||
|
|
||||||
|
A concept for evolving a flat entity collection into a structured systemic model.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Problem
|
||||||
|
|
||||||
|
After processing all 35 chapters of *The Wealth of Nations*, the infospace
|
||||||
|
contains ~988 entities. But reviewing them reveals a structural problem: they
|
||||||
|
are not all the same kind of thing.
|
||||||
|
|
||||||
|
Some are **stocks** — things that exist or persist:
|
||||||
|
- *Capital Stock*, *Colony Assemblies*, *Corn*, *Plate (Household Silver)*
|
||||||
|
|
||||||
|
Some are **processes** — things that happen or transform:
|
||||||
|
- *Bank Credit Extension*, *Agricultural Market Integration*, *Division of Labour*
|
||||||
|
|
||||||
|
Some are **principles** — abstract laws or invariants:
|
||||||
|
- *Agricultural Opportunity Cost*, *National Animosity in Commerce*
|
||||||
|
|
||||||
|
Some are **sequences** — ordered chains of events:
|
||||||
|
- *Agricultural Market Access Development Sequence*
|
||||||
|
|
||||||
|
When you apply the VSM mapping uniformly to this mixture, the result is
|
||||||
|
conceptually muddled. System 2 (coordination) ends up containing both a
|
||||||
|
*price signal* (a relation between operations) and a *market* (an element
|
||||||
|
those relations flow through). The mapping is not wrong — both genuinely
|
||||||
|
belong in S2 — but the lack of type distinction hides structural information.
|
||||||
|
|
||||||
|
The goal of layered development is to move from a flat collection of named
|
||||||
|
phenomena toward a **minimal viable systemic model**: the smallest set of
|
||||||
|
elements and relations that can generate Smith's argument from first
|
||||||
|
principles.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Ontological Distinction
|
||||||
|
|
||||||
|
The most important distinction is between **elements** and **relations**:
|
||||||
|
|
||||||
|
- An **element** is a thing that can exist independently: a stock, an agent,
|
||||||
|
an institution, a good. It is a *noun* in the grammar of the model.
|
||||||
|
- A **relation** is a structural dependency between elements: a mechanism,
|
||||||
|
a causal link, a regulatory signal. It is a *verb* or *connector* in the
|
||||||
|
grammar of the model.
|
||||||
|
|
||||||
|
This distinction is prior to the VSM assignment. Once you know whether
|
||||||
|
something is an element or a relation, the VSM question becomes:
|
||||||
|
*which control layer does this element inhabit?* or
|
||||||
|
*which control signal does this relation carry?*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Five Entity Types
|
||||||
|
|
||||||
|
A complete taxonomy for the WoN infospace:
|
||||||
|
|
||||||
|
| Type | Definition | WoN examples |
|
||||||
|
|---|---|---|
|
||||||
|
| **Element** | A stock, agent, artifact, or institution that persists | Capital Stock, Corn, Colony, Guild |
|
||||||
|
| **Process** | A flow, activity, or transformation (has duration) | Division of Labour, Credit Extension, Trade Route |
|
||||||
|
| **Relation** | A structural dependency between two elements | Rent determined by price; Wages bounded by profit margin |
|
||||||
|
| **Principle** | An abstract law or invariant that holds across contexts | Opportunity Cost, Comparative Advantage, Diminishing Returns |
|
||||||
|
| **Institution** | A socially constructed rule system or norm | Banking system, Taille, Apprenticeship Law |
|
||||||
|
|
||||||
|
These types are not mutually exclusive at the margin — *Market Price* is
|
||||||
|
both a Relation (between cost components and clearing condition) and an
|
||||||
|
emergent Property of an Element (the market). The choice of primary type
|
||||||
|
should reflect its role in the argument being made.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The VSM as Structural Lens
|
||||||
|
|
||||||
|
The Viable System Model provides a *recursive control hierarchy*. Applied to
|
||||||
|
the WoN, each VSM level corresponds to a layer of economic governance:
|
||||||
|
|
||||||
|
| VSM System | Economic function | What belongs here |
|
||||||
|
|---|---|---|
|
||||||
|
| **S1 — Operations** | Primary productive activities | Agricultural labour, manufacturing, carrying trade |
|
||||||
|
| **S2 — Coordination** | Anti-oscillation, price signals | Market price, natural price, wages of labour |
|
||||||
|
| **S3 — Management** | Resource allocation, operational control | Capital allocation, banking, taxation |
|
||||||
|
| **S3\* — Audit** | Inspection, compliance, integrity | Customs enforcement, assay, coinage |
|
||||||
|
| **S4 — Intelligence** | Adaptation, environment scanning | Invisible hand, mercantile intelligence, foreign trade |
|
||||||
|
| **S5 — Policy** | Identity, ultimate authority, purpose | Political economy systems, public debt policy |
|
||||||
|
|
||||||
|
Every typed entity gets a *coordinate* in the space of type × VSM system.
|
||||||
|
For example:
|
||||||
|
|
||||||
|
- *Natural Price* → **Relation / S2** (it is the coordination signal that
|
||||||
|
expresses the dependency between cost components and market clearing)
|
||||||
|
- *Capital Stock* → **Element / S1** (it is the persistent productive resource
|
||||||
|
at the operational level)
|
||||||
|
- *Invisible Hand* → **Principle / S4** (it is an abstract law describing
|
||||||
|
how distributed intelligence produces systemic order)
|
||||||
|
- *Banking System* → **Institution / S3** (it is the socially constructed
|
||||||
|
rule system for managing capital flows)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Four-Layer Model
|
||||||
|
|
||||||
|
```
|
||||||
|
L0 Source text 35 chapters — raw signal, no structure
|
||||||
|
│
|
||||||
|
│ extract-entities (existing pipeline stage)
|
||||||
|
▼
|
||||||
|
L1 Raw entities ~988 named phenomena — heterogeneous, flat
|
||||||
|
│ [current state]
|
||||||
|
│ classify-entities (new stage)
|
||||||
|
▼
|
||||||
|
L2 Typed entities Each entity assigned: type + VSM system
|
||||||
|
Coordinate: (Element | Process | Relation |
|
||||||
|
Principle | Institution) × (S1–S5)
|
||||||
|
│
|
||||||
|
│ extract-relations (new stage)
|
||||||
|
▼
|
||||||
|
L3 Relation graph Explicit triplets: Element → Relation → Element
|
||||||
|
Feedback loops, VSM channel mappings,
|
||||||
|
causal chains
|
||||||
|
│
|
||||||
|
│ distil-core (new analysis)
|
||||||
|
▼
|
||||||
|
L4 Systemic model Minimal viable set — the generative core
|
||||||
|
~30 elements + ~20 relations + ~10 principles
|
||||||
|
that reproduce Smith's argument from scratch
|
||||||
|
```
|
||||||
|
|
||||||
|
Each layer is a **proper infospace** in its own right. L2 uses L1 as its
|
||||||
|
topic and VSM as its discipline. L3 uses L2 as its topic. The infospace
|
||||||
|
composition model (already built) makes this explicit, auditable, and
|
||||||
|
reproducible — each layer has its own `infospace.yaml`, schemas, and metrics.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Layer 2 — Typed Entities
|
||||||
|
|
||||||
|
### What changes
|
||||||
|
|
||||||
|
Each entity file gains two new fields:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Entity Type
|
||||||
|
|
||||||
|
Relation
|
||||||
|
|
||||||
|
## VSM System
|
||||||
|
|
||||||
|
S2
|
||||||
|
```
|
||||||
|
|
||||||
|
The classification is produced by a new `classify-entities` pipeline stage
|
||||||
|
that runs as a per-entity LLM evaluation — a concise prompt per file asking
|
||||||
|
the model to assign type and VSM system and briefly justify both.
|
||||||
|
|
||||||
|
### New schema: `schemas/typed-entity-schema-v1.0.md`
|
||||||
|
|
||||||
|
Extends the economic entity schema with:
|
||||||
|
- **Entity Type** — one of: Element, Process, Relation, Principle, Institution
|
||||||
|
- **VSM System** — one of: S1, S2, S3, S3*, S4, S5
|
||||||
|
- **Type Rationale** — one sentence explaining why this type was assigned
|
||||||
|
- **VSM Rationale** — one sentence grounding the VSM assignment in Beer's definitions
|
||||||
|
|
||||||
|
### Metrics at Layer 2
|
||||||
|
|
||||||
|
Layer 2 enables a new set of quality checks:
|
||||||
|
|
||||||
|
| Metric | Concern | Question |
|
||||||
|
|---|---|---|
|
||||||
|
| **type_distribution** | Granularity | Is the collection balanced between elements, processes, and relations? |
|
||||||
|
| **vsm_type_coverage** | Coverage | Does every VSM level have at least one element, one process, and one relation? |
|
||||||
|
| **orphan_relations** | Coherence | Are there Relation-typed entities that name no elements they connect? |
|
||||||
|
| **principle_grounding** | Consistency | Does each Principle-typed entity have at least one Element or Process it constrains? |
|
||||||
|
|
||||||
|
The coverage metric gains a new dimension: instead of domain × chapter,
|
||||||
|
it becomes type × VSM system — a 5 × 5 or 5 × 6 matrix that reveals
|
||||||
|
structural blind spots.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Layer 3 — The Relation Graph
|
||||||
|
|
||||||
|
### Triplets
|
||||||
|
|
||||||
|
The core artifact of Layer 3 is a set of **explicit triplets**:
|
||||||
|
|
||||||
|
```
|
||||||
|
Division of Labour ──[limited by]──> Market Extent
|
||||||
|
Market Extent ──[expanded by]──> Transportation Infrastructure
|
||||||
|
Capital Stock ──[enables]──> Division of Labour
|
||||||
|
Wages of Labour ──[regulated by]──> Profit of Stock
|
||||||
|
Natural Price ──[centres on]──> Market Price
|
||||||
|
```
|
||||||
|
|
||||||
|
Each triplet is a directed edge in the relation graph. The three roles are:
|
||||||
|
- **Subject**: an Element-typed entity
|
||||||
|
- **Predicate**: a Relation-typed entity (or one from the controlled vocabulary)
|
||||||
|
- **Object**: an Element-typed entity
|
||||||
|
|
||||||
|
### Controlled relation vocabulary
|
||||||
|
|
||||||
|
A small vocabulary constrains what predicates are available:
|
||||||
|
|
||||||
|
| Predicate class | VSM channel | Direction |
|
||||||
|
|---|---|---|
|
||||||
|
| **enables / constrains** | S1 → S1 | structural prerequisite |
|
||||||
|
| **regulates / is regulated by** | S3 → S1 or S2 → S1 | control signal |
|
||||||
|
| **produces / consumes** | S1 operational | flow |
|
||||||
|
| **coordinates** | S2 | anti-oscillation signal |
|
||||||
|
| **monitors / audits** | S3\* | audit loop |
|
||||||
|
| **adapts to / anticipates** | S4 | intelligence signal |
|
||||||
|
| **defines / is defined by** | S5 | policy authority |
|
||||||
|
| **contradicts / tensions with** | any | principle conflict |
|
||||||
|
|
||||||
|
### Feedback loops
|
||||||
|
|
||||||
|
The relation graph makes feedback loops visible as cycles. Smith describes
|
||||||
|
many:
|
||||||
|
|
||||||
|
```
|
||||||
|
Capital Accumulation
|
||||||
|
──[enables]──> Division of Labour
|
||||||
|
──[increases]──> Labour Productivity
|
||||||
|
──[raises]──> Profit Margin
|
||||||
|
──[funds]──> Capital Accumulation [positive loop]
|
||||||
|
|
||||||
|
Wages of Labour
|
||||||
|
──[raises]──> Consumer Demand
|
||||||
|
──[stimulates]──> Production
|
||||||
|
──[increases]──> Employment
|
||||||
|
──[raises]──> Wages of Labour [positive loop]
|
||||||
|
|
||||||
|
Market Price
|
||||||
|
──[above]──> Natural Price
|
||||||
|
──[attracts]──> Capital Inflow
|
||||||
|
──[increases]──> Supply
|
||||||
|
──[depresses]──> Market Price [negative/balancing loop]
|
||||||
|
```
|
||||||
|
|
||||||
|
These loops are the VSM S2 coordination signals made explicit. Finding them
|
||||||
|
is a primary goal of Layer 3.
|
||||||
|
|
||||||
|
### New output: `output/relations/`
|
||||||
|
|
||||||
|
One markdown file per triplet (or per relation cluster):
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# Division of Labour — limited by — Market Extent
|
||||||
|
|
||||||
|
## Subject
|
||||||
|
Division of Labour
|
||||||
|
|
||||||
|
## Predicate
|
||||||
|
limited by
|
||||||
|
|
||||||
|
## Object
|
||||||
|
Market Extent
|
||||||
|
|
||||||
|
## Relation Type
|
||||||
|
constrains
|
||||||
|
|
||||||
|
## VSM Channel
|
||||||
|
S1 → S2 (operational capacity constrained by coordination reach)
|
||||||
|
|
||||||
|
## Evidence
|
||||||
|
Book I, Chapter 3: "The division of labour is limited by the extent of
|
||||||
|
the market."
|
||||||
|
|
||||||
|
## Feedback Role
|
||||||
|
Part of the Market Expansion loop: larger market → more specialisation
|
||||||
|
→ higher productivity → greater surplus → expanded trade → larger market.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Layer 4 — The Minimal Systemic Model
|
||||||
|
|
||||||
|
### The distillation hypothesis
|
||||||
|
|
||||||
|
The entire WoN argument can be reproduced from a **core set** of roughly
|
||||||
|
30–40 elements, 15–25 relations, and 8–12 principles. Everything else in
|
||||||
|
the 988-entity collection is either:
|
||||||
|
|
||||||
|
- a **refinement** — a special case of a core element (e.g., *Agricultural
|
||||||
|
Capital* is a refinement of *Capital Stock*)
|
||||||
|
- an **illustration** — a concrete historical example (e.g., *Taille* is an
|
||||||
|
illustration of *Distortionary Taxation*)
|
||||||
|
- a **historical context** — not part of the abstract theory (e.g.,
|
||||||
|
*Portuguese Gold Trade*)
|
||||||
|
|
||||||
|
### How to find the core
|
||||||
|
|
||||||
|
Two methods work together:
|
||||||
|
|
||||||
|
**FCA-based centrality**: The concept lattice already computed by the FCA
|
||||||
|
module identifies which entities participate in the most attribute–object
|
||||||
|
pairings. High-density concepts in the lattice are likely core elements.
|
||||||
|
In Layer 3 terms: entities with the highest in-degree + out-degree in the
|
||||||
|
relation graph are candidates for the core.
|
||||||
|
|
||||||
|
**VSM completeness check**: A viable economic system requires all five VSM
|
||||||
|
systems to be represented in the core. If any system is empty, the model
|
||||||
|
is not viable — it is missing a control loop. This is the stopping condition:
|
||||||
|
*distil until the minimal set is VSM-complete and answers all competency
|
||||||
|
questions.*
|
||||||
|
|
||||||
|
### The core model as infospace output
|
||||||
|
|
||||||
|
The final artifact is `output/core-model.md`:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# Core Systemic Model — The Wealth of Nations
|
||||||
|
|
||||||
|
## Elements (S1 — Operations)
|
||||||
|
- Labour
|
||||||
|
- Capital Stock
|
||||||
|
- Land
|
||||||
|
- Commodity
|
||||||
|
|
||||||
|
## Processes (S1 — Operations)
|
||||||
|
- Division of Labour
|
||||||
|
- Agricultural Production
|
||||||
|
- Manufacturing
|
||||||
|
- Trade
|
||||||
|
|
||||||
|
## Relations (S2 — Coordination)
|
||||||
|
- Natural Price (centres market price)
|
||||||
|
- Wages of Labour (allocates labour supply)
|
||||||
|
- Profit of Stock (allocates capital)
|
||||||
|
- Rent of Land (allocates land use)
|
||||||
|
|
||||||
|
## Control Mechanisms (S3 — Management)
|
||||||
|
- Capital Allocation
|
||||||
|
- Banking (credit extension)
|
||||||
|
- Taxation
|
||||||
|
|
||||||
|
## Intelligence Principles (S4)
|
||||||
|
- Invisible Hand (distributed coordination)
|
||||||
|
- Comparative Advantage (specialisation signal)
|
||||||
|
|
||||||
|
## Policy Framework (S5)
|
||||||
|
- Mercantile System (policy thesis, critiqued)
|
||||||
|
- System of Natural Liberty (normative alternative)
|
||||||
|
|
||||||
|
## Core Feedback Loops
|
||||||
|
1. Capital Accumulation → Division of Labour → Productivity → Profit → Accumulation
|
||||||
|
2. Market Price → Capital Inflow → Supply → Market Price (balancing)
|
||||||
|
3. Wages → Demand → Employment → Wages (positive reinforcement)
|
||||||
|
|
||||||
|
## Viability Assessment
|
||||||
|
VSM coverage: S1 ✓ S2 ✓ S3 ✓ S4 ✓ S5 ✓
|
||||||
|
Competency questions answered: 6/6
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Infospace Composition as the Mechanism
|
||||||
|
|
||||||
|
The layering is not merely conceptual — it maps directly to the infospace
|
||||||
|
composition model already built in markitect. Each layer is a separate
|
||||||
|
infospace that uses the previous layer as its discipline:
|
||||||
|
|
||||||
|
```
|
||||||
|
L1 infospace (raw entities)
|
||||||
|
topic: Wealth of Nations source chapters
|
||||||
|
discipline: VSM reference
|
||||||
|
output: ~988 entity files
|
||||||
|
|
||||||
|
L2 infospace (typed entities)
|
||||||
|
topic: L1 entity files ← L1 as topic
|
||||||
|
discipline: VSM reference
|
||||||
|
output: ~988 typed entity files
|
||||||
|
|
||||||
|
L3 infospace (relation graph)
|
||||||
|
topic: L2 typed entity files ← L2 as topic
|
||||||
|
discipline: L2 infospace ← L2 as discipline
|
||||||
|
output: ~200–500 relation triplet files
|
||||||
|
|
||||||
|
L4 infospace (core model)
|
||||||
|
topic: L3 relation graph ← L3 as topic
|
||||||
|
discipline: L3 infospace ← L3 as discipline
|
||||||
|
output: core-model.md
|
||||||
|
```
|
||||||
|
|
||||||
|
This makes every distillation decision auditable. A change in L2 (a
|
||||||
|
reclassification from Element to Process) propagates as a flag on dependent
|
||||||
|
L3 relations, which in turn flags the L4 core model for re-evaluation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design Principles
|
||||||
|
|
||||||
|
**Distillation, not accumulation**: The layers run downward toward a minimal
|
||||||
|
core, not upward toward a larger taxonomy. Layer 4 is smaller than Layer 1.
|
||||||
|
|
||||||
|
**Viability as criterion**: The minimal model is judged not by completeness
|
||||||
|
(does it contain all entities?) but by viability (can it sustain itself as
|
||||||
|
a system? does it answer the competency questions?). This is the VSM
|
||||||
|
criterion applied to the model itself.
|
||||||
|
|
||||||
|
**Separation of concerns**: Each layer is independently queryable. L2
|
||||||
|
answers "what kind of thing is Capital?" — L3 answers "what does Capital
|
||||||
|
connect to?" — L4 answers "is Capital in the core?" These questions must
|
||||||
|
not bleed into each other.
|
||||||
|
|
||||||
|
**Git-traceable**: Every classification decision at L2, every relation
|
||||||
|
extraction at L3, and every inclusion/exclusion at L4 is a git commit. The
|
||||||
|
intellectual history of the distillation is preserved.
|
||||||
@@ -674,3 +674,445 @@ To build your own infospace:
|
|||||||
The key insight is that **schemas and guidelines are artifacts** — they
|
The key insight is that **schemas and guidelines are artifacts** — they
|
||||||
live in the repository and can be versioned and diffed just like code.
|
live in the repository and can be versioned and diffed just like code.
|
||||||
Every refinement decision is traceable through git history.
|
Every refinement decision is traceable through git history.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 17. Observing Entity Heterogeneity
|
||||||
|
|
||||||
|
After processing all 35 chapters you will notice that the entity collection
|
||||||
|
is not homogeneous. Reviewing the files, some entities describe **things
|
||||||
|
that exist** (stocks, agents, institutions) while others describe **how
|
||||||
|
things connect** (mechanisms, signals, causal dependencies):
|
||||||
|
|
||||||
|
| Entity | Character |
|
||||||
|
|---|---|
|
||||||
|
| *Capital Stock* | A persistent resource — an element |
|
||||||
|
| *Division of Labour* | An ongoing activity — a process |
|
||||||
|
| *Natural Price* | A structural dependency — a relation |
|
||||||
|
| *Opportunity Cost* | An abstract invariant — a principle |
|
||||||
|
| *Banking System* | A socially constructed rule — an institution |
|
||||||
|
|
||||||
|
This heterogeneity is not a flaw in the extraction. It reflects the actual
|
||||||
|
structure of Smith's argument. But treating all entities identically — as
|
||||||
|
unnamed nodes in a flat collection — hides structural information that is
|
||||||
|
necessary for building a systemic model.
|
||||||
|
|
||||||
|
The VSM mapping compounds this: System 2 ends up containing both a *price
|
||||||
|
signal* (a relation) and a *market* (an element that hosts those signals).
|
||||||
|
Both are genuinely in S2, but conflating them makes it harder to answer the
|
||||||
|
competency questions precisely.
|
||||||
|
|
||||||
|
**The solution is layered development**: moving from the flat entity set
|
||||||
|
toward a typed, structured, minimal systemic model. The full concept and
|
||||||
|
rationale is documented in [`LAYERED-DEVELOPMENT.md`](LAYERED-DEVELOPMENT.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 18. The Four Layers
|
||||||
|
|
||||||
|
Infospace development proceeds through four layers, each with its own
|
||||||
|
pipeline, schema, and viability check:
|
||||||
|
|
||||||
|
```
|
||||||
|
L0 Source text (35 chapters)
|
||||||
|
│ extract-entities
|
||||||
|
▼
|
||||||
|
L1 Raw entities (~988) ← current state after full processing
|
||||||
|
│ classify-entities
|
||||||
|
▼
|
||||||
|
L2 Typed entities Each entity has: type × VSM coordinate
|
||||||
|
│ extract-relations
|
||||||
|
▼
|
||||||
|
L3 Relation graph Explicit triplets: Element → Relation → Element
|
||||||
|
│ distil-core
|
||||||
|
▼
|
||||||
|
L4 Systemic model Minimal viable set (~30 elements + 20 relations)
|
||||||
|
```
|
||||||
|
|
||||||
|
Each layer is a **proper infospace** that uses the previous layer as its
|
||||||
|
topic (and sometimes as its discipline). The composition model already
|
||||||
|
built into MarkiTect makes this explicit and auditable.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 19. Layer 2 — Classifying Entities
|
||||||
|
|
||||||
|
The goal of Layer 2 is to assign every entity a **type** and confirm or
|
||||||
|
refine its **VSM system assignment**, giving each entity a coordinate in a
|
||||||
|
structured space.
|
||||||
|
|
||||||
|
### Entity types
|
||||||
|
|
||||||
|
| Type | What it is | Examples |
|
||||||
|
|---|---|---|
|
||||||
|
| **Element** | A stock, agent, or artifact that persists | Capital Stock, Corn, Colony |
|
||||||
|
| **Process** | A flow or transformation (has duration) | Division of Labour, Trade, Credit Extension |
|
||||||
|
| **Relation** | A structural dependency between elements | Natural Price, Wages of Labour |
|
||||||
|
| **Principle** | An abstract law holding across contexts | Comparative Advantage, Opportunity Cost |
|
||||||
|
| **Institution** | A socially constructed rule system | Banking System, Guild, Taille |
|
||||||
|
|
||||||
|
### New schema: `schemas/typed-entity-schema-v1.0.md`
|
||||||
|
|
||||||
|
Extend the economic entity schema with two new required sections:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Entity Type
|
||||||
|
|
||||||
|
[Element | Process | Relation | Principle | Institution]
|
||||||
|
|
||||||
|
## VSM System
|
||||||
|
|
||||||
|
[S1 | S2 | S3 | S3* | S4 | S5]
|
||||||
|
```
|
||||||
|
|
||||||
|
And two supporting rationale fields (one sentence each):
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Type Rationale
|
||||||
|
|
||||||
|
This is a Relation because it expresses a structural dependency between
|
||||||
|
Wages and Capital Stock rather than being an entity that exists independently.
|
||||||
|
|
||||||
|
## VSM Rationale
|
||||||
|
|
||||||
|
Assigned to S2 because Natural Price functions as the coordination signal
|
||||||
|
that prevents market price oscillation — Beer's primary definition of S2.
|
||||||
|
```
|
||||||
|
|
||||||
|
### New pipeline stage: `classify-entities`
|
||||||
|
|
||||||
|
Add the stage to `infospace.yaml` after the existing pipeline:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
pipeline:
|
||||||
|
stages:
|
||||||
|
- name: extract-entities
|
||||||
|
template: templates/extract-entities.md
|
||||||
|
output_dir: output/entities
|
||||||
|
...
|
||||||
|
- name: map-to-vsm
|
||||||
|
...
|
||||||
|
- name: synthesize-analysis
|
||||||
|
...
|
||||||
|
- name: classify-entities
|
||||||
|
template: templates/classify-entities.md
|
||||||
|
output_dir: output/typed-entities
|
||||||
|
output_macro: typed_entity
|
||||||
|
max_tokens: 1200
|
||||||
|
macros:
|
||||||
|
vsm_framework: artifacts/vsm-reference/vsm-framework.md
|
||||||
|
type_taxonomy: artifacts/guidelines/entity-type-taxonomy.md
|
||||||
|
```
|
||||||
|
|
||||||
|
This stage runs **once per entity** (not per chapter), taking the canonical
|
||||||
|
entity file as input and producing an enriched version in `output/typed-entities/`.
|
||||||
|
|
||||||
|
### New coverage metric — type × VSM matrix
|
||||||
|
|
||||||
|
At Layer 2, the coverage metric gains a new interpretation. The matrix is
|
||||||
|
no longer domain × chapter but **type × VSM system** — a 5 × 6 grid:
|
||||||
|
|
||||||
|
```
|
||||||
|
S1 S2 S3 S3* S4 S5
|
||||||
|
Element ████ ████ ██ · ██ ██
|
||||||
|
Process ████ ████ ██ · ████ ·
|
||||||
|
Relation ████ ████ ████ ██ ██ ██
|
||||||
|
Principle ██ ██ · · ████ ████
|
||||||
|
Institution· · ████ ████ · ████
|
||||||
|
```
|
||||||
|
|
||||||
|
An empty cell in this matrix means the VSM system has no entities of that
|
||||||
|
structural type — a genuine explanatory gap.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 20. Layer 3 — Extracting the Relation Graph
|
||||||
|
|
||||||
|
The goal of Layer 3 is to make the **connections between entities explicit**.
|
||||||
|
Rather than inferring connectivity from embedding similarity or co-occurrence,
|
||||||
|
Layer 3 extracts directed, typed **triplets** from entity definitions and
|
||||||
|
source chapters.
|
||||||
|
|
||||||
|
### Triplet structure
|
||||||
|
|
||||||
|
Each triplet is a directed edge in the relation graph:
|
||||||
|
|
||||||
|
```
|
||||||
|
Subject Predicate Object
|
||||||
|
────────────────── ───────────────── ──────────────────
|
||||||
|
Division of Labour ←limited by→ Market Extent
|
||||||
|
Capital Stock ←enables→ Division of Labour
|
||||||
|
Natural Price ←centres on→ Market Price
|
||||||
|
Wages of Labour ←regulated by→ Profit of Stock
|
||||||
|
```
|
||||||
|
|
||||||
|
The predicate is drawn from a **controlled vocabulary** of twelve relation
|
||||||
|
classes, each mapped to a VSM channel:
|
||||||
|
|
||||||
|
| Predicate class | VSM channel |
|
||||||
|
|---|---|
|
||||||
|
| enables / constrains | S1 structural dependency |
|
||||||
|
| regulates / is regulated by | S3→S1 control |
|
||||||
|
| coordinates | S2 anti-oscillation |
|
||||||
|
| produces / consumes | S1 operational flow |
|
||||||
|
| monitors / audits | S3* audit loop |
|
||||||
|
| adapts to / anticipates | S4 intelligence |
|
||||||
|
| defines / is defined by | S5 policy authority |
|
||||||
|
| contradicts / tensions with | cross-level conflict |
|
||||||
|
|
||||||
|
### New output directory: `output/relations/`
|
||||||
|
|
||||||
|
One file per triplet (or per named relation cluster):
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# Division of Labour — limited by — Market Extent
|
||||||
|
|
||||||
|
## Subject
|
||||||
|
Division of Labour (Process / S1)
|
||||||
|
|
||||||
|
## Predicate
|
||||||
|
limited by
|
||||||
|
|
||||||
|
## Object
|
||||||
|
Market Extent (Element / S2)
|
||||||
|
|
||||||
|
## VSM Channel
|
||||||
|
S1 operational capacity constrained by S2 coordination reach
|
||||||
|
|
||||||
|
## Evidence
|
||||||
|
Book I, Chapter 3: "The division of labour is limited by the extent
|
||||||
|
of the market."
|
||||||
|
|
||||||
|
## Feedback Role
|
||||||
|
Entry point of the Market Expansion loop.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Feedback loops
|
||||||
|
|
||||||
|
The relation graph will reveal feedback loops — cycles in the directed
|
||||||
|
graph. These are the most structurally important outputs of Layer 3 because
|
||||||
|
they are the mechanisms Smith describes throughout the WoN:
|
||||||
|
|
||||||
|
```
|
||||||
|
Capital Accumulation → Division of Labour → Productivity
|
||||||
|
→ Profit Margin → Capital Accumulation [positive reinforcement]
|
||||||
|
|
||||||
|
Market Price above Natural Price → Capital Inflow → Supply
|
||||||
|
→ Market Price restores [balancing loop, S2]
|
||||||
|
|
||||||
|
Wages rise → Consumer Demand → Employment
|
||||||
|
→ Wages rise [positive reinforcement, S1]
|
||||||
|
```
|
||||||
|
|
||||||
|
Finding and naming these loops is the primary intellectual payoff of
|
||||||
|
Layer 3. Each loop can be documented as a named pattern:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Future command:
|
||||||
|
markitect infospace loops
|
||||||
|
# Detected feedback loops (3):
|
||||||
|
# Capital Accumulation Loop (positive, S1→S3→S1)
|
||||||
|
# Price Equilibration Loop (balancing, S2)
|
||||||
|
# Labour Market Loop (positive, S1→S2→S1)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 21. Layer 4 — The Minimal Systemic Model
|
||||||
|
|
||||||
|
Layer 4 answers the ultimate question: **what is the smallest set of
|
||||||
|
elements and relations that can generate Smith's argument from first
|
||||||
|
principles?**
|
||||||
|
|
||||||
|
The hypothesis is that the 988-entity collection can be reduced to a core
|
||||||
|
of roughly 30–40 elements, 15–25 relations, and 8–12 principles. Everything
|
||||||
|
else is a refinement, an illustration, or historical context.
|
||||||
|
|
||||||
|
### How the core is identified
|
||||||
|
|
||||||
|
Two methods work together:
|
||||||
|
|
||||||
|
**Graph centrality**: Entities with the highest combined in-degree and
|
||||||
|
out-degree in the Layer 3 relation graph are candidates. An entity that
|
||||||
|
many other entities connect to or depend on is structurally load-bearing.
|
||||||
|
|
||||||
|
**VSM completeness**: The core must have at least one entity at each VSM
|
||||||
|
level, and each level must have at least one Element, one Process, and one
|
||||||
|
Relation. This is the stopping condition — the minimum viable set is the
|
||||||
|
smallest set that is VSM-complete.
|
||||||
|
|
||||||
|
**FCA concept density**: The concept lattice from Layer 1 (FCA already
|
||||||
|
computed) identifies which entities co-occur across the most attributes
|
||||||
|
(domains and chapters). High-density concepts are likely core entities.
|
||||||
|
|
||||||
|
### Output: `output/core-model.md`
|
||||||
|
|
||||||
|
The final artifact documents the core model with explicit VSM assignment,
|
||||||
|
named feedback loops, and competency question coverage:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# Core Systemic Model — The Wealth of Nations (L4)
|
||||||
|
|
||||||
|
## Core Elements
|
||||||
|
### S1 — Operations
|
||||||
|
- Labour
|
||||||
|
- Capital Stock
|
||||||
|
- Land
|
||||||
|
- Commodity
|
||||||
|
|
||||||
|
### S2 — Coordination
|
||||||
|
- Market
|
||||||
|
|
||||||
|
### S3 — Management
|
||||||
|
- Banking System
|
||||||
|
|
||||||
|
## Core Processes
|
||||||
|
- Division of Labour (S1)
|
||||||
|
- Agricultural Production (S1)
|
||||||
|
- Trade (S1)
|
||||||
|
- Capital Allocation (S3)
|
||||||
|
|
||||||
|
## Core Relations
|
||||||
|
- Natural Price — centres — Market Price (S2)
|
||||||
|
- Wages of Labour — allocates — Labour (S2)
|
||||||
|
- Profit of Stock — allocates — Capital (S2)
|
||||||
|
|
||||||
|
## Core Principles
|
||||||
|
- Invisible Hand (S4)
|
||||||
|
- Comparative Advantage (S4)
|
||||||
|
- System of Natural Liberty (S5)
|
||||||
|
|
||||||
|
## Feedback Loops
|
||||||
|
1. Capital Accumulation (positive, S1–S3)
|
||||||
|
2. Price Equilibration (balancing, S2)
|
||||||
|
3. Labour Market (positive, S1–S2)
|
||||||
|
|
||||||
|
## Viability
|
||||||
|
VSM coverage: S1 ✓ S2 ✓ S3 ✓ S4 ✓ S5 ✓
|
||||||
|
Competency questions answered: 6/6
|
||||||
|
Entities in core: 28 / 988 (3%)
|
||||||
|
```
|
||||||
|
|
||||||
|
### What the core enables
|
||||||
|
|
||||||
|
With a validated core model, the infospace becomes far more useful as a
|
||||||
|
discipline:
|
||||||
|
|
||||||
|
- **Composability**: Another infospace can import the WoN core as its
|
||||||
|
discipline, knowing that only the 28 load-bearing entities will be
|
||||||
|
injected as context — not all 988.
|
||||||
|
- **Gap analysis**: New source material can be evaluated against the core:
|
||||||
|
does this modern supply chain text engage with Smith's three core
|
||||||
|
relations? If not, the analysis is incomplete.
|
||||||
|
- **Theory comparison**: Two economic theories (Smith and Ricardo, say)
|
||||||
|
can be compared at the core level — do they share elements? Where do
|
||||||
|
their feedback loops diverge?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 22. Running Layers 2–4 (Planned)
|
||||||
|
|
||||||
|
The following commands are planned for a future implementation phase.
|
||||||
|
They are documented here to describe the intended workflow.
|
||||||
|
|
||||||
|
### Layer 2: classify all entities
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Classify entity types and confirm VSM assignments:
|
||||||
|
markitect infospace classify --provider openrouter
|
||||||
|
|
||||||
|
# Classify a single entity:
|
||||||
|
markitect infospace classify --entity division-of-labour --provider openrouter
|
||||||
|
|
||||||
|
# Review type × VSM coverage matrix:
|
||||||
|
markitect infospace check type-coverage
|
||||||
|
```
|
||||||
|
|
||||||
|
Expected output:
|
||||||
|
|
||||||
|
```
|
||||||
|
Classifying 988 entities...
|
||||||
|
[████████████████████] 988/988
|
||||||
|
|
||||||
|
Type distribution:
|
||||||
|
Element: 312 (32%)
|
||||||
|
Process: 248 (25%)
|
||||||
|
Relation: 201 (20%)
|
||||||
|
Principle: 142 (14%)
|
||||||
|
Institution: 85 (9%)
|
||||||
|
|
||||||
|
Type × VSM coverage: 25/30 cells populated
|
||||||
|
Missing: Institution/S1, Principle/S3*, Process/S5
|
||||||
|
```
|
||||||
|
|
||||||
|
### Layer 3: extract relations
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Extract relation triplets (per entity pair or per chapter):
|
||||||
|
markitect infospace extract-relations --provider openrouter
|
||||||
|
|
||||||
|
# View the relation graph:
|
||||||
|
markitect infospace graph --output output/relations/graph.dot
|
||||||
|
|
||||||
|
# Detect feedback loops:
|
||||||
|
markitect infospace loops
|
||||||
|
```
|
||||||
|
|
||||||
|
### Layer 4: distil the core
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Identify the minimal viable entity set:
|
||||||
|
markitect infospace distil --provider openrouter
|
||||||
|
|
||||||
|
# Review the core model:
|
||||||
|
cat output/core-model.md
|
||||||
|
|
||||||
|
# Check VSM completeness of the core:
|
||||||
|
markitect infospace viability --layer 4
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 23. Layer 2–4 as Composed Infospaces
|
||||||
|
|
||||||
|
The cleanest way to implement Layers 2–4 is as **separate infospaces**,
|
||||||
|
each using the previous layer as its topic and discipline. This is already
|
||||||
|
supported by the MarkiTect composition model.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Layer 2 infospace — using L1 entities as the topic:
|
||||||
|
mkdir ../won-typed/
|
||||||
|
cd ../won-typed/
|
||||||
|
markitect infospace init \
|
||||||
|
--topic "WoN Typed Entities" \
|
||||||
|
--domain "Ontological Classification" \
|
||||||
|
--discipline "Viable System Model"
|
||||||
|
|
||||||
|
# Bind the L1 infospace as the source topic:
|
||||||
|
markitect infospace bind-discipline ../infospace-with-history
|
||||||
|
|
||||||
|
# Layer 3 infospace — using L2 typed entities as the topic:
|
||||||
|
mkdir ../won-relations/
|
||||||
|
markitect infospace init \
|
||||||
|
--topic "WoN Relation Graph" \
|
||||||
|
--domain "Systemic Modelling"
|
||||||
|
|
||||||
|
markitect infospace bind-discipline ../won-typed
|
||||||
|
|
||||||
|
# Layer 4 infospace — the core model:
|
||||||
|
mkdir ../won-core/
|
||||||
|
markitect infospace init \
|
||||||
|
--topic "WoN Core Model" \
|
||||||
|
--domain "Systemic Modelling"
|
||||||
|
|
||||||
|
markitect infospace bind-discipline ../won-relations
|
||||||
|
```
|
||||||
|
|
||||||
|
This structure makes every distillation decision auditable through git
|
||||||
|
history. A reclassification in L2 (an entity's type changes from Process
|
||||||
|
to Relation) propagates as a flag on dependent L3 triplets, which in turn
|
||||||
|
flags the L4 core model for re-evaluation.
|
||||||
|
|
||||||
|
The intellectual history of how a theory was extracted from a text, typed,
|
||||||
|
connected, and distilled to its minimal core is fully preserved — as a set
|
||||||
|
of git commits, each with a human-readable rationale.
|
||||||
|
|||||||
Reference in New Issue
Block a user