--- id: IB-WP-0007 type: workplan title: "Entity And Relation Model Migration" domain: markitect repo: infospace-bench status: completed owner: markitect topic_slug: markitect created: "2026-05-14" updated: "2026-05-14" state_hub_workstream_slug: "ib-wp-0007-entity-relation-model-migration" state_hub_workstream_id: "3f6f17c9-bf50-4297-9bd5-cbe1e33efa76" --- # IB-WP-0007 — Entity And Relation Model Migration ## Goal Reintroduce the old infospace entity and relation semantics as application-level models on top of `markitect-tool` parsing. ## Tasks ### T01 — Define entity model ```task id: IB-WP-0007-T01 status: done priority: high state_hub_task_id: "d6c401be-ada6-4684-9186-8ae35101bfa8" ``` - Reimplement the useful `EntityMeta` fields from `markitect-project` - Keep source provenance and artifact ID linkage explicit - Add fixtures from a small legacy-style entity document ### T02 — Parse entities from artifacts ```task id: IB-WP-0007-T02 status: done priority: high state_hub_task_id: "25e42321-33fe-4b84-8e95-c5308d91ad3b" ``` - Parse entity documents via `markitect-tool` sections - Extract title, definition, context, domain, source grounding, and section slugs - Return structured diagnostics for missing required sections ### T03 — Define and parse relation model ```task id: IB-WP-0007-T03 status: done priority: high state_hub_task_id: "845a8ea0-50d8-4dd3-8cc3-23717195ae6f" ``` - Reimplement relation triplet concepts: subject, predicate, object, relation type, evidence, feedback role - Link relation endpoints to artifact/entity IDs - Add tests for relation parsing and endpoint validation ### T04 — Manifest integration ```task id: IB-WP-0007-T04 status: done priority: medium state_hub_task_id: "155028a2-4df7-4144-9193-74e95f6e51b1" ``` - Decide how entity and relation artifacts appear in `artifacts/index.yaml` - Support listing entities and relations from an infospace - Document the application-level model ## Acceptance - Legacy-style entity and relation fixtures parse successfully - Missing required sections fail visibly - `infospace-bench` owns semantics while `markitect-tool` owns Markdown structure