# Infospace Composition Guide One completed, viable infospace can be reused as a **discipline** for another infospace — a lens applied to a different topic. This guide explains how composition works and walks through the live `examples/supply-chain-vsm/` reference. --- ## What composition means An **infospace** is a directory of typed entities governed by `infospace.yaml`. Its entities and relations describe a specific topic (for example, Adam Smith's *Wealth of Nations*). A **discipline** is an infospace declared as a reusable analytical framework by another infospace. When infospace B binds infospace A as a discipline: 1. B's entities can reference A's entities in `## WoN Concept` (or equivalent) sections. 2. Properties A has already computed on its entities — such as VSM system placement — become available to B by transitivity through the mapping. 3. B can impose its own viability thresholds independently of A's. The two infospaces each pass or fail viability on their own terms. The binding is declarative: a relative path in `infospace.yaml` plus a display name. No code. No import. The discipline is looked up on disk at the declared path when B's commands run. --- ## The viability pre-condition Binding a non-viable infospace as a discipline is a mistake: a framework that fails its own thresholds is not a stable reference frame. Before binding, confirm the candidate discipline is viable: ```bash cd examples/infospace-with-history markitect infospace viability ``` ``` Metric Value Threshold Status --------------------------------------------------------------- redundancy_ratio 0.0061 max=0.1 PASS coverage_ratio 0.6190 min=0.4 PASS coherence_components 0.0000 max=3 PASS consistency_cycles 0.0000 max=0 PASS granularity_entropy 2.6748 min=1.0 PASS per_entity_mean 3.9556 min=3.5 PASS Viable: YES (6/6 thresholds met) ``` If the discipline is not viable, fix it first (see `examples/infospace-with-history/docs/advanced-usage.md` §4 for triaging low scorers). --- ## Example — how `supply-chain-vsm` binds WoN The supply-chain infospace declares WoN as a discipline in its `infospace.yaml`: ```yaml topic: name: "Modern Supply Chain Management" domain: "Operations Management" sources: artifacts/sources/ disciplines: - name: "Wealth of Nations" path: ../infospace-with-history ``` The binding is a **relative path**, so the two infospaces travel together (they can be moved as a pair without breaking the link). Verify the binding resolves and the discipline is viable: ```bash cd examples/supply-chain-vsm markitect infospace disciplines ``` ``` Name Entities Viable Path ---------------------------------------------------------------------- Wealth of Nations 988 YES ../infospace-with-history ``` Each supply-chain entity then carries a `## WoN Concept` section mapping it to exactly one WoN entity. The consolidated mapping files (`output/mappings/*-mappings.md`) record the pairing, rationale, and a conceptual-continuity rating (Strong / Moderate / Weak): | Supply Chain Entity | WoN Concept | Strength | VSM | |------------------------------|----------------------------------|----------|-------| | Demand Signal | Effectual Demand | Strong | S2 | | Vendor-Managed Inventory | Division of Labour | Strong | S1/S2 | | Just-in-Time Inventory | Circulating Capital | Strong | S1/S3 | | Bullwhip Effect | Natural Price as Central Price | Moderate | S2 | | Safety Stock | Accumulation of Stock | Moderate | S3 | Because each WoN entity already has a VSM system placement (S1–S5), the supply-chain entities inherit a VSM position by transitivity through their mapping — without supply-chain-vsm needing its own VSM reference. --- ## Creating a new infospace that binds an existing one Step-by-step, using WoN as the discipline for a hypothetical "Modern Monetary Policy" infospace: ### 1. Start from the target topic ```bash mkdir -p examples/monetary-policy/artifacts/sources cd examples/monetary-policy markitect infospace init ``` ### 2. Declare the discipline in `infospace.yaml` ```yaml topic: name: "Modern Monetary Policy" domain: "Macroeconomics" sources: artifacts/sources/ disciplines: - name: "Wealth of Nations" path: ../infospace-with-history ``` Alternatively, bind imperatively after `init`: ```bash markitect infospace bind-discipline ../infospace-with-history --name "Wealth of Nations" ``` ### 3. Set your own viability thresholds Copy the `viability:` block from a reference infospace and tune the numbers to the scale and maturity of your topic. A smaller infospace (50 entities, not 988) may need laxer `coverage_ratio` and stricter `redundancy_ratio`. ### 4. Verify the binding ```bash markitect infospace disciplines ``` If `Viable` is `NO`, stop and fix the discipline before continuing. ### 5. Reference discipline entities in your own entities For each entity in the new infospace, add a `## Concept` section that names the WoN entity the concept maps to, plus a rationale. The exact section heading is configured per schema — see `schemas/won-mapping-schema-v1.0.md` in `supply-chain-vsm` for the template used there. ### 6. Run checks and evaluate ```bash markitect infospace check markitect infospace evaluate --provider openrouter markitect infospace eval-summary --update-metrics markitect infospace viability ``` The new infospace passes or fails viability independently of WoN. --- ## Why composition, not inclusion? An alternative would be to copy WoN entities directly into the target infospace. Composition avoids that by design: - **One source of truth** — if WoN is refined, every infospace that binds it picks up the improvement on the next run without a sync step. - **Separation of concerns** — each infospace owns its own schema, thresholds, and entity set. Changing the target topic cannot pollute the discipline. - **Bounded dependency** — the binding is a path, so the coupling is visible in one place (`infospace.yaml`) and easy to remove. --- ## See also - `examples/supply-chain-vsm/README.md` — the full reference composition. - `examples/supply-chain-vsm/output/mappings/` — consolidated mapping files showing the rationale and strength rating for each pairing. - `examples/infospace-with-history/docs/advanced-usage.md` — patterns for maintaining the discipline once it is in use.