dispositorship_method_matrix - TheDaniel166/moira GitHub Wiki
Dispositorship Method Matrix
Purpose
This document defines the pre-constitutional method matrix and result ontology for Moira's dispositorship subsystem.
It exists to prevent later dispositorship phases from drifting into category confusion, especially around:
- what counts as a method family
- what counts as a traversal termination
- what counts as a component-level structure
- what counts as a chart-level summary
Before Moira expands dispositorship beyond its current Phase 1 implementation, it must state clearly:
- how many method families are currently real
- which method families are plausible later candidates
- which combinations are legitimate, incoherent, or deferred
- which result classes belong to local traversal truth
- which belong to higher-order structural summary
This document is therefore pre-constitutional architecture doctrine. It is not an API contract and not yet a backend standard.
Foundational Thesis
The dispositorship subsystem must distinguish four different kinds of thing:
- method families
- policy axes
- traversal result classes
- higher-order structural summaries
If Moira mixes those categories, the subsystem will become difficult to extend without semantic drift.
The key discipline is:
- methods define what kind of dispositorship is being computed
- policy axes define how one method family is parameterized
- termination kinds define what happened to one traversal
- summary layers define what the graph looks like as a whole
Current Practical Count
Implemented Method Family Count
Moira currently has:
- 1 implemented method family
That family is:
domicile_sign_rulership
This corresponds to:
- sign-based dispositorship
- traditional domicile rulership
CLASSIC_7subject scope- explicit terminal classification
Plausible Long-Term Method Family Count
Moira may eventually support:
- 3 major method families
They are:
domicile_sign_rulershipextended_essential_dignitymodern_or_dual_rulership
This is the practical count at the level of method families, not the count of all possible policy combinations.
Method Family Definitions
1. domicile_sign_rulership
This is the current foundational family.
Definition:
- dispositorship is derived from sign occupancy
- the ruler is determined by domicile rulership
Phase 1 current implementation:
- subject set:
CLASSIC_7 - rulership doctrine: traditional domicile
- basis: domicile only
This family is:
- legitimate
- implemented
- architecturally foundational
2. extended_essential_dignity
This is the family where dispositorship expands beyond domicile sign rulership into explicitly named essential-dignity bases.
Potential members may include:
- exaltation dispositorship
- triplicity dispositorship
- term/bound dispositorship
- face/decan dispositorship
- named combinations of these
This family is:
- potentially legitimate
- not yet implemented
- constitutionally deferred until each basis is defined explicitly
It must not be introduced as a vague "expanded dispositorship" toggle.
3. modern_or_dual_rulership
This is the family where subject participation and/or rulership topology expand beyond the classical traditional system.
Potential members may include:
- modern domicile rulership
- hybrid domicile rulership
- dual-rulership doctrines
This family is:
- potentially legitimate
- not yet implemented
- constitutionally deferred until each doctrine is named and bounded
It must not be introduced through ambient outer-planet admission.
Policy Axes
Method families are not the same thing as policy axes.
Policy axes are the dimensions along which a given family may be parameterized.
Axis 1: subject_policy
Defines:
- who may participate as graph subjects
Examples:
- classical only
- classical plus outers
- broader mixed body sets
Axis 2: rulership_policy
Defines:
- who rules what sign under the active method
Examples:
- traditional domicile
- modern domicile
- hybrid domicile
Axis 3: basis_policy
Defines:
- which dispositorship basis is being computed
Examples:
- domicile
- exaltation
- triplicity
- term
- face
Axis 4: termination_policy
Defines:
- what counts as final, cyclic, or unresolved under the method
Phase 1 stance:
- final dispositor requires self-domicile
- cycles are terminal
Axis 5: unsupported_subject_policy
Defines:
- how out-of-scope bodies are treated
Examples:
- ignore
- reject
- segregate
These axes are real, but they do not each define a new method family by themselves.
Structural Modes
The subsystem also has structural modes that are not themselves method families.
1. Single-Profile Mode
Computes:
- one dispositorship profile under one selected doctrine policy
2. Comparative-Bundle Mode
Computes:
- multiple doctrine-specific dispositorship profiles side by side
These are computation modes, not doctrine families.
Method Matrix
The practical method matrix can be described as follows.
| Method family | Core idea | Current status | Notes |
|---|---|---|---|
domicile_sign_rulership |
sign-based dispositorship by domicile rulership | implemented | current Phase 1 family |
extended_essential_dignity |
dispositorship by non-domicile essential dignities or named dignity combinations | deferred | requires explicit doctrine per basis |
modern_or_dual_rulership |
dispositorship under modern, hybrid, or dual sign-rulership topologies | deferred | requires named rulership doctrines |
Legitimacy Classes
Not every future combination is equally acceptable.
Moira should classify candidate combinations into:
- legitimate
- incoherent
- deferred
Legitimate
A combination is legitimate when it is:
- internally coherent
- doctrine-nameable
- computationally explicit
- inspectable without ambiguity
Examples:
- classical subject set + traditional domicile rulership + domicile basis
- broader modern subject set + modern domicile rulership + domicile basis
- doctrine-specific comparative bundle over two already-legitimate profiles
Incoherent
A combination is incoherent when it:
- silently mixes incompatible assumptions
- allows one policy choice to imply another implicitly
- produces a graph whose doctrinal identity is unclear
Examples:
- "include outers" while leaving rulership doctrine ambient
- hidden switching between traditional and modern rulers in one traversal
- one result surface combining domicile and exaltation dispositorship without naming the method
Deferred
A combination is deferred when it:
- might be legitimate later
- but has not yet been doctrinally frozen
Examples:
- full dignity-stack dispositorship
- hybrid dual-rulership systems without a named doctrine
- non-planetary mixed dispositorship families
Result Ontology
The dispositorship subsystem must keep local traversal truth separate from higher-order graph structure.
This is the core ontological rule of the subsystem.
Per-Subject Layer
This is the level of one dispositorship traversal from one initial subject.
The key field here is:
termination_kind
Allowed termination_kind values
final_dispositorterminal_cycleunresolved
These answer the question:
- what happened when this chain was followed?
They are local traversal outcomes.
They are not chart-level graph summaries.
Per-Component Layer
This is the level of one connected dispositorship component under the active policy.
The key field here should be something like:
terminal_signature
This answers questions such as:
- does this component terminate in one final dispositor?
- does it terminate in a cycle?
- is it mixed or unresolved?
This is where terminal attractor structure belongs if Moira later chooses to formalize components explicitly.
Chart-Wide Layer
This is the level of the chart-wide dispositorship structure.
The chart-wide layer should preserve explicit summary metrics rather than inventing new pseudo-termination kinds.
Recommended chart-wide summary fields include:
final_dispositor_countcycle_countunresolved_countcomponent_counthas_mixed_terminals
These answer:
- what is the global shape of dispositorship in this chart?
This is where "multiple" language properly belongs.
Why multiple_roots Is Not A Primary Termination Kind
multiple_roots is not naturally a peer to:
final_dispositorterminal_cycleunresolved
Why:
- those three describe the outcome of one traversal
multiple_rootsusually describes a global graph condition
So unless Moira first defines root very strictly in graph-theoretic terms,
multiple_roots should not appear as a sibling in the primary termination
enum.
If Moira later defines:
- root = terminal attractor of a dispositorship component under the active policy
then it may derive chart-wide summary metrics such as:
one_rootmultiple_rootszero_roots
But even then, those should remain summary metrics, not primary traversal termination kinds.
Recommended Vocabulary
Moira should prefer the following layered vocabulary.
For one subject
termination_kind
For one component
terminal_signature
For one chart
final_dispositor_countcycle_countunresolved_countcomponent_counthas_mixed_terminals
If Moira ever needs a "multiple" phrase, better options are:
- multiple terminal endpoints
- multiple terminal components
- mixed terminal structure
These are cleaner than using multiple_roots loosely.
Recommended Architectural Count
The practical architectural count for Moira is therefore:
- method families now: 1
- probable long-term method families: 3
- primary termination kinds: 3
- higher-order summary layers: 2
- component-level
- chart-level
This is the cleanest count that preserves ontological separation.
Final Recommendation
Moira should freeze the dispositorship method matrix and result ontology as follows:
- treat
domicile_sign_rulershipas the sole implemented method family - treat
extended_essential_dignityandmodern_or_dual_rulershipas later doctrine families, not loose feature toggles - keep
termination_kindstrictly local to one traversal - keep component structure separate from chart-wide summary
- forbid loose use of
multiple_rootsas a peer termination class
If Moira holds this distinction firmly now, later dispositorship phases can expand substantially without becoming semantically unstable.