@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
|
@@ -214,6 +214,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
214
214
|
const userAU = raw.autoUpdate ?? {};
|
|
215
215
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
216
216
|
}
|
|
217
|
+
function normalizeOrchestration(raw) {
|
|
218
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
219
|
+
const userOrg = raw.orchestration ?? {};
|
|
220
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
221
|
+
}
|
|
217
222
|
async function loadConfig() {
|
|
218
223
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
219
224
|
await ensurePrivateDir(dir);
|
|
@@ -238,6 +243,7 @@ async function loadConfig() {
|
|
|
238
243
|
normalizeScalingRoadmap(migratedCfg);
|
|
239
244
|
normalizeSessionLifecycle(migratedCfg);
|
|
240
245
|
normalizeAutoUpdate(migratedCfg);
|
|
246
|
+
normalizeOrchestration(migratedCfg);
|
|
241
247
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
242
248
|
if (config.dbPath.startsWith("~")) {
|
|
243
249
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -261,6 +267,7 @@ function loadConfigSync() {
|
|
|
261
267
|
normalizeScalingRoadmap(migratedCfg);
|
|
262
268
|
normalizeSessionLifecycle(migratedCfg);
|
|
263
269
|
normalizeAutoUpdate(migratedCfg);
|
|
270
|
+
normalizeOrchestration(migratedCfg);
|
|
264
271
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
265
272
|
} catch {
|
|
266
273
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db") };
|
|
@@ -282,6 +289,7 @@ async function loadConfigFrom(configPath) {
|
|
|
282
289
|
normalizeScalingRoadmap(migratedCfg);
|
|
283
290
|
normalizeSessionLifecycle(migratedCfg);
|
|
284
291
|
normalizeAutoUpdate(migratedCfg);
|
|
292
|
+
normalizeOrchestration(migratedCfg);
|
|
285
293
|
return { ...DEFAULT_CONFIG, ...migratedCfg };
|
|
286
294
|
} catch {
|
|
287
295
|
return { ...DEFAULT_CONFIG };
|
|
@@ -353,6 +361,10 @@ var init_config = __esm({
|
|
|
353
361
|
checkOnBoot: true,
|
|
354
362
|
autoInstall: false,
|
|
355
363
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
364
|
+
},
|
|
365
|
+
orchestration: {
|
|
366
|
+
phase: "phase_1_coo",
|
|
367
|
+
phaseSetBy: "default"
|
|
356
368
|
}
|
|
357
369
|
};
|
|
358
370
|
CONFIG_MIGRATIONS = [
|
|
@@ -3904,6 +3916,12 @@ var init_platform_procedures = __esm({
|
|
|
3904
3916
|
priority: "p0",
|
|
3905
3917
|
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."
|
|
3906
3918
|
},
|
|
3919
|
+
{
|
|
3920
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
3921
|
+
domain: "workflow",
|
|
3922
|
+
priority: "p1",
|
|
3923
|
+
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."
|
|
3924
|
+
},
|
|
3907
3925
|
{
|
|
3908
3926
|
title: "Single dispatch path \u2014 create_task only",
|
|
3909
3927
|
domain: "workflow",
|
|
@@ -3962,6 +3980,12 @@ var init_platform_procedures = __esm({
|
|
|
3962
3980
|
priority: "p0",
|
|
3963
3981
|
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."
|
|
3964
3982
|
},
|
|
3983
|
+
{
|
|
3984
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
3985
|
+
domain: "workflow",
|
|
3986
|
+
priority: "p1",
|
|
3987
|
+
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."
|
|
3988
|
+
},
|
|
3965
3989
|
{
|
|
3966
3990
|
title: "Desktop and TUI are the same product",
|
|
3967
3991
|
domain: "architecture",
|
package/dist/bin/exe-forget.js
CHANGED
|
@@ -179,6 +179,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
179
179
|
const userAU = raw.autoUpdate ?? {};
|
|
180
180
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
181
181
|
}
|
|
182
|
+
function normalizeOrchestration(raw) {
|
|
183
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
184
|
+
const userOrg = raw.orchestration ?? {};
|
|
185
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
186
|
+
}
|
|
182
187
|
async function loadConfig() {
|
|
183
188
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
184
189
|
await ensurePrivateDir(dir);
|
|
@@ -203,6 +208,7 @@ async function loadConfig() {
|
|
|
203
208
|
normalizeScalingRoadmap(migratedCfg);
|
|
204
209
|
normalizeSessionLifecycle(migratedCfg);
|
|
205
210
|
normalizeAutoUpdate(migratedCfg);
|
|
211
|
+
normalizeOrchestration(migratedCfg);
|
|
206
212
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
207
213
|
if (config.dbPath.startsWith("~")) {
|
|
208
214
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -278,6 +284,10 @@ var init_config = __esm({
|
|
|
278
284
|
checkOnBoot: true,
|
|
279
285
|
autoInstall: false,
|
|
280
286
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
287
|
+
},
|
|
288
|
+
orchestration: {
|
|
289
|
+
phase: "phase_1_coo",
|
|
290
|
+
phaseSetBy: "default"
|
|
281
291
|
}
|
|
282
292
|
};
|
|
283
293
|
CONFIG_MIGRATIONS = [
|
|
@@ -3838,6 +3848,12 @@ var init_platform_procedures = __esm({
|
|
|
3838
3848
|
priority: "p0",
|
|
3839
3849
|
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."
|
|
3840
3850
|
},
|
|
3851
|
+
{
|
|
3852
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
3853
|
+
domain: "workflow",
|
|
3854
|
+
priority: "p1",
|
|
3855
|
+
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."
|
|
3856
|
+
},
|
|
3841
3857
|
{
|
|
3842
3858
|
title: "Single dispatch path \u2014 create_task only",
|
|
3843
3859
|
domain: "workflow",
|
|
@@ -3896,6 +3912,12 @@ var init_platform_procedures = __esm({
|
|
|
3896
3912
|
priority: "p0",
|
|
3897
3913
|
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."
|
|
3898
3914
|
},
|
|
3915
|
+
{
|
|
3916
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
3917
|
+
domain: "workflow",
|
|
3918
|
+
priority: "p1",
|
|
3919
|
+
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."
|
|
3920
|
+
},
|
|
3899
3921
|
{
|
|
3900
3922
|
title: "Desktop and TUI are the same product",
|
|
3901
3923
|
domain: "architecture",
|
package/dist/bin/exe-gateway.js
CHANGED
|
@@ -516,6 +516,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
516
516
|
const userAU = raw.autoUpdate ?? {};
|
|
517
517
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
518
518
|
}
|
|
519
|
+
function normalizeOrchestration(raw) {
|
|
520
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
521
|
+
const userOrg = raw.orchestration ?? {};
|
|
522
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
523
|
+
}
|
|
519
524
|
async function loadConfig() {
|
|
520
525
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
521
526
|
await ensurePrivateDir(dir);
|
|
@@ -540,6 +545,7 @@ async function loadConfig() {
|
|
|
540
545
|
normalizeScalingRoadmap(migratedCfg);
|
|
541
546
|
normalizeSessionLifecycle(migratedCfg);
|
|
542
547
|
normalizeAutoUpdate(migratedCfg);
|
|
548
|
+
normalizeOrchestration(migratedCfg);
|
|
543
549
|
const config2 = { ...DEFAULT_CONFIG, dbPath: path2.join(dir, "memories.db"), ...migratedCfg };
|
|
544
550
|
if (config2.dbPath.startsWith("~")) {
|
|
545
551
|
config2.dbPath = config2.dbPath.replace(/^~/, os2.homedir());
|
|
@@ -563,6 +569,7 @@ function loadConfigSync() {
|
|
|
563
569
|
normalizeScalingRoadmap(migratedCfg);
|
|
564
570
|
normalizeSessionLifecycle(migratedCfg);
|
|
565
571
|
normalizeAutoUpdate(migratedCfg);
|
|
572
|
+
normalizeOrchestration(migratedCfg);
|
|
566
573
|
return { ...DEFAULT_CONFIG, dbPath: path2.join(dir, "memories.db"), ...migratedCfg };
|
|
567
574
|
} catch {
|
|
568
575
|
return { ...DEFAULT_CONFIG, dbPath: path2.join(dir, "memories.db") };
|
|
@@ -584,6 +591,7 @@ async function loadConfigFrom(configPath) {
|
|
|
584
591
|
normalizeScalingRoadmap(migratedCfg);
|
|
585
592
|
normalizeSessionLifecycle(migratedCfg);
|
|
586
593
|
normalizeAutoUpdate(migratedCfg);
|
|
594
|
+
normalizeOrchestration(migratedCfg);
|
|
587
595
|
return { ...DEFAULT_CONFIG, ...migratedCfg };
|
|
588
596
|
} catch {
|
|
589
597
|
return { ...DEFAULT_CONFIG };
|
|
@@ -655,6 +663,10 @@ var init_config = __esm({
|
|
|
655
663
|
checkOnBoot: true,
|
|
656
664
|
autoInstall: false,
|
|
657
665
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
666
|
+
},
|
|
667
|
+
orchestration: {
|
|
668
|
+
phase: "phase_1_coo",
|
|
669
|
+
phaseSetBy: "default"
|
|
658
670
|
}
|
|
659
671
|
};
|
|
660
672
|
CONFIG_MIGRATIONS = [
|
|
@@ -4497,6 +4509,12 @@ var init_platform_procedures = __esm({
|
|
|
4497
4509
|
priority: "p0",
|
|
4498
4510
|
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."
|
|
4499
4511
|
},
|
|
4512
|
+
{
|
|
4513
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
4514
|
+
domain: "workflow",
|
|
4515
|
+
priority: "p1",
|
|
4516
|
+
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."
|
|
4517
|
+
},
|
|
4500
4518
|
{
|
|
4501
4519
|
title: "Single dispatch path \u2014 create_task only",
|
|
4502
4520
|
domain: "workflow",
|
|
@@ -4555,6 +4573,12 @@ var init_platform_procedures = __esm({
|
|
|
4555
4573
|
priority: "p0",
|
|
4556
4574
|
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."
|
|
4557
4575
|
},
|
|
4576
|
+
{
|
|
4577
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
4578
|
+
domain: "workflow",
|
|
4579
|
+
priority: "p1",
|
|
4580
|
+
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."
|
|
4581
|
+
},
|
|
4558
4582
|
{
|
|
4559
4583
|
title: "Desktop and TUI are the same product",
|
|
4560
4584
|
domain: "architecture",
|
|
@@ -190,6 +190,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
190
190
|
const userAU = raw.autoUpdate ?? {};
|
|
191
191
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
192
192
|
}
|
|
193
|
+
function normalizeOrchestration(raw) {
|
|
194
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
195
|
+
const userOrg = raw.orchestration ?? {};
|
|
196
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
197
|
+
}
|
|
193
198
|
async function loadConfig() {
|
|
194
199
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
195
200
|
await ensurePrivateDir(dir);
|
|
@@ -214,6 +219,7 @@ async function loadConfig() {
|
|
|
214
219
|
normalizeScalingRoadmap(migratedCfg);
|
|
215
220
|
normalizeSessionLifecycle(migratedCfg);
|
|
216
221
|
normalizeAutoUpdate(migratedCfg);
|
|
222
|
+
normalizeOrchestration(migratedCfg);
|
|
217
223
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
218
224
|
if (config.dbPath.startsWith("~")) {
|
|
219
225
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -237,6 +243,7 @@ function loadConfigSync() {
|
|
|
237
243
|
normalizeScalingRoadmap(migratedCfg);
|
|
238
244
|
normalizeSessionLifecycle(migratedCfg);
|
|
239
245
|
normalizeAutoUpdate(migratedCfg);
|
|
246
|
+
normalizeOrchestration(migratedCfg);
|
|
240
247
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
241
248
|
} catch {
|
|
242
249
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db") };
|
|
@@ -308,6 +315,10 @@ var init_config = __esm({
|
|
|
308
315
|
checkOnBoot: true,
|
|
309
316
|
autoInstall: false,
|
|
310
317
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
318
|
+
},
|
|
319
|
+
orchestration: {
|
|
320
|
+
phase: "phase_1_coo",
|
|
321
|
+
phaseSetBy: "default"
|
|
311
322
|
}
|
|
312
323
|
};
|
|
313
324
|
CONFIG_MIGRATIONS = [
|
|
@@ -3868,6 +3879,12 @@ var init_platform_procedures = __esm({
|
|
|
3868
3879
|
priority: "p0",
|
|
3869
3880
|
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."
|
|
3870
3881
|
},
|
|
3882
|
+
{
|
|
3883
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
3884
|
+
domain: "workflow",
|
|
3885
|
+
priority: "p1",
|
|
3886
|
+
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."
|
|
3887
|
+
},
|
|
3871
3888
|
{
|
|
3872
3889
|
title: "Single dispatch path \u2014 create_task only",
|
|
3873
3890
|
domain: "workflow",
|
|
@@ -3926,6 +3943,12 @@ var init_platform_procedures = __esm({
|
|
|
3926
3943
|
priority: "p0",
|
|
3927
3944
|
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."
|
|
3928
3945
|
},
|
|
3946
|
+
{
|
|
3947
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
3948
|
+
domain: "workflow",
|
|
3949
|
+
priority: "p1",
|
|
3950
|
+
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."
|
|
3951
|
+
},
|
|
3929
3952
|
{
|
|
3930
3953
|
title: "Desktop and TUI are the same product",
|
|
3931
3954
|
domain: "architecture",
|
package/dist/bin/exe-kill.js
CHANGED
|
@@ -188,6 +188,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
188
188
|
const userAU = raw.autoUpdate ?? {};
|
|
189
189
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
190
190
|
}
|
|
191
|
+
function normalizeOrchestration(raw) {
|
|
192
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
193
|
+
const userOrg = raw.orchestration ?? {};
|
|
194
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
195
|
+
}
|
|
191
196
|
async function loadConfig() {
|
|
192
197
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
193
198
|
await ensurePrivateDir(dir);
|
|
@@ -212,6 +217,7 @@ async function loadConfig() {
|
|
|
212
217
|
normalizeScalingRoadmap(migratedCfg);
|
|
213
218
|
normalizeSessionLifecycle(migratedCfg);
|
|
214
219
|
normalizeAutoUpdate(migratedCfg);
|
|
220
|
+
normalizeOrchestration(migratedCfg);
|
|
215
221
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
216
222
|
if (config.dbPath.startsWith("~")) {
|
|
217
223
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -287,6 +293,10 @@ var init_config = __esm({
|
|
|
287
293
|
checkOnBoot: true,
|
|
288
294
|
autoInstall: false,
|
|
289
295
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
296
|
+
},
|
|
297
|
+
orchestration: {
|
|
298
|
+
phase: "phase_1_coo",
|
|
299
|
+
phaseSetBy: "default"
|
|
290
300
|
}
|
|
291
301
|
};
|
|
292
302
|
CONFIG_MIGRATIONS = [
|
|
@@ -3838,6 +3848,12 @@ var init_platform_procedures = __esm({
|
|
|
3838
3848
|
priority: "p0",
|
|
3839
3849
|
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."
|
|
3840
3850
|
},
|
|
3851
|
+
{
|
|
3852
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
3853
|
+
domain: "workflow",
|
|
3854
|
+
priority: "p1",
|
|
3855
|
+
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."
|
|
3856
|
+
},
|
|
3841
3857
|
{
|
|
3842
3858
|
title: "Single dispatch path \u2014 create_task only",
|
|
3843
3859
|
domain: "workflow",
|
|
@@ -3896,6 +3912,12 @@ var init_platform_procedures = __esm({
|
|
|
3896
3912
|
priority: "p0",
|
|
3897
3913
|
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."
|
|
3898
3914
|
},
|
|
3915
|
+
{
|
|
3916
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
3917
|
+
domain: "workflow",
|
|
3918
|
+
priority: "p1",
|
|
3919
|
+
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."
|
|
3920
|
+
},
|
|
3899
3921
|
{
|
|
3900
3922
|
title: "Desktop and TUI are the same product",
|
|
3901
3923
|
domain: "architecture",
|
|
@@ -214,6 +214,11 @@ function normalizeAutoUpdate(raw) {
|
|
|
214
214
|
const userAU = raw.autoUpdate ?? {};
|
|
215
215
|
raw.autoUpdate = { ...defaultAU, ...userAU };
|
|
216
216
|
}
|
|
217
|
+
function normalizeOrchestration(raw) {
|
|
218
|
+
const defaultOrg = DEFAULT_CONFIG.orchestration;
|
|
219
|
+
const userOrg = raw.orchestration ?? {};
|
|
220
|
+
raw.orchestration = { ...defaultOrg, ...userOrg };
|
|
221
|
+
}
|
|
217
222
|
async function loadConfig() {
|
|
218
223
|
const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
|
|
219
224
|
await ensurePrivateDir(dir);
|
|
@@ -238,6 +243,7 @@ async function loadConfig() {
|
|
|
238
243
|
normalizeScalingRoadmap(migratedCfg);
|
|
239
244
|
normalizeSessionLifecycle(migratedCfg);
|
|
240
245
|
normalizeAutoUpdate(migratedCfg);
|
|
246
|
+
normalizeOrchestration(migratedCfg);
|
|
241
247
|
const config = { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
242
248
|
if (config.dbPath.startsWith("~")) {
|
|
243
249
|
config.dbPath = config.dbPath.replace(/^~/, os.homedir());
|
|
@@ -261,6 +267,7 @@ function loadConfigSync() {
|
|
|
261
267
|
normalizeScalingRoadmap(migratedCfg);
|
|
262
268
|
normalizeSessionLifecycle(migratedCfg);
|
|
263
269
|
normalizeAutoUpdate(migratedCfg);
|
|
270
|
+
normalizeOrchestration(migratedCfg);
|
|
264
271
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db"), ...migratedCfg };
|
|
265
272
|
} catch {
|
|
266
273
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db") };
|
|
@@ -282,6 +289,7 @@ async function loadConfigFrom(configPath) {
|
|
|
282
289
|
normalizeScalingRoadmap(migratedCfg);
|
|
283
290
|
normalizeSessionLifecycle(migratedCfg);
|
|
284
291
|
normalizeAutoUpdate(migratedCfg);
|
|
292
|
+
normalizeOrchestration(migratedCfg);
|
|
285
293
|
return { ...DEFAULT_CONFIG, ...migratedCfg };
|
|
286
294
|
} catch {
|
|
287
295
|
return { ...DEFAULT_CONFIG };
|
|
@@ -353,6 +361,10 @@ var init_config = __esm({
|
|
|
353
361
|
checkOnBoot: true,
|
|
354
362
|
autoInstall: false,
|
|
355
363
|
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
364
|
+
},
|
|
365
|
+
orchestration: {
|
|
366
|
+
phase: "phase_1_coo",
|
|
367
|
+
phaseSetBy: "default"
|
|
356
368
|
}
|
|
357
369
|
};
|
|
358
370
|
CONFIG_MIGRATIONS = [
|
|
@@ -3239,6 +3251,12 @@ var init_platform_procedures = __esm({
|
|
|
3239
3251
|
priority: "p0",
|
|
3240
3252
|
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."
|
|
3241
3253
|
},
|
|
3254
|
+
{
|
|
3255
|
+
title: "Customer orchestration maturity \u2014 recommend, never trap",
|
|
3256
|
+
domain: "workflow",
|
|
3257
|
+
priority: "p1",
|
|
3258
|
+
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."
|
|
3259
|
+
},
|
|
3242
3260
|
{
|
|
3243
3261
|
title: "Single dispatch path \u2014 create_task only",
|
|
3244
3262
|
domain: "workflow",
|
|
@@ -3297,6 +3315,12 @@ var init_platform_procedures = __esm({
|
|
|
3297
3315
|
priority: "p0",
|
|
3298
3316
|
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."
|
|
3299
3317
|
},
|
|
3318
|
+
{
|
|
3319
|
+
title: "Commit discipline \u2014 never leave verified work floating",
|
|
3320
|
+
domain: "workflow",
|
|
3321
|
+
priority: "p1",
|
|
3322
|
+
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."
|
|
3323
|
+
},
|
|
3300
3324
|
{
|
|
3301
3325
|
title: "Desktop and TUI are the same product",
|
|
3302
3326
|
domain: "architecture",
|