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:
-
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.
-
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.
-
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
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:
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
goaltype links to space B'sgoaltype.Different schemas, related entity types: a
solutionin an opportunity space links to aticketorepicin a delivery space. The schemas are different, but the relationship is meaningful and worth capturing.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:
$refcomposition within a single schema, which is more of a current convention)The current
$refcomposition 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
showcommand and Miro sync?Relates to