@askexenow/exe-os 0.9.64 → 0.9.66
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/deploy/stack-manifests/v0.9.json +4 -4
- package/dist/bin/backfill-conversations.js +22 -0
- package/dist/bin/backfill-responses.js +22 -0
- package/dist/bin/backfill-vectors.js +22 -0
- package/dist/bin/cleanup-stale-review-tasks.js +22 -0
- package/dist/bin/cli.js +2280 -1199
- package/dist/bin/exe-agent-config.js +4 -0
- package/dist/bin/exe-agent.js +16 -0
- package/dist/bin/exe-assign.js +22 -0
- package/dist/bin/exe-boot.js +116 -7
- package/dist/bin/exe-call.js +16 -0
- package/dist/bin/exe-cloud.js +6671 -464
- package/dist/bin/exe-dispatch.js +24 -0
- package/dist/bin/exe-doctor.js +2845 -1223
- package/dist/bin/exe-export-behaviors.js +24 -0
- package/dist/bin/exe-forget.js +22 -0
- package/dist/bin/exe-gateway.js +24 -0
- package/dist/bin/exe-heartbeat.js +23 -0
- package/dist/bin/exe-kill.js +22 -0
- package/dist/bin/exe-launch-agent.js +24 -0
- package/dist/bin/exe-link.js +310 -178
- package/dist/bin/exe-new-employee.js +127 -1
- package/dist/bin/exe-pending-messages.js +22 -0
- package/dist/bin/exe-pending-notifications.js +22 -0
- package/dist/bin/exe-pending-reviews.js +22 -0
- package/dist/bin/exe-rename.js +22 -0
- package/dist/bin/exe-review.js +22 -0
- package/dist/bin/exe-search.js +24 -0
- package/dist/bin/exe-session-cleanup.js +24 -0
- package/dist/bin/exe-settings.js +10 -0
- package/dist/bin/exe-start-codex.js +135 -1
- package/dist/bin/exe-start-opencode.js +149 -1
- package/dist/bin/exe-status.js +22 -0
- package/dist/bin/exe-team.js +22 -0
- package/dist/bin/git-sweep.js +24 -0
- package/dist/bin/graph-backfill.js +22 -0
- package/dist/bin/graph-export.js +22 -0
- package/dist/bin/install.js +115 -1
- package/dist/bin/intercom-check.js +24 -0
- package/dist/bin/scan-tasks.js +24 -0
- package/dist/bin/setup.js +412 -157
- package/dist/bin/shard-migrate.js +22 -0
- package/dist/bin/update.js +4 -0
- package/dist/gateway/index.js +24 -0
- package/dist/hooks/bug-report-worker.js +135 -42
- package/dist/hooks/codex-stop-task-finalizer.js +24 -0
- package/dist/hooks/commit-complete.js +24 -0
- package/dist/hooks/error-recall.js +24 -0
- package/dist/hooks/exe-heartbeat-hook.js +4 -0
- package/dist/hooks/ingest-worker.js +4 -0
- package/dist/hooks/ingest.js +23 -0
- package/dist/hooks/instructions-loaded.js +22 -0
- package/dist/hooks/notification.js +22 -0
- package/dist/hooks/post-compact.js +22 -0
- package/dist/hooks/post-tool-combined.js +24 -0
- package/dist/hooks/pre-compact.js +260 -109
- package/dist/hooks/pre-tool-use.js +22 -0
- package/dist/hooks/prompt-submit.js +24 -0
- package/dist/hooks/session-end.js +161 -122
- package/dist/hooks/session-start.js +142 -0
- package/dist/hooks/stop.js +23 -0
- package/dist/hooks/subagent-stop.js +22 -0
- package/dist/hooks/summary-worker.js +195 -79
- package/dist/index.js +24 -0
- package/dist/lib/agent-config.js +4 -0
- package/dist/lib/cloud-sync.js +50 -6
- package/dist/lib/config.js +12 -0
- package/dist/lib/consolidation.js +4 -0
- package/dist/lib/database.js +4 -0
- package/dist/lib/db-daemon-client.js +4 -0
- package/dist/lib/db.js +4 -0
- package/dist/lib/device-registry.js +4 -0
- package/dist/lib/embedder.js +12 -0
- package/dist/lib/employee-templates.js +16 -0
- package/dist/lib/employees.js +4 -0
- package/dist/lib/exe-daemon-client.js +4 -0
- package/dist/lib/exe-daemon.js +1144 -480
- package/dist/lib/hybrid-search.js +24 -0
- package/dist/lib/identity.js +4 -0
- package/dist/lib/license.js +4 -0
- package/dist/lib/messaging.js +4 -0
- package/dist/lib/reminders.js +4 -0
- package/dist/lib/schedules.js +22 -0
- package/dist/lib/skill-learning.js +12 -0
- package/dist/lib/status-brief.js +39 -0
- package/dist/lib/store.js +22 -0
- package/dist/lib/task-router.js +4 -0
- package/dist/lib/tasks.js +12 -0
- package/dist/lib/tmux-routing.js +12 -0
- package/dist/lib/token-spend.js +4 -0
- package/dist/mcp/server.js +1045 -427
- package/dist/mcp/tools/complete-reminder.js +4 -0
- package/dist/mcp/tools/create-reminder.js +4 -0
- package/dist/mcp/tools/create-task.js +12 -0
- package/dist/mcp/tools/deactivate-behavior.js +4 -0
- package/dist/mcp/tools/list-reminders.js +4 -0
- package/dist/mcp/tools/list-tasks.js +4 -0
- package/dist/mcp/tools/send-message.js +4 -0
- package/dist/mcp/tools/update-task.js +12 -0
- package/dist/runtime/index.js +24 -0
- package/dist/tui/App.js +24 -0
- package/package.json +3 -2
- package/src/commands/exe/cloud.md +15 -8
- package/src/commands/exe/link.md +7 -6
- package/stack.release.json +2 -2
package/dist/hooks/ingest.js
CHANGED
|
@@ -123,6 +123,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
123
123
|
const userAU = raw.autoUpdate ?? {};
|
|
124
124
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
125
125
|
}
|
|
126
|
+
function normalizeOrchestration(raw) {
|
|
127
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
128
|
+
const userOrg = raw.orchestration ?? {};
|
|
129
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
130
|
+
}
|
|
126
131
|
async function loadConfig() {
|
|
127
132
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
128
133
|
await ensurePrivateDir(dir);
|
|
@@ -147,6 +152,7 @@ async function loadConfig() {
|
|
|
147
152
|
normalizeScalingRoadmap(migratedCfg);
|
|
148
153
|
normalizeSessionLifecycle(migratedCfg);
|
|
149
154
|
normalizeAutoUpdate(migratedCfg);
|
|
155
|
+
normalizeOrchestration(migratedCfg);
|
|
150
156
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
151
157
|
if (config.dbPath.startsWith("~")) {
|
|
152
158
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -170,6 +176,7 @@ function loadConfigSync() {
|
|
|
170
176
|
normalizeScalingRoadmap(migratedCfg);
|
|
171
177
|
normalizeSessionLifecycle(migratedCfg);
|
|
172
178
|
normalizeAutoUpdate(migratedCfg);
|
|
179
|
+
normalizeOrchestration(migratedCfg);
|
|
173
180
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
174
181
|
} catch {
|
|
175
182
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db") };
|
|
@@ -241,6 +248,10 @@ var init_config = __esm({
|
|
|
241
248
|
checkOnBoot: true,
|
|
242
249
|
autoInstall: false,
|
|
243
250
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
251
|
+
},
|
|
252
|
+
orchestration: {
|
|
253
|
+
phase: "phase_1_coo",
|
|
254
|
+
phaseSetBy: "default"
|
|
244
255
|
}
|
|
245
256
|
};
|
|
246
257
|
CONFIG_MIGRATIONS = [
|
|
@@ -4006,6 +4017,12 @@ var init_platform_procedures = __esm({
|
|
|
4006
4017
|
priority: "p0",
|
|
4007
4018
|
content: "Founder -> coordinator (the executive agent, internally routed as 'COO') -> CTO/CMO. CTO -> engineers. CMO -> content production. Never skip levels: the coordinator does not bypass managers for specialist work. Specialists report to their manager. If you need cross-team info, use ask_team_memory \u2014 don't read other agents' task folders. Each level owns dispatch downward and review upward."
|
|
4008
4019
|
},
|
|
4020
|
+
{
|
|
4021
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
4022
|
+
domain: "workflow",
|
|
4023
|
+
priority: "p1",
|
|
4024
|
+
content: "New customers start best in Phase 1: founder \u2194 coordinator/Chief of Staff, building company context. Suggest Phase 2 executives when domain work repeats; suggest Phase 3 parallel execution only when review/permission gates are ready. This is guidance, not a blocker: users may jump phases anytime. Never overwrite their phase, role titles, identities, or custom org design."
|
|
4025
|
+
},
|
|
4009
4026
|
{
|
|
4010
4027
|
title: "Single dispatch path \u2014 create_task only",
|
|
4011
4028
|
domain: "workflow",
|
|
@@ -4064,6 +4081,12 @@ var init_platform_procedures = __esm({
|
|
|
4064
4081
|
priority: "p0",
|
|
4065
4082
|
content: "exe-build-adv is MANDATORY for ALL work touching 3+ files. Run /exe-build-adv --auto BEFORE implementation. Pipeline: Spec \u2192 AC \u2192 Tests \u2192 Evaluate \u2192 Fix. No multi-file feature ships without pipeline artifacts. No exceptions \u2014 managers reject work without them."
|
|
4066
4083
|
},
|
|
4084
|
+
{
|
|
4085
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
4086
|
+
domain: "workflow",
|
|
4087
|
+
priority: "p1",
|
|
4088
|
+
content: "After any code-change batch passes typecheck/tests/build, run git status, summarize changed files, and commit with a clear message before ending the session. If work must remain uncommitted for review/dogfood, explicitly say so, list the files, and state the blocker. Never imply work is complete while verified changes are still floating locally."
|
|
4089
|
+
},
|
|
4067
4090
|
{
|
|
4068
4091
|
title: "Desktop and TUI are the same product",
|
|
4069
4092
|
domain: "architecture",
|
|
@@ -123,6 +123,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
123
123
|
const userAU = raw.autoUpdate ?? {};
|
|
124
124
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
125
125
|
}
|
|
126
|
+
function normalizeOrchestration(raw) {
|
|
127
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
128
|
+
const userOrg = raw.orchestration ?? {};
|
|
129
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
130
|
+
}
|
|
126
131
|
async function loadConfig() {
|
|
127
132
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
128
133
|
await ensurePrivateDir(dir);
|
|
@@ -147,6 +152,7 @@ async function loadConfig() {
|
|
|
147
152
|
normalizeScalingRoadmap(migratedCfg);
|
|
148
153
|
normalizeSessionLifecycle(migratedCfg);
|
|
149
154
|
normalizeAutoUpdate(migratedCfg);
|
|
155
|
+
normalizeOrchestration(migratedCfg);
|
|
150
156
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
151
157
|
if (config.dbPath.startsWith("~")) {
|
|
152
158
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -222,6 +228,10 @@ var init_config = __esm({
|
|
|
222
228
|
checkOnBoot: true,
|
|
223
229
|
autoInstall: false,
|
|
224
230
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
231
|
+
},
|
|
232
|
+
orchestration: {
|
|
233
|
+
phase: "phase_1_coo",
|
|
234
|
+
phaseSetBy: "default"
|
|
225
235
|
}
|
|
226
236
|
};
|
|
227
237
|
CONFIG_MIGRATIONS = [
|
|
@@ -3840,6 +3850,12 @@ var init_platform_procedures = __esm({
|
|
|
3840
3850
|
priority: "p0",
|
|
3841
3851
|
content: "Founder -> coordinator (the executive agent, internally routed as 'COO') -> CTO/CMO. CTO -> engineers. CMO -> content production. Never skip levels: the coordinator does not bypass managers for specialist work. Specialists report to their manager. If you need cross-team info, use ask_team_memory \u2014 don't read other agents' task folders. Each level owns dispatch downward and review upward."
|
|
3842
3852
|
},
|
|
3853
|
+
{
|
|
3854
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
3855
|
+
domain: "workflow",
|
|
3856
|
+
priority: "p1",
|
|
3857
|
+
content: "New customers start best in Phase 1: founder \u2194 coordinator/Chief of Staff, building company context. Suggest Phase 2 executives when domain work repeats; suggest Phase 3 parallel execution only when review/permission gates are ready. This is guidance, not a blocker: users may jump phases anytime. Never overwrite their phase, role titles, identities, or custom org design."
|
|
3858
|
+
},
|
|
3843
3859
|
{
|
|
3844
3860
|
title: "Single dispatch path \u2014 create_task only",
|
|
3845
3861
|
domain: "workflow",
|
|
@@ -3898,6 +3914,12 @@ var init_platform_procedures = __esm({
|
|
|
3898
3914
|
priority: "p0",
|
|
3899
3915
|
content: "exe-build-adv is MANDATORY for ALL work touching 3+ files. Run /exe-build-adv --auto BEFORE implementation. Pipeline: Spec \u2192 AC \u2192 Tests \u2192 Evaluate \u2192 Fix. No multi-file feature ships without pipeline artifacts. No exceptions \u2014 managers reject work without them."
|
|
3900
3916
|
},
|
|
3917
|
+
{
|
|
3918
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
3919
|
+
domain: "workflow",
|
|
3920
|
+
priority: "p1",
|
|
3921
|
+
content: "After any code-change batch passes typecheck/tests/build, run git status, summarize changed files, and commit with a clear message before ending the session. If work must remain uncommitted for review/dogfood, explicitly say so, list the files, and state the blocker. Never imply work is complete while verified changes are still floating locally."
|
|
3922
|
+
},
|
|
3901
3923
|
{
|
|
3902
3924
|
title: "Desktop and TUI are the same product",
|
|
3903
3925
|
domain: "architecture",
|
|
@@ -123,6 +123,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
123
123
|
const userAU = raw.autoUpdate ?? {};
|
|
124
124
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
125
125
|
}
|
|
126
|
+
function normalizeOrchestration(raw) {
|
|
127
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
128
|
+
const userOrg = raw.orchestration ?? {};
|
|
129
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
130
|
+
}
|
|
126
131
|
async function loadConfig() {
|
|
127
132
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
128
133
|
await ensurePrivateDir(dir);
|
|
@@ -147,6 +152,7 @@ async function loadConfig() {
|
|
|
147
152
|
normalizeScalingRoadmap(migratedCfg);
|
|
148
153
|
normalizeSessionLifecycle(migratedCfg);
|
|
149
154
|
normalizeAutoUpdate(migratedCfg);
|
|
155
|
+
normalizeOrchestration(migratedCfg);
|
|
150
156
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
151
157
|
if (config.dbPath.startsWith("~")) {
|
|
152
158
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -222,6 +228,10 @@ var init_config = __esm({
|
|
|
222
228
|
checkOnBoot: true,
|
|
223
229
|
autoInstall: false,
|
|
224
230
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
231
|
+
},
|
|
232
|
+
orchestration: {
|
|
233
|
+
phase: "phase_1_coo",
|
|
234
|
+
phaseSetBy: "default"
|
|
225
235
|
}
|
|
226
236
|
};
|
|
227
237
|
CONFIG_MIGRATIONS = [
|
|
@@ -3840,6 +3850,12 @@ var init_platform_procedures = __esm({
|
|
|
3840
3850
|
priority: "p0",
|
|
3841
3851
|
content: "Founder -> coordinator (the executive agent, internally routed as 'COO') -> CTO/CMO. CTO -> engineers. CMO -> content production. Never skip levels: the coordinator does not bypass managers for specialist work. Specialists report to their manager. If you need cross-team info, use ask_team_memory \u2014 don't read other agents' task folders. Each level owns dispatch downward and review upward."
|
|
3842
3852
|
},
|
|
3853
|
+
{
|
|
3854
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
3855
|
+
domain: "workflow",
|
|
3856
|
+
priority: "p1",
|
|
3857
|
+
content: "New customers start best in Phase 1: founder \u2194 coordinator/Chief of Staff, building company context. Suggest Phase 2 executives when domain work repeats; suggest Phase 3 parallel execution only when review/permission gates are ready. This is guidance, not a blocker: users may jump phases anytime. Never overwrite their phase, role titles, identities, or custom org design."
|
|
3858
|
+
},
|
|
3843
3859
|
{
|
|
3844
3860
|
title: "Single dispatch path \u2014 create_task only",
|
|
3845
3861
|
domain: "workflow",
|
|
@@ -3898,6 +3914,12 @@ var init_platform_procedures = __esm({
|
|
|
3898
3914
|
priority: "p0",
|
|
3899
3915
|
content: "exe-build-adv is MANDATORY for ALL work touching 3+ files. Run /exe-build-adv --auto BEFORE implementation. Pipeline: Spec \u2192 AC \u2192 Tests \u2192 Evaluate \u2192 Fix. No multi-file feature ships without pipeline artifacts. No exceptions \u2014 managers reject work without them."
|
|
3900
3916
|
},
|
|
3917
|
+
{
|
|
3918
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
3919
|
+
domain: "workflow",
|
|
3920
|
+
priority: "p1",
|
|
3921
|
+
content: "After any code-change batch passes typecheck/tests/build, run git status, summarize changed files, and commit with a clear message before ending the session. If work must remain uncommitted for review/dogfood, explicitly say so, list the files, and state the blocker. Never imply work is complete while verified changes are still floating locally."
|
|
3922
|
+
},
|
|
3901
3923
|
{
|
|
3902
3924
|
title: "Desktop and TUI are the same product",
|
|
3903
3925
|
domain: "architecture",
|
|
@@ -134,6 +134,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
134
134
|
const userAU = raw.autoUpdate ?? {};
|
|
135
135
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
136
136
|
}
|
|
137
|
+
function normalizeOrchestration(raw) {
|
|
138
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
139
|
+
const userOrg = raw.orchestration ?? {};
|
|
140
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
141
|
+
}
|
|
137
142
|
async function loadConfig() {
|
|
138
143
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
139
144
|
await ensurePrivateDir(dir);
|
|
@@ -158,6 +163,7 @@ async function loadConfig() {
|
|
|
158
163
|
normalizeScalingRoadmap(migratedCfg);
|
|
159
164
|
normalizeSessionLifecycle(migratedCfg);
|
|
160
165
|
normalizeAutoUpdate(migratedCfg);
|
|
166
|
+
normalizeOrchestration(migratedCfg);
|
|
161
167
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
162
168
|
if (config.dbPath.startsWith("~")) {
|
|
163
169
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -233,6 +239,10 @@ var init_config = __esm({
|
|
|
233
239
|
checkOnBoot: true,
|
|
234
240
|
autoInstall: false,
|
|
235
241
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
242
|
+
},
|
|
243
|
+
orchestration: {
|
|
244
|
+
phase: "phase_1_coo",
|
|
245
|
+
phaseSetBy: "default"
|
|
236
246
|
}
|
|
237
247
|
};
|
|
238
248
|
CONFIG_MIGRATIONS = [
|
|
@@ -4278,6 +4288,12 @@ var init_platform_procedures = __esm({
|
|
|
4278
4288
|
priority: "p0",
|
|
4279
4289
|
content: "Founder -> coordinator (the executive agent, internally routed as 'COO') -> CTO/CMO. CTO -> engineers. CMO -> content production. Never skip levels: the coordinator does not bypass managers for specialist work. Specialists report to their manager. If you need cross-team info, use ask_team_memory \u2014 don't read other agents' task folders. Each level owns dispatch downward and review upward."
|
|
4280
4290
|
},
|
|
4291
|
+
{
|
|
4292
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
4293
|
+
domain: "workflow",
|
|
4294
|
+
priority: "p1",
|
|
4295
|
+
content: "New customers start best in Phase 1: founder \u2194 coordinator/Chief of Staff, building company context. Suggest Phase 2 executives when domain work repeats; suggest Phase 3 parallel execution only when review/permission gates are ready. This is guidance, not a blocker: users may jump phases anytime. Never overwrite their phase, role titles, identities, or custom org design."
|
|
4296
|
+
},
|
|
4281
4297
|
{
|
|
4282
4298
|
title: "Single dispatch path \u2014 create_task only",
|
|
4283
4299
|
domain: "workflow",
|
|
@@ -4336,6 +4352,12 @@ var init_platform_procedures = __esm({
|
|
|
4336
4352
|
priority: "p0",
|
|
4337
4353
|
content: "exe-build-adv is MANDATORY for ALL work touching 3+ files. Run /exe-build-adv --auto BEFORE implementation. Pipeline: Spec \u2192 AC \u2192 Tests \u2192 Evaluate \u2192 Fix. No multi-file feature ships without pipeline artifacts. No exceptions \u2014 managers reject work without them."
|
|
4338
4354
|
},
|
|
4355
|
+
{
|
|
4356
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
4357
|
+
domain: "workflow",
|
|
4358
|
+
priority: "p1",
|
|
4359
|
+
content: "After any code-change batch passes typecheck/tests/build, run git status, summarize changed files, and commit with a clear message before ending the session. If work must remain uncommitted for review/dogfood, explicitly say so, list the files, and state the blocker. Never imply work is complete while verified changes are still floating locally."
|
|
4360
|
+
},
|
|
4339
4361
|
{
|
|
4340
4362
|
title: "Desktop and TUI are the same product",
|
|
4341
4363
|
domain: "architecture",
|
|
@@ -138,6 +138,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
138
138
|
const userAU = raw.autoUpdate ?? {};
|
|
139
139
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
140
140
|
}
|
|
141
|
+
function normalizeOrchestration(raw) {
|
|
142
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
143
|
+
const userOrg = raw.orchestration ?? {};
|
|
144
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
145
|
+
}
|
|
141
146
|
async function loadConfig() {
|
|
142
147
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
143
148
|
await ensurePrivateDir(dir);
|
|
@@ -162,6 +167,7 @@ async function loadConfig() {
|
|
|
162
167
|
normalizeScalingRoadmap(migratedCfg);
|
|
163
168
|
normalizeSessionLifecycle(migratedCfg);
|
|
164
169
|
normalizeAutoUpdate(migratedCfg);
|
|
170
|
+
normalizeOrchestration(migratedCfg);
|
|
165
171
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
166
172
|
if (config.dbPath.startsWith("~")) {
|
|
167
173
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -185,6 +191,7 @@ function loadConfigSync() {
|
|
|
185
191
|
normalizeScalingRoadmap(migratedCfg);
|
|
186
192
|
normalizeSessionLifecycle(migratedCfg);
|
|
187
193
|
normalizeAutoUpdate(migratedCfg);
|
|
194
|
+
normalizeOrchestration(migratedCfg);
|
|
188
195
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
189
196
|
} catch {
|
|
190
197
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db") };
|
|
@@ -206,6 +213,7 @@ async function loadConfigFrom(configPath) {
|
|
|
206
213
|
normalizeScalingRoadmap(migratedCfg);
|
|
207
214
|
normalizeSessionLifecycle(migratedCfg);
|
|
208
215
|
normalizeAutoUpdate(migratedCfg);
|
|
216
|
+
normalizeOrchestration(migratedCfg);
|
|
209
217
|
return { ...DEFAULT_CONFIG, ...migratedCfg };
|
|
210
218
|
} catch {
|
|
211
219
|
return { ...DEFAULT_CONFIG };
|
|
@@ -277,6 +285,10 @@ var init_config = __esm({
|
|
|
277
285
|
checkOnBoot: true,
|
|
278
286
|
autoInstall: false,
|
|
279
287
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
288
|
+
},
|
|
289
|
+
orchestration: {
|
|
290
|
+
phase: "phase_1_coo",
|
|
291
|
+
phaseSetBy: "default"
|
|
280
292
|
}
|
|
281
293
|
};
|
|
282
294
|
CONFIG_MIGRATIONS = [
|
|
@@ -4004,6 +4016,12 @@ var init_platform_procedures = __esm({
|
|
|
4004
4016
|
priority: "p0",
|
|
4005
4017
|
content: "Founder -> coordinator (the executive agent, internally routed as 'COO') -> CTO/CMO. CTO -> engineers. CMO -> content production. Never skip levels: the coordinator does not bypass managers for specialist work. Specialists report to their manager. If you need cross-team info, use ask_team_memory \u2014 don't read other agents' task folders. Each level owns dispatch downward and review upward."
|
|
4006
4018
|
},
|
|
4019
|
+
{
|
|
4020
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
4021
|
+
domain: "workflow",
|
|
4022
|
+
priority: "p1",
|
|
4023
|
+
content: "New customers start best in Phase 1: founder \u2194 coordinator/Chief of Staff, building company context. Suggest Phase 2 executives when domain work repeats; suggest Phase 3 parallel execution only when review/permission gates are ready. This is guidance, not a blocker: users may jump phases anytime. Never overwrite their phase, role titles, identities, or custom org design."
|
|
4024
|
+
},
|
|
4007
4025
|
{
|
|
4008
4026
|
title: "Single dispatch path \u2014 create_task only",
|
|
4009
4027
|
domain: "workflow",
|
|
@@ -4062,6 +4080,12 @@ var init_platform_procedures = __esm({
|
|
|
4062
4080
|
priority: "p0",
|
|
4063
4081
|
content: "exe-build-adv is MANDATORY for ALL work touching 3+ files. Run /exe-build-adv --auto BEFORE implementation. Pipeline: Spec \u2192 AC \u2192 Tests \u2192 Evaluate \u2192 Fix. No multi-file feature ships without pipeline artifacts. No exceptions \u2014 managers reject work without them."
|
|
4064
4082
|
},
|
|
4083
|
+
{
|
|
4084
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
4085
|
+
domain: "workflow",
|
|
4086
|
+
priority: "p1",
|
|
4087
|
+
content: "After any code-change batch passes typecheck/tests/build, run git status, summarize changed files, and commit with a clear message before ending the session. If work must remain uncommitted for review/dogfood, explicitly say so, list the files, and state the blocker. Never imply work is complete while verified changes are still floating locally."
|
|
4088
|
+
},
|
|
4065
4089
|
{
|
|
4066
4090
|
title: "Desktop and TUI are the same product",
|
|
4067
4091
|
domain: "architecture",
|