Files
markitect-main/examples/infospace-with-history/LAYERED-DEVELOPMENT.md
tegwick c861520ccd
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
docs(example): add layered development concept and extend tutorial
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>
2026-02-20 10:43:32 +01:00

410 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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) × (S1S5)
│ 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
3040 elements, 1525 relations, and 812 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 attributeobject
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: ~200500 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.