markitect-main/markitect/infospace
tegwick 2d45425b25 feat(infospace): add L3 relation graph with VSM-aware triplets (S2.8)
Implements the L3 relation graph layer — a directed graph of (Subject,
Predicate, Object) triplets annotated with VSM channel codes and feedback
roles. Triplets are authored as markdown files under output/relations/,
parsed into RelationMeta dataclasses, and analysed with networkx.

New modules:
- markitect/infospace/relation_models.py — RelationMeta dataclass +
  RELATION_TYPES controlled vocabulary (15 relation classes → VSM codes)
- markitect/infospace/relation_parser.py — parse_relation_file() and
  parse_relations_directory()

New schema: examples/infospace-with-history/schemas/relation-schema-v1.0.md
  — file naming convention, required sections, controlled vocabulary table

15 seed relation files covering the three core WoN feedback loops:
  - Capital Accumulation loop (positive reinforcement, S1/S3)
  - Market Price Balancing loop (negative feedback, S2/S3)
  - Market Extent mutual dependency (S1/S2)
  Plus structural relations: wages regulation, rent residual, price
  decomposition, invisible hand coordination

CLI: markitect infospace relations [--entity SLUG] [--vsm FILTER]
     [--loops] [--stats]
  - Builds directed graph from parsed files
  - Detects feedback loops via nx.simple_cycles()
  - 6 loops found from 15 seed relations (3 intended + 3 emergent)
  - --stats aggregates by VSM system code (strips parentheticals)

Config: InfospaceConfig gains relations_dir (default output/relations)
infospace.yaml: schemas.relation references relation-schema-v1.0.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 06:04:28 +01:00
..
checks docs(metrics): clarify C2 coverage — domain×chapter matrix, not domain×VSM 2026-02-20 00:08:46 +01:00
__init__.py feat(infospace): add infospace configuration model and state (S2.1) 2026-02-19 01:44:14 +01:00
cli.py feat(infospace): add L3 relation graph with VSM-aware triplets (S2.8) 2026-02-23 06:04:28 +01:00
composition.py feat(infospace): add composition model for discipline binding (S2.6) 2026-02-19 02:03:54 +01:00
config.py feat(infospace): add L3 relation graph with VSM-aware triplets (S2.8) 2026-02-23 06:04:28 +01:00
entity_parser.py feat(example): add supply-chain-vsm composition demo (S3.5) 2026-02-23 00:08:51 +01:00
evaluate.py feat(infospace): add eval-summary command and improve evaluate pipeline (S3.3) 2026-02-23 01:26:45 +01:00
evaluation.py feat(infospace): add structured evaluation output with history and diffing (S1.5) 2026-02-19 01:35:22 +01:00
evaluation_io.py feat(infospace): add structured evaluation output with history and diffing (S1.5) 2026-02-19 01:35:22 +01:00
history.py feat(infospace): add eval-summary command and improve evaluate pipeline (S3.3) 2026-02-23 01:26:45 +01:00
models.py feat(infospace): add entity metadata parser (S1.1) 2026-02-19 00:27:45 +01:00
pipeline.py fix(pipeline): retry on all LLM errors (not just rate limits) 2026-02-19 20:32:23 +01:00
relation_models.py feat(infospace): add L3 relation graph with VSM-aware triplets (S2.8) 2026-02-23 06:04:28 +01:00
relation_parser.py feat(infospace): add L3 relation graph with VSM-aware triplets (S2.8) 2026-02-23 06:04:28 +01:00
schema.py feat(infospace): add schema compliance validator (S1.2) 2026-02-19 00:48:57 +01:00
state.py feat(infospace): add infospace configuration model and state (S2.1) 2026-02-19 01:44:14 +01:00
validator.py feat(infospace): add schema compliance validator (S1.2) 2026-02-19 00:48:57 +01:00