@nestr/mcp 0.1.46 → 0.1.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/api/client.d.ts +2 -0
- package/build/api/client.d.ts.map +1 -1
- package/build/api/client.js +4 -0
- package/build/api/client.js.map +1 -1
- package/build/server.d.ts.map +1 -1
- package/build/server.js +81 -5
- package/build/server.js.map +1 -1
- package/build/skills/doing-work.d.ts.map +1 -1
- package/build/skills/doing-work.js +62 -137
- package/build/skills/doing-work.js.map +1 -1
- package/build/skills/tension-processing.d.ts.map +1 -1
- package/build/skills/tension-processing.js +75 -181
- package/build/skills/tension-processing.js.map +1 -1
- package/build/skills/workspace-setup.d.ts.map +1 -1
- package/build/skills/workspace-setup.js +58 -138
- package/build/skills/workspace-setup.js.map +1 -1
- package/build/tools/index.d.ts +64 -10
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +121 -18
- package/build/tools/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
export const TENSION_PROCESSING_INSTRUCTIONS = `
|
|
9
9
|
### Listening for Tensions
|
|
10
10
|
|
|
11
|
-
Tensions are always sensed by a person or agent first — they begin as a felt experience before they become organizational communication.
|
|
11
|
+
Tensions are always sensed by a person or agent first — they begin as a felt experience before they become organizational communication. Without someone *feeling* the gap between reality and potential, no organizational change can begin.
|
|
12
12
|
|
|
13
|
-
**In assistant mode:** Help people move from *feeling* to *recognizing* their tensions.
|
|
13
|
+
**In assistant mode:** Help people move from *feeling* to *recognizing* their tensions. Frustration, excitement, confusion, repeated complaints, or vague unease are all signals. Reflect it back: "It sounds like you're sensing a gap between [current reality] and [what could be]. Am I reading that right?" If confirmed, help them *identify* the right context and offer processing pathways. Encourage capturing raw feelings without editing — premature filtering loses signal.
|
|
14
14
|
|
|
15
15
|
**In role-filler mode:** Tune into tensions both reactively and proactively:
|
|
16
|
-
- **Reactive**: Notice gaps, friction, or unmet needs
|
|
17
|
-
- **Proactive**: Regularly review your roles' accountabilities and purpose. For each accountability
|
|
16
|
+
- **Reactive**: Notice gaps, friction, or unmet needs during your work. Capture immediately without filtering.
|
|
17
|
+
- **Proactive**: Regularly review your roles' accountabilities and purpose. For each accountability: "Is this translating into concrete projects? Is it clear enough?" For each purpose: "Is there a project advancing this?" This surfaces structural tensions you might not *feel* but that exist.
|
|
18
18
|
|
|
19
|
-
**Check tensions at natural breakpoints** (assistant and role-filler modes): At session start and after completing work, use \`nestr_list_my_tensions\`
|
|
19
|
+
**Check tensions at natural breakpoints** (assistant and role-filler modes): At session start and after completing work, use \`nestr_list_my_tensions\` and \`nestr_list_tensions_awaiting_consent\`. In assistant mode, present for review. In role-filler mode, process directly.
|
|
20
20
|
|
|
21
|
-
**Hold each other accountable:** When someone expresses frustration
|
|
21
|
+
**Hold each other accountable:** When someone expresses frustration without framing it as a tension, redirect: "Sounds like a tension! Would you like to capture it?"
|
|
22
22
|
|
|
23
23
|
## Tensions — The Event Bus for Collaboration
|
|
24
24
|
|
|
@@ -28,173 +28,121 @@ Tensions are THE fundamental communication mechanism between roles, between huma
|
|
|
28
28
|
|
|
29
29
|
### Tension Lifecycle: Feel → Recognize → Identify → Process → Act
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
1. **Feel** — A person or agent senses something: frustration, excitement, confusion, or simply noticing a gap. Raw and unfiltered; belongs to the individual, not the organization yet.
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
2. **Recognize** — Capture the feeling without editing. One feeling can produce MULTIPLE tensions across different roles and contexts. For example, frustration about a colleague's behavior might surface: (a) a governance tension about unclear accountability, (b) an operational tension about a missed deadline, (c) a personal tension about your own reaction. Capture all separately.
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
3. **Identify** — The bridge from individual to collaborative. Each tension needs its organizational home. Use the question tree (see Identifying the Right Context) to route it.
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
4. **Process** — Anchor in the affected role and use the 5 Processing Pathways. Frame as: "My [role] needs [outcome] so that [the tension is resolved]." Identify the next physical action.
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
5. **Act** — Prioritize and execute. The tension moves from felt experience to organizational change.
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
**In assistant mode**, your primary value is helping people through phases 1-3 — most people struggle to separate feeling from identifying, and they often blend multiple tensions into one messy proposal. **In role-filler mode**, you move through all five phases autonomously, with special attention to proactive tension discovery (reviewing your roles' accountabilities and purpose to surface structural tensions you might not *feel* but that exist).
|
|
41
|
+
**In assistant mode**, help people through phases 1-3 — most struggle to separate feeling from identifying. **In role-filler mode**, move through all five phases autonomously.
|
|
44
42
|
|
|
45
43
|
### Tensions as Wisdom
|
|
46
44
|
|
|
47
|
-
Tensions — including conflicts,
|
|
48
|
-
|
|
49
|
-
**Lean in, don't smooth over.** When you detect friction, disagreement, or opposing perspectives — whether between people, between roles, or even within a single person or agent holding competing priorities — dig deeper rather than retreating to safe platitudes. Ask: *What do you care about here? What need is driving this? What is this polarity telling us about how to better serve purpose?* Every side of a polarity holds wisdom. Premature compromise between opposing perspectives is a loss to organizational purpose — it collapses the creative tension before the insight has been extracted.
|
|
50
|
-
|
|
51
|
-
**This applies to agents too.** When a role-filler agent holds competing priorities (e.g., speed vs. quality, short-term delivery vs. long-term sustainability), resist premature resolution. Surface both sides explicitly, examine what each serves, and let the tension inform a better decision rather than defaulting to the path of least resistance.
|
|
45
|
+
Tensions — including conflicts, friction, disagreements, but equally opportunities, excitement, and creative impulses — carry tremendous information about how to serve purpose. The societal bias towards superficial harmony leads people to sidestep disagreements. The result: purpose is compromised to avoid discomfort.
|
|
52
46
|
|
|
53
|
-
**
|
|
47
|
+
**Lean in, don't smooth over.** When you detect friction or opposing perspectives, dig deeper: *What do you care about here? What need is driving this?* Every side of a polarity holds wisdom. Premature compromise collapses creative tension before insight is extracted. This applies to agents too — when holding competing priorities, surface both sides explicitly rather than defaulting to least resistance.
|
|
54
48
|
|
|
55
|
-
**
|
|
49
|
+
**Watch for avoidance patterns:** not asking a colleague to take on role work because they look stressed, softening feedback, dropping a governance proposal to avoid friction. These signal interpersonal dynamics compromising purpose.
|
|
56
50
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
51
|
+
**The interpersonal context switch.** When someone can no longer fully show up in their role due to interpersonal friction:
|
|
52
|
+
1. **Check in:** "Are you able to fully energize your roles right now, or is something restraining you?"
|
|
53
|
+
2. **Suggest switching** to the community/interpersonal heartbeat to navigate the polarity before resuming operational or governance work.
|
|
54
|
+
3. **Support establishing process** if none exists for navigating interpersonal friction — this is itself a governance tension.
|
|
55
|
+
4. **Return to purpose** once the interpersonal work has been sufficiently navigated.
|
|
61
56
|
|
|
62
57
|
### Tension Anatomy
|
|
63
58
|
|
|
64
59
|
A tension has several parts, designed to separate what humans naturally blend together:
|
|
65
60
|
|
|
66
|
-
- **Title** — The gap
|
|
67
|
-
- **Description** —
|
|
68
|
-
- **\`fields['tension.feeling']\`** — The feeling this evokes. Separated from
|
|
69
|
-
- **\`fields['tension.needs']\`** — The need that is alive.
|
|
70
|
-
- **Placement** — Where a tension lives determines its source
|
|
71
|
-
- **On a role**: The role
|
|
72
|
-
- **On a circle**:
|
|
61
|
+
- **Title** — The gap: difference between current reality and desired state.
|
|
62
|
+
- **Description** — Observable facts: what you see, hear, or experience.
|
|
63
|
+
- **\`fields['tension.feeling']\`** — The feeling this evokes. Separated from facts to keep the organizational response focused on what the role/organization actually needs.
|
|
64
|
+
- **\`fields['tension.needs']\`** — The need that is alive. Naming needs explicitly prevents them from unconsciously shaping the proposed solution.
|
|
65
|
+
- **Placement** — Where a tension lives determines its source:
|
|
66
|
+
- **On a role**: The role senses the tension. Use the role's ID as \`nestId\`.
|
|
67
|
+
- **On a circle**: Cross-role, governance, or personally sensed. For personal tensions (not from a role), add the \`individual-action\` label.
|
|
73
68
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
**In role-filler mode**, the feeling/needs fields can be used to express organizational impact and unmet organizational needs rather than personal emotions. For example: feeling → "This is creating friction in our delivery pipeline"; needs → "Predictable deployment cadence for downstream roles." Focus on observable facts and frame needs in terms of purpose-serving.
|
|
69
|
+
**In role-filler mode**, use feeling/needs for organizational impact: feeling → "This is creating friction in our delivery pipeline"; needs → "Predictable deployment cadence for downstream roles."
|
|
77
70
|
|
|
78
71
|
### Identifying the Right Context
|
|
79
72
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
1. **Does one of MY roles care?** → Create the tension on that role (\`nestId\` = roleId). This anchors the tension to the role that is sensing it. Then process it: create work, update projects, or if it requires another role's involvement, the tension is visible from your role's context.
|
|
83
|
-
2. **Does ANOTHER role in my circle care?** → Create a tension on the circle directed at that role.
|
|
84
|
-
3. **Does my CIRCLE care (but no specific role)?** → The work may need a new role or accountability — create a governance tension on the circle.
|
|
85
|
-
4. **Does the BROADER ORGANIZATION care?** → Escalate: create a tension on the super-circle or anchor circle.
|
|
86
|
-
5. **Is this PERSONAL (not from a role)?** → Create the tension on the circle with the \`individual-action\` label. This signals it comes from you as a person, not from any role you fill.
|
|
87
|
-
6. **None of the above?** → Let it go. Not every feeling needs to become organizational work.
|
|
73
|
+
Walk through this question tree for each captured tension:
|
|
88
74
|
|
|
89
|
-
**
|
|
75
|
+
1. **Does one of MY roles care?** → Create on that role (\`nestId\` = roleId). Then process it.
|
|
76
|
+
2. **Does ANOTHER role in my circle care?** → Create on the circle directed at that role.
|
|
77
|
+
3. **Does my CIRCLE care (no specific role)?** → Governance tension on the circle.
|
|
78
|
+
4. **Does the BROADER ORGANIZATION care?** → Escalate to super-circle or anchor circle.
|
|
79
|
+
5. **Is this PERSONAL (not from a role)?** → Create on the circle with \`individual-action\` label.
|
|
80
|
+
6. **None of the above?** → Let it go.
|
|
90
81
|
|
|
91
82
|
### Anchoring in the Affected Role
|
|
92
83
|
|
|
93
|
-
|
|
84
|
+
Frame every tension as: "My **[role]** needs **[outcome]** so that **[the tension is resolved]**." This forces clarity and prevents vague tensions like "we should improve communication" — producing actionable ones like "My Sales Lead role needs weekly pipeline updates from the Marketing Analyst so that I can forecast revenue accurately."
|
|
94
85
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
This forces clarity about: which role cares, what it needs, and why. It prevents vague tensions like "we should improve communication" and produces actionable ones like "My Sales Lead role needs weekly pipeline updates from the Marketing Analyst so that I can forecast revenue accurately."
|
|
98
|
-
|
|
99
|
-
Then identify the **next physical action** — the single concrete step that moves this forward. Not a plan, not a strategy — the very next thing to do.
|
|
86
|
+
Then identify the **next physical action** — the very next concrete step.
|
|
100
87
|
|
|
101
88
|
### 5 Processing Pathways
|
|
102
89
|
|
|
103
|
-
|
|
90
|
+
1. **Request information** — "I need to understand X to do my work."
|
|
91
|
+
2. **Share information** — "You need to know X to do your work."
|
|
92
|
+
3. **Request outcome/project** — "I need X to be achieved."
|
|
93
|
+
4. **Request action/task** — "I need you to do X."
|
|
94
|
+
5. **Set expectation/governance** — "We need ongoing clarity about X." → Proposes structural change.
|
|
104
95
|
|
|
105
|
-
|
|
106
|
-
2. **Share information** — "You need to know X to do your work." → Proactively provides context to another role.
|
|
107
|
-
3. **Request outcome/project** — "I need X to be achieved." → Requests a project or outcome from another role.
|
|
108
|
-
4. **Request action/task** — "I need you to do X." → Requests a specific next action from another role.
|
|
109
|
-
5. **Set expectation/governance** — "We need ongoing clarity about X." → Proposes a structural change: new role, accountability, domain, policy, or circle.
|
|
96
|
+
**Directing output:** For pathways 1-4, include the target userId in the tension part's \`users\` field.
|
|
110
97
|
|
|
111
|
-
**
|
|
98
|
+
**Bias towards minimal output.** 1-2 outputs per tension. More likely means blended tensions — separate them.
|
|
112
99
|
|
|
113
|
-
**
|
|
114
|
-
|
|
115
|
-
**Governance must be separate.** If a tension has both operational outputs (pathways 1-4) AND governance needs (pathway 5), process the operational work in the original tension and create a NEW tension for the governance proposal. This honors the Integrative Decision Making (IDM) process — governance proposals deserve their own dedicated processing space.
|
|
100
|
+
**Governance must be separate.** If a tension has both operational (pathways 1-4) AND governance needs (pathway 5), process operational work in the original tension and create a NEW tension for the governance proposal.
|
|
116
101
|
|
|
117
102
|
### When to Use Tensions vs Nest Tools
|
|
118
103
|
|
|
119
|
-
|
|
120
|
-
- ALL inter-role communication (requesting/sharing info, requesting work, governance changes)
|
|
121
|
-
- Proposing governance changes: new roles, circles, accountabilities, domains, or policies
|
|
122
|
-
- Processing elections (assigning someone to a role via a formal proposal)
|
|
123
|
-
- Any change that should go through the consent/voting process
|
|
124
|
-
|
|
125
|
-
Use **regular nest tools** (\`nestr_create_nest\`, \`nestr_update_nest\`) for:
|
|
126
|
-
- Intra-role operational work: tasks, projects, actions within YOUR OWN roles
|
|
127
|
-
- Direct updates that don't require consent (e.g., updating your own role's projects)
|
|
104
|
+
**Tension tools** (\`nestr_create_tension\`, \`nestr_add_tension_part\`, etc.): ALL inter-role communication, governance proposals, elections, anything requiring consent.
|
|
128
105
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
Proactively check for tensions at natural breakpoints (assistant and role-filler modes — not available in workspace mode):
|
|
132
|
-
- **Session start** — Use \`nestr_list_my_tensions\` and \`nestr_list_tensions_awaiting_consent\`
|
|
133
|
-
- **After completing work** — Check if new tensions have emerged or existing ones need attention
|
|
134
|
-
- **Assistant mode**: When the user asks what to do, surface pending tensions for review
|
|
135
|
-
- **Role-filler mode**: Process tensions proactively at regular intervals, don't wait to be prompted
|
|
136
|
-
|
|
137
|
-
### Reactive vs Proactive Tensions
|
|
138
|
-
|
|
139
|
-
**Reactive tensions** arise from felt experience — something happens and you notice a gap. These start at the *Feel* phase of the lifecycle: frustration about a missed deadline, excitement about an opportunity, confusion about accountability boundaries. The key practice is to capture the raw feeling without editing, then work through Recognize → Identify → Process → Act.
|
|
140
|
-
|
|
141
|
-
**Proactive tensions** arise from deliberately reviewing your roles. Rather than waiting to *feel* something, you systematically examine each role you energize:
|
|
142
|
-
- **For each accountability**: Is it translating into concrete projects and actions? Is the wording clear enough that another person or agent could take over?
|
|
143
|
-
- **For the role's purpose**: Is there an active project that directly advances this purpose? If not, that's a tension.
|
|
144
|
-
- **For role identity**: Am I doing work outside this role's scope? Am I neglecting work that IS in scope?
|
|
145
|
-
- **For vague accountabilities**: Any accountability that uses words like "ensure", "manage", or "oversee" without specifics is likely too vague — that's a governance tension.
|
|
146
|
-
|
|
147
|
-
**In assistant mode**, help users do both: recognize reactive tensions from their emotional signals, and guide them through proactive role reviews. **In role-filler mode**, build proactive tension discovery into your regular rhythm — it's how you keep your roles healthy and effective.
|
|
106
|
+
**Nest tools** (\`nestr_create_nest\`, \`nestr_update_nest\`): Intra-role operational work — tasks, projects, actions within YOUR OWN roles.
|
|
148
107
|
|
|
149
108
|
### Tension Workflow
|
|
150
109
|
|
|
151
|
-
1. **Create
|
|
110
|
+
1. **Create** on the sensing role or circle: \`nestr_create_tension\` with title, optional \`feeling\` and \`needs\`. For personal tensions, add \`individual-action\` label.
|
|
152
111
|
|
|
153
|
-
2. **Add proposal parts**
|
|
154
|
-
- **New governance item**:
|
|
155
|
-
- **Change existing item**:
|
|
156
|
-
- **Remove existing item**: Use \`nestr_remove_tension_part
|
|
112
|
+
2. **Add proposal parts** via \`nestr_add_tension_part\`:
|
|
113
|
+
- **New governance item**: title + labels (e.g., \`["role"]\`). For roles, include accountabilities/domains as bulk shorthand.
|
|
114
|
+
- **Change existing item**: \`_id\` of existing item + fields to change. Existing children auto-copied if accountabilities/domains not provided.
|
|
115
|
+
- **Remove existing item**: Use \`nestr_remove_tension_part\`.
|
|
157
116
|
|
|
158
|
-
3. **Manage children individually** (optional):
|
|
159
|
-
- \`nestr_get_tension_part_children\` — List auto-copied accountabilities/domains
|
|
160
|
-
- \`nestr_create_tension_part_child\` — Add a new accountability/domain
|
|
161
|
-
- \`nestr_update_tension_part_child\` — Rename an existing one
|
|
162
|
-
- \`nestr_delete_tension_part_child\` — Soft-delete one (removed from role when enacted)
|
|
117
|
+
3. **Manage children individually** (optional): \`nestr_get_tension_part_children\`, \`nestr_create_tension_part_child\`, \`nestr_update_tension_part_child\`, \`nestr_delete_tension_part_child\`.
|
|
163
118
|
|
|
164
|
-
4. **Review changes** with \`nestr_get_tension_changes
|
|
119
|
+
4. **Review changes** with \`nestr_get_tension_changes\`.
|
|
165
120
|
|
|
166
|
-
5. **Submit for voting
|
|
121
|
+
5. **Submit for voting**: \`nestr_update_tension_status\` → \`"proposed"\`.
|
|
167
122
|
|
|
168
|
-
6. **Monitor
|
|
123
|
+
6. **Monitor**: \`nestr_get_tension_status\`.
|
|
169
124
|
|
|
170
125
|
### Elections
|
|
171
126
|
|
|
172
|
-
Elections
|
|
173
|
-
|
|
174
|
-
1. Create a tension on the circle (e.g., "Elect Alice as Facilitator")
|
|
175
|
-
2. Add a part with the role's \`_id\` and \`users: ["newUserId"]\` to propose the assignment
|
|
176
|
-
3. Optionally set a \`due\` date for the re-election date
|
|
177
|
-
4. Submit for consent like any other governance proposal
|
|
127
|
+
Elections are governance proposals: create tension on circle, add part with role's \`_id\` and \`users: ["newUserId"]\`, optionally set \`due\` for re-election date, submit for consent.
|
|
178
128
|
|
|
179
129
|
### Questions and Reactions
|
|
180
130
|
|
|
181
|
-
|
|
131
|
+
Use \`nestr_add_comment\`/\`nestr_get_comments\` with the tension's nest ID for discussion. Comments are visible to all circle members.
|
|
182
132
|
|
|
183
133
|
### Examples
|
|
184
134
|
|
|
185
|
-
**Requesting work from another role (pathway 3
|
|
135
|
+
**Requesting work from another role (pathway 3):**
|
|
186
136
|
\`\`\`
|
|
187
|
-
// Place on the Sales Lead role — that role is sensing this tension
|
|
188
137
|
nestr_create_tension(salesLeadRoleId, {
|
|
189
138
|
title: "Our clients can't access their data in a format they need",
|
|
190
|
-
description: "Three enterprise clients have asked for MongoDB access this quarter.
|
|
139
|
+
description: "Three enterprise clients have asked for MongoDB access this quarter.",
|
|
191
140
|
feeling: "Frustrated — I keep having to explain our limitations",
|
|
192
141
|
needs: "Client autonomy in accessing their own data"
|
|
193
142
|
})
|
|
194
|
-
// → Operational: creates a project request for the Developer role
|
|
195
143
|
\`\`\`
|
|
196
144
|
|
|
197
|
-
**Proposing a new role
|
|
145
|
+
**Proposing a new role (pathway 5):**
|
|
198
146
|
\`\`\`
|
|
199
147
|
1. nestr_create_tension(circleId, "Need a dedicated role for customer onboarding")
|
|
200
148
|
2. nestr_add_tension_part(circleId, tensionId, {
|
|
@@ -206,91 +154,37 @@ nestr_create_tension(salesLeadRoleId, {
|
|
|
206
154
|
3. nestr_update_tension_status(circleId, tensionId, "proposed")
|
|
207
155
|
\`\`\`
|
|
208
156
|
|
|
209
|
-
**
|
|
210
|
-
\`\`\`
|
|
211
|
-
1. nestr_create_tension(circleId, "Developer role needs infrastructure accountability")
|
|
212
|
-
2. nestr_add_tension_part(circleId, tensionId, {
|
|
213
|
-
_id: "existingRoleId"
|
|
214
|
-
})
|
|
215
|
-
// → Existing accountabilities/domains are auto-copied into the proposal
|
|
216
|
-
3. nestr_get_tension_part_children(circleId, tensionId, partId)
|
|
217
|
-
// → Returns all copied accountabilities/domains
|
|
218
|
-
4. nestr_create_tension_part_child(circleId, tensionId, partId, {
|
|
219
|
-
title: "Managing infrastructure and deployments",
|
|
220
|
-
labels: ["accountability"]
|
|
221
|
-
})
|
|
222
|
-
// → Adds a new accountability to the proposal
|
|
223
|
-
5. nestr_get_tension_changes(circleId, tensionId, partId) // Review the diff
|
|
224
|
-
6. nestr_update_tension_status(circleId, tensionId, "proposed")
|
|
225
|
-
\`\`\`
|
|
226
|
-
|
|
227
|
-
**Proposing changes to an existing role (bulk shorthand):**
|
|
228
|
-
\`\`\`
|
|
229
|
-
1. nestr_create_tension(circleId, "Developer role needs infrastructure accountability")
|
|
230
|
-
2. nestr_add_tension_part(circleId, tensionId, {
|
|
231
|
-
_id: "existingRoleId",
|
|
232
|
-
accountabilities: ["Developing new features", "Managing infrastructure and deployments"]
|
|
233
|
-
})
|
|
234
|
-
// → accountabilities array replaces ALL existing accountabilities at once
|
|
235
|
-
3. nestr_get_tension_changes(circleId, tensionId, partId) // Review the diff
|
|
236
|
-
4. nestr_update_tension_status(circleId, tensionId, "proposed")
|
|
237
|
-
\`\`\`
|
|
157
|
+
**Changing an existing role:** Use \`nestr_add_tension_part\` with \`_id: "existingRoleId"\`. Existing children auto-copy. Then either manage individually via children tools, or provide \`accountabilities: [...]\` array to replace all at once. Review with \`nestr_get_tension_changes\`, then submit.
|
|
238
158
|
|
|
239
|
-
**Mixed pathways
|
|
240
|
-
\`\`\`
|
|
241
|
-
// Tension 1: Operational — request action from Developer role
|
|
242
|
-
nestr_create_tension(circleId, {
|
|
243
|
-
title: "MongoDB integration needed for Q2 client deliverables",
|
|
244
|
-
description: "Enterprise clients need direct data access. REST API is insufficient for their volume."
|
|
245
|
-
})
|
|
246
|
-
|
|
247
|
-
// Tension 2: Governance — if this is recurring, propose structural change
|
|
248
|
-
nestr_create_tension(circleId, {
|
|
249
|
-
title: "No role accountable for data integration partnerships",
|
|
250
|
-
description: "Client data access requests keep falling between roles."
|
|
251
|
-
})
|
|
252
|
-
// → Add governance part proposing new accountability
|
|
253
|
-
\`\`\`
|
|
159
|
+
**Mixed pathways:** If a tension has both operational and governance outputs, create separate tensions — governance proposals deserve their own processing space.
|
|
254
160
|
|
|
255
161
|
### Status Lifecycle
|
|
256
162
|
|
|
257
163
|
\`draft\` → \`proposed\` → \`accepted\` or \`objected\`
|
|
258
164
|
|
|
259
|
-
- **draft**:
|
|
260
|
-
- **proposed**:
|
|
261
|
-
- **accepted**:
|
|
262
|
-
- **objected**:
|
|
165
|
+
- **draft**: Parts can be added/modified/removed.
|
|
166
|
+
- **proposed**: Circle members vote. Can retract to \`draft\`.
|
|
167
|
+
- **accepted**: Changes applied to governance.
|
|
168
|
+
- **objected**: Requires integration and resubmission.
|
|
263
169
|
|
|
264
|
-
|
|
170
|
+
Use \`nestr_get_tension_status\` to check state and votes. Use \`nestr_update_tension_status\` to advance lifecycle.
|
|
265
171
|
|
|
266
172
|
### Auto-Detection
|
|
267
173
|
|
|
268
|
-
Tensions with governance labels (role, circle, policy, accountability, domain) in their parts automatically become governance proposals.
|
|
174
|
+
Tensions with governance labels (role, circle, policy, accountability, domain) in their parts automatically become governance proposals. Others become output tensions.
|
|
269
175
|
|
|
270
176
|
### Tensions as Meeting Agenda Items
|
|
271
177
|
|
|
272
|
-
|
|
178
|
+
Link tensions to meetings via \`nestr_add_graph_link\` with relation \`meeting\`. Available agenda items: all non-completed tensions where the nearest circle ancestor matches the meeting's circle.
|
|
273
179
|
|
|
274
|
-
**
|
|
180
|
+
- **Governance meetings** (\`governance\` + \`meeting\` labels): Tensions with governance parts.
|
|
181
|
+
- **Circle meetings** (\`circle-meeting\` + \`meeting\` labels): Tensions with operational output.
|
|
275
182
|
|
|
276
|
-
- **Governance meetings** (\`governance\` + \`meeting\` labels): Tensions with governance parts — proposals for new/changed roles, circles, accountabilities, domains, or policies. These are processed through Integrative Decision Making.
|
|
277
|
-
- **Circle meetings** (\`circle-meeting\` + \`meeting\` labels): Tensions with operational output — requests for information, projects, actions, or inter-role coordination. These drive the operational/tactical heartbeat.
|
|
278
|
-
|
|
279
|
-
**Linking tensions to meetings:**
|
|
280
183
|
\`\`\`
|
|
281
|
-
// Link
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
// View a meeting's agenda (all linked tensions)
|
|
285
|
-
nestr_get_graph_links(meetingNestId, "meeting", { direction: "incoming" })
|
|
286
|
-
|
|
287
|
-
// See which meeting a tension is on
|
|
288
|
-
nestr_get_graph_links(tensionNestId, "meeting")
|
|
289
|
-
|
|
290
|
-
// Remove a tension from a meeting's agenda
|
|
291
|
-
nestr_remove_graph_link(tensionNestId, "meeting", meetingNestId)
|
|
184
|
+
nestr_add_graph_link(tensionNestId, "meeting", meetingNestId) // Link
|
|
185
|
+
nestr_get_graph_links(meetingNestId, "meeting", { direction: "incoming" }) // View agenda
|
|
292
186
|
\`\`\`
|
|
293
187
|
|
|
294
|
-
|
|
188
|
+
For ad-hoc agenda items without a role source, create as a child nest of the meeting directly.
|
|
295
189
|
`.trim();
|
|
296
190
|
//# sourceMappingURL=tension-processing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tension-processing.js","sourceRoot":"","sources":["../../src/skills/tension-processing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG
|
|
1
|
+
{"version":3,"file":"tension-processing.js","sourceRoot":"","sources":["../../src/skills/tension-processing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqL9C,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-setup.d.ts","sourceRoot":"","sources":["../../src/skills/workspace-setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"workspace-setup.d.ts","sourceRoot":"","sources":["../../src/skills/workspace-setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,4BAA4B,QA6IjC,CAAC"}
|