Commit 0521df9
committed
docs(architecture): ADR-0006 -- engine/hierarchy (current rank as capital + title)
Second of three interlocking engine ADRs (ADR-0005 heritage,
ADR-0006 hierarchy, ADR-0007 virtue pending).
Heritage names what the persona was formed into (the past field);
hierarchy names what the persona currently holds (the present
field). The wiring sentence:
"Personas carry heritage and hold hierarchy. Where the two meet
under pressure, virtue fires."
Hierarchy ships second because:
- It is downstream of heritage: capital positions consume
heritage's piece_*_capital.md files directly
- It is upstream of virtue: virtue fires on heritage x hierarchy
collisions and cannot be designed without both inputs locked
Decisions locked in this ADR:
1. Anchor flavour: position-anchor (position_hierarchy.md, HOLD)
Hierarchy is held, not run; the room reads it on entry.
2. Two position families:
Capital positions (6): dominant, established, ascending,
declining, excluded, misplaced
-- emergent rank, field-relative
Title positions (3): superior, peer, subordinate
-- assigned rank, field-agnostic at
the grammar level
3. Composition: hierarchy = capital_position(s) + title_position(s)
A persona may hold multiple of each simultaneously. Tension is
inherent (ascending capital + subordinate title = junior with
the room's attention; senior with no informal weight).
4. Invocation mode: global
Every persona is ranked in every scene. The specific positions
fired are field-relative; the invocation is not.
5. Sub-engine structure: 12 files total
Anchor (position): 1 HOLD
Capital positions: 6 HOLD
Title positions: 3 HOLD
Meta: 2 (README + REFERENCES)
No processes (rank is held; firing is stress + virtue territory).
No pieces (heritage owns the capital typology; hierarchy consumes).
Alternatives considered and rejected (full reasoning in the ADR):
- process_ranking.md anchor (rank is held, not run)
- One file per (capital, field) pair (combinatorial explosion)
- Single class of position (loses the emergent/assigned distinction)
- Title positions as references to engine/org's CVF positions
(CVF describes org TYPE, not persona STANDING in org)
- process_promotion.md / process_demotion.md (those are stress
and virtue territory)
- position_neutral.md (every persona has SOME capital
configuration; "neutral" in one field is excluded or
misplaced in another)
- Skipping the capital/title split (informal rank is real and
reading-dominant in many scenes)
Cross-engine references documented:
- engine/heritage/: capital positions consume the four
piece_*_capital files directly
- engine/org/: title positions reference process_operate_org
when the structure is an organisation
- engine/group/: hierarchy biases forming-stage role assignment
- engine/wow/: a persona's formation biases which capital
positions are most accessible in a given field
- engine/stress/: rank-vs-expectation gap triggers stress
responses
Open follow-ups (sequenced):
1. Engine implementation PR (~12 files, culture/engine branch)
Blocked on heritage landing on main so capital piece
references resolve.
2. instructions.md registry entry (hierarchy as global)
3. ADR-0007 + engine/virtue/ (composes heritage + hierarchy)
4. Per-persona hierarchy backfill alongside heritage backfill
5. Field registry (deferred until a consumer demands it)
6. Validator for hierarchy shape (optional governance after
per-persona backfill)
Files:
docs/architecture/adrs/0006-engine-hierarchy-bourdieu.md NEW
docs/architecture/README.md +1 line
Refs: #575 (hierarchy proposal), #568 (virtue, next),
#571 (heritage), ADR-0004 (engine anchor pattern),
ADR-0005 (heritage)1 parent d7ee5d1 commit 0521df9
3 files changed
Lines changed: 417 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| 216 | + | |
216 | 217 | | |
217 | 218 | | |
218 | 219 | | |
| |||
0 commit comments