Skip to content

Cross-space references: linking entities across schemas and spaces #8

@mindsocket

Description

@mindsocket

Background

Originally framed as "compound OSTs" for org/product/team matrix hierarchies, this issue is now better understood as a broader question: how should entities in one space reference or relate to entities in another space?

The matrix cascade use case (an org strategy space laddering into a team opportunity space) is one instance of a more general need. A goal space may reference a strategy space. A delivery space may plug into an opportunity space. A landscape or context space may serve as shared background for multiple other spaces.

See also #48 for the framing of context trees as durable structures that carry organizational meaning — the cross-space linking question is partly about how those structures interrelate.

Original motivation (still valid)

Cutler points out that organizational operating systems have "matrix cascades": a business unit's goal stack doesn't just ladder up to the org strategy — it has connections across to the BU strategy, possibly something else entirely. Some relationships are up/down ladders; others are zoom in/out; others link across context.

A flat forest of trees is wrong (disconnected). Fractal doesn't quite fit either. What's needed is a way to express directed relationships between entities that live in different spaces, which may have different schemas.

Generalised framing

Three overlapping cases:

  1. Same schema, multiple instances (original case): an org, business unit, and team each run the same schema but their nodes relate to each other — e.g. a team goal rolls up to a BU goal. This is a space configuration question: how to declare that space A's goal type links to space B's goal type.

  2. Different schemas, related entity types: a solution in an opportunity space links to a ticket or epic in a delivery space. The schemas are different, but the relationship is meaningful and worth capturing.

  3. Context or landscape spaces as shared anchors: a shared strategy space, product taxonomy, or capability map that multiple other spaces reference. This is Cutler's "context tree" use case directly — the durable background structure that other spaces connect into.

What this probably looks like

This is a layer above individual schemas — either:

  • Multi-space configuration: space config declares inter-space link fields and which remote space/type they resolve to
  • Composite schemas: a schema that declares relationships between two complete schemas (as opposed to partial $ref composition within a single schema, which is more of a current convention)
  • Or both, at different layers of formality

The current $ref composition model (schema built from partials) handles intra-schema building blocks. Cross-space references are an inter-schema / inter-space concern and likely need separate tooling support.

Open questions

  • Where does the cross-space link declaration live? (space config, a top-level multi-space config, or in the schema itself?)
  • How are dangling cross-space wikilinks validated? (requires loading both spaces at validation time)
  • Should this be resolved at schema level (composite schema) or at runtime (multi-space validation mode)?
  • How does this interact with the show command and Miro sync?

Relates to

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions