@excitedjs/dreamux 0.9.4 → 0.9.5
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/dist/dispatcher/runtime.js +12 -0
- package/dist/dispatcher/runtime.js.map +1 -1
- package/dist/onboard/dispatcher-skill.js +17 -19
- package/dist/onboard/dispatcher-skill.js.map +1 -1
- package/dist/onboard/ledger.js +2 -0
- package/dist/onboard/ledger.js.map +1 -1
- package/dist/onboard/run.js +2 -2
- package/dist/onboard/run.js.map +1 -1
- package/dist/onboard/uninstall.js +6 -7
- package/dist/onboard/uninstall.js.map +1 -1
- package/dist/runtime/bundled-skills.js +225 -0
- package/dist/runtime/bundled-skills.js.map +1 -0
- package/dist/runtime/paths.js +22 -2
- package/dist/runtime/paths.js.map +1 -1
- package/package.json +3 -3
- package/skills/dispatcher/SKILL.md +27 -18
- package/skills/dreamux-maintenance/SKILL.md +96 -0
- package/skills/dreamux-maintenance/references/codex-turns.md +50 -0
- package/skills/team-dev-workflow/SKILL.md +62 -0
- package/skills/team-dev-workflow/references/design-negotiation.md +40 -0
- package/skills/team-dev-workflow/references/dispatch-and-unblock.md +39 -0
- package/skills/team-dev-workflow/references/merge-and-cleanup.md +37 -0
- package/skills/team-dev-workflow/references/review-cycle.md +46 -0
|
@@ -25,6 +25,7 @@ import { createFailFastApprovalHandler } from './approval.js';
|
|
|
25
25
|
import { dispatcherCodexCwd, dispatcherSocketPath, dispatcherStderrLog, dispatcherStdoutLog, } from '../runtime/paths.js';
|
|
26
26
|
import { dispatcherCodexHomeDoctorContext, } from '../runtime/dispatcher-codex-home.js';
|
|
27
27
|
import { dispatcherProcessEnv } from '../runtime/package-bin.js';
|
|
28
|
+
import { installBundledWorkspaceSkills } from '../runtime/bundled-skills.js';
|
|
28
29
|
const DEFAULT_RESTART_BACKOFF_BASE_MS = 1000;
|
|
29
30
|
const DEFAULT_RESTART_BACKOFF_MAX_MS = 30_000;
|
|
30
31
|
export class DispatcherRuntime {
|
|
@@ -124,6 +125,17 @@ export class DispatcherRuntime {
|
|
|
124
125
|
const cwd = this.row.codex_cwd ?? dispatcherCodexCwd(this.dispatcherId);
|
|
125
126
|
const socketPath = dispatcherSocketPath(this.dispatcherId);
|
|
126
127
|
const extraArgs = this.deps.resolveExtraArgs?.(this.row) ?? [];
|
|
128
|
+
const skillInstallResults = await installBundledWorkspaceSkills({
|
|
129
|
+
dispatcherCwd: cwd,
|
|
130
|
+
});
|
|
131
|
+
for (const result of skillInstallResults) {
|
|
132
|
+
if (result.status === 'skipped') {
|
|
133
|
+
this.log('warn', `bundled skill '${result.skillName}' not installed at ${result.targetPath}: ${result.reason}`);
|
|
134
|
+
}
|
|
135
|
+
else if (result.status === 'linked' || result.status === 'replaced') {
|
|
136
|
+
this.log('info', `bundled skill '${result.skillName}' ${result.status} at ${result.targetPath}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
127
139
|
if (this.deps.codexHomeDoctor !== undefined) {
|
|
128
140
|
await this.deps.codexHomeDoctor(dispatcherCodexHomeDoctorContext(this.dispatcherId, {
|
|
129
141
|
codexCliArgs: extraArgs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/dispatcher/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/dispatcher/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { dirname, join } from 'node:path';
|
|
3
|
-
import { fileURLToPath } from 'node:url';
|
|
4
|
-
import { writeTextFile } from './ledger.js';
|
|
5
|
-
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
6
|
-
const PACKAGE_ROOT = dirname(dirname(HERE));
|
|
7
|
-
const DISPATCHER_SKILL_SOURCE = join(PACKAGE_ROOT, 'skills', 'dispatcher', 'SKILL.md');
|
|
1
|
+
import { installBundledWorkspaceSkills } from '../runtime/bundled-skills.js';
|
|
8
2
|
export async function installDispatcherSkill(options) {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
3
|
+
const results = await installBundledWorkspaceSkills({
|
|
4
|
+
dispatcherCwd: options.dispatcherCwd,
|
|
5
|
+
dryRun: options.dryRun,
|
|
6
|
+
});
|
|
7
|
+
for (const result of results) {
|
|
8
|
+
const status = result.status === 'linked'
|
|
9
|
+
? 'created'
|
|
10
|
+
: result.status === 'replaced'
|
|
11
|
+
? 'modified'
|
|
12
|
+
: result.status === 'skipped'
|
|
13
|
+
? 'skipped'
|
|
14
|
+
: 'unchanged';
|
|
15
|
+
const reason = result.status === 'skipped'
|
|
16
|
+
? `workspace-local bundled skill symlink skipped: ${result.skillName}; ${result.reason}`
|
|
17
|
+
: `workspace-local bundled skill symlink: ${result.skillName}`;
|
|
18
|
+
options.ledger.record(result.targetPath, status, reason);
|
|
21
19
|
}
|
|
22
20
|
}
|
|
23
21
|
//# sourceMappingURL=dispatcher-skill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher-skill.js","sourceRoot":"","sources":["../../src/onboard/dispatcher-skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dispatcher-skill.js","sourceRoot":"","sources":["../../src/onboard/dispatcher-skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAG7E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAI5C;IACC,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC;QAClD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ;YACvC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;gBAC5B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;oBAC3B,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,WAAW,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS;YACxC,CAAC,CAAC,kDAAkD,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,MAAM,EAAE;YACxF,CAAC,CAAC,0CAA0C,MAAM,CAAC,SAAS,EAAE,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,UAAU,EACjB,MAAM,EACN,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/onboard/ledger.js
CHANGED
|
@@ -118,6 +118,8 @@ function mergeStatus(a, b) {
|
|
|
118
118
|
return 'created';
|
|
119
119
|
if (a === 'modified' || b === 'modified')
|
|
120
120
|
return 'modified';
|
|
121
|
+
if (a === 'skipped' || b === 'skipped')
|
|
122
|
+
return 'skipped';
|
|
121
123
|
return 'unchanged';
|
|
122
124
|
}
|
|
123
125
|
//# sourceMappingURL=ledger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/onboard/ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,4EAA4E;AAC5E,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/onboard/ledger.ts"],"names":[],"mappings":"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"}
|
package/dist/onboard/run.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { access } from 'node:fs/promises';
|
|
2
2
|
import { codexArgsToCli, parseCodexArgs } from '../runtime/codex-args.js';
|
|
3
3
|
import { assertNoLegacyTomlOnly, globalConfigFile, loadConfig, stringifyConfig, } from '../runtime/config.js';
|
|
4
|
-
import { dispatcherAppServerControlDir, dispatcherCodexHome, dispatcherWorkspaceCodexSkillsDir,
|
|
4
|
+
import { dispatcherAppServerControlDir, dispatcherCodexHome, dispatcherWorkspaceCodexSkillsDir, logsRoot, setRuntimeConfig, stateRoot, } from '../runtime/paths.js';
|
|
5
5
|
import { dispatcherCodexHomeDoctorContext, validateDispatcherCodexHome, } from '../runtime/dispatcher-codex-home.js';
|
|
6
6
|
import { ExecaCommandRunner } from './commands.js';
|
|
7
7
|
import { dispatcherCodexArgsJson, dreamuxConfigFromAnswers, } from './config-files.js';
|
|
@@ -52,7 +52,7 @@ export async function runOnboard(options) {
|
|
|
52
52
|
await ensureDirectory(effectiveAnswers.dispatcherCwd, ledger, 'dispatcher cwd', { dryRun: answers.dryRun });
|
|
53
53
|
await ensureDirectory(dispatcherWorkspaceCodexSkillsDir(effectiveAnswers.dispatcherCwd), ledger, 'workspace-local Codex skills directory', { dryRun: answers.dryRun });
|
|
54
54
|
await installDispatcherSkill({
|
|
55
|
-
|
|
55
|
+
dispatcherCwd: effectiveAnswers.dispatcherCwd,
|
|
56
56
|
ledger,
|
|
57
57
|
dryRun: answers.dryRun,
|
|
58
58
|
});
|
package/dist/onboard/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/onboard/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,iCAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/onboard/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ async function pathExists(path) {
|
|
|
14
14
|
import { ExecaCommandRunner } from './commands.js';
|
|
15
15
|
import { removeUserService } from './service.js';
|
|
16
16
|
import { assertNoLegacyTomlOnly, expandHome, globalConfigDir, globalConfigFile, loadConfig, } from '../runtime/config.js';
|
|
17
|
-
import {
|
|
17
|
+
import { dispatcherWorkspaceSkillDirs, logsRoot, stateRoot, } from '../runtime/paths.js';
|
|
18
18
|
export async function runUninstall(options = {}) {
|
|
19
19
|
const runner = options.runner ?? new ExecaCommandRunner();
|
|
20
20
|
const dryRun = options.dryRun ?? false;
|
|
@@ -69,24 +69,23 @@ async function warnIfConfigIsNotReadable(configDir, warnings) {
|
|
|
69
69
|
async function collectWorkspaceSkillPaths(configDir) {
|
|
70
70
|
try {
|
|
71
71
|
return (await loadConfig({ configDir })).config.dispatchers
|
|
72
|
-
.
|
|
73
|
-
.filter((path) => path !== null);
|
|
72
|
+
.flatMap(dispatcherWorkspaceSkillPathsFromConfig);
|
|
74
73
|
}
|
|
75
74
|
catch {
|
|
76
75
|
return [];
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
|
-
function
|
|
78
|
+
function dispatcherWorkspaceSkillPathsFromConfig(dispatcher) {
|
|
80
79
|
if (dispatcher.cwd === null || dispatcher.cwd.trim() === '')
|
|
81
|
-
return
|
|
82
|
-
return
|
|
80
|
+
return [];
|
|
81
|
+
return dispatcherWorkspaceSkillDirs(dispatcher.cwd);
|
|
83
82
|
}
|
|
84
83
|
async function reportWorkspaceSkills(paths, entries) {
|
|
85
84
|
for (const path of uniquePaths(paths)) {
|
|
86
85
|
entries.push({
|
|
87
86
|
path,
|
|
88
87
|
status: (await pathExists(path)) ? 'skipped' : 'missing',
|
|
89
|
-
reason: 'workspace-local
|
|
88
|
+
reason: 'workspace-local bundled skill (not removed)',
|
|
90
89
|
});
|
|
91
90
|
}
|
|
92
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/onboard/uninstall.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/onboard/uninstall.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
2
|
+
import { access, lstat, mkdir, readFile, readdir, realpath, rename, rm, stat, symlink, } from 'node:fs/promises';
|
|
3
|
+
import { dirname, resolve } from 'node:path';
|
|
4
|
+
import { BUNDLED_SKILL_NAMES, bundledSkillDir, dispatcherWorkspaceCodexSkillsDir, dispatcherWorkspaceSkillDir, } from './paths.js';
|
|
5
|
+
/** Async existence probe - the fs/promises replacement for existsSync. */
|
|
6
|
+
async function pathExists(path) {
|
|
7
|
+
try {
|
|
8
|
+
await access(path);
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const LEGACY_COPIED_DISPATCHER_SKILL_SHA256 = new Set([
|
|
16
|
+
// Pre-symlink Dreamux wrote exactly this dispatcher SKILL.md copy.
|
|
17
|
+
// Only exact unmodified copies are migrated automatically.
|
|
18
|
+
'4dca0986d2e7ecde171ac3436718eaa1fefe599dacfdc2d20c90d2cf1d443be1',
|
|
19
|
+
]);
|
|
20
|
+
export async function installBundledWorkspaceSkills(options) {
|
|
21
|
+
const platform = options.platform ?? process.platform;
|
|
22
|
+
if (platform === 'win32') {
|
|
23
|
+
throw new Error('workspace-local bundled skills require directory symlinks; Windows is not supported by this installer');
|
|
24
|
+
}
|
|
25
|
+
await assertDispatcherCwd(options.dispatcherCwd, options.dryRun ?? false);
|
|
26
|
+
const skillsDir = dispatcherWorkspaceCodexSkillsDir(options.dispatcherCwd);
|
|
27
|
+
if (!options.dryRun) {
|
|
28
|
+
await mkdir(skillsDir, { recursive: true });
|
|
29
|
+
}
|
|
30
|
+
const results = [];
|
|
31
|
+
for (const skillName of BUNDLED_SKILL_NAMES) {
|
|
32
|
+
results.push(await installOneSkill({
|
|
33
|
+
dispatcherCwd: options.dispatcherCwd,
|
|
34
|
+
skillName,
|
|
35
|
+
dryRun: options.dryRun ?? false,
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
return results;
|
|
39
|
+
}
|
|
40
|
+
async function assertDispatcherCwd(dispatcherCwd, allowMissing) {
|
|
41
|
+
let info;
|
|
42
|
+
try {
|
|
43
|
+
info = await stat(dispatcherCwd);
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
if (err.code === 'ENOENT') {
|
|
47
|
+
if (allowMissing)
|
|
48
|
+
return;
|
|
49
|
+
throw new Error(`dispatcher cwd does not exist: ${dispatcherCwd}`);
|
|
50
|
+
}
|
|
51
|
+
throw err;
|
|
52
|
+
}
|
|
53
|
+
if (!info.isDirectory()) {
|
|
54
|
+
throw new Error(`dispatcher cwd is not a directory: ${dispatcherCwd}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async function installOneSkill(options) {
|
|
58
|
+
const sourcePath = bundledSkillDir(options.skillName);
|
|
59
|
+
const targetPath = dispatcherWorkspaceSkillDir(options.dispatcherCwd, options.skillName);
|
|
60
|
+
await assertBundledSkillSource(options.skillName, sourcePath);
|
|
61
|
+
let targetInfo;
|
|
62
|
+
try {
|
|
63
|
+
targetInfo = await lstat(targetPath);
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
if (err.code !== 'ENOENT')
|
|
67
|
+
throw err;
|
|
68
|
+
}
|
|
69
|
+
if (targetInfo === undefined) {
|
|
70
|
+
if (!options.dryRun) {
|
|
71
|
+
await createSkillSymlink(sourcePath, targetPath, options.skillName);
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
skillName: options.skillName,
|
|
75
|
+
sourcePath,
|
|
76
|
+
targetPath,
|
|
77
|
+
status: 'linked',
|
|
78
|
+
reason: 'created workspace-local bundled skill symlink',
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (!targetInfo.isSymbolicLink()) {
|
|
82
|
+
const legacyCopiedSkill = await isLegacyCopiedDispatcherSkill({
|
|
83
|
+
skillName: options.skillName,
|
|
84
|
+
targetPath,
|
|
85
|
+
targetInfo,
|
|
86
|
+
});
|
|
87
|
+
if (legacyCopiedSkill) {
|
|
88
|
+
if (!options.dryRun) {
|
|
89
|
+
await replaceLegacyCopiedDirectoryWithSymlink(sourcePath, targetPath, options.skillName);
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
skillName: options.skillName,
|
|
93
|
+
sourcePath,
|
|
94
|
+
targetPath,
|
|
95
|
+
status: 'replaced',
|
|
96
|
+
reason: 'migrated a legacy Dreamux-copied dispatcher skill directory to the bundled symlink',
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
skillName: options.skillName,
|
|
101
|
+
sourcePath,
|
|
102
|
+
targetPath,
|
|
103
|
+
status: 'skipped',
|
|
104
|
+
reason: 'existing non-symlink skill path was left untouched; remove or rename it to use the bundled skill',
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
const currentTarget = await resolvedSymlinkTarget(targetPath);
|
|
108
|
+
const sourceRealPath = await realpath(sourcePath);
|
|
109
|
+
if (currentTarget === sourceRealPath) {
|
|
110
|
+
return {
|
|
111
|
+
skillName: options.skillName,
|
|
112
|
+
sourcePath,
|
|
113
|
+
targetPath,
|
|
114
|
+
status: 'unchanged',
|
|
115
|
+
reason: 'workspace-local bundled skill symlink already points to this package',
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
if (!options.dryRun) {
|
|
119
|
+
await replaceSkillSymlink(sourcePath, targetPath, options.skillName);
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
skillName: options.skillName,
|
|
123
|
+
sourcePath,
|
|
124
|
+
targetPath,
|
|
125
|
+
status: 'replaced',
|
|
126
|
+
reason: 'replaced stale or broken workspace-local bundled skill symlink',
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
async function assertBundledSkillSource(skillName, sourcePath) {
|
|
130
|
+
let info;
|
|
131
|
+
try {
|
|
132
|
+
info = await stat(sourcePath);
|
|
133
|
+
}
|
|
134
|
+
catch (err) {
|
|
135
|
+
if (err.code === 'ENOENT') {
|
|
136
|
+
throw new Error(`missing bundled skill '${skillName}': ${sourcePath}`);
|
|
137
|
+
}
|
|
138
|
+
throw err;
|
|
139
|
+
}
|
|
140
|
+
if (!info.isDirectory()) {
|
|
141
|
+
throw new Error(`bundled skill '${skillName}' is not a directory: ${sourcePath}`);
|
|
142
|
+
}
|
|
143
|
+
const skillFile = resolve(sourcePath, 'SKILL.md');
|
|
144
|
+
if (!(await pathExists(skillFile))) {
|
|
145
|
+
throw new Error(`bundled skill '${skillName}' is missing SKILL.md: ${skillFile}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async function isLegacyCopiedDispatcherSkill(options) {
|
|
149
|
+
if (options.skillName !== 'dispatcher' || !options.targetInfo.isDirectory()) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const entries = await readdir(options.targetPath);
|
|
154
|
+
if (entries.length !== 1 || entries[0] !== 'SKILL.md')
|
|
155
|
+
return false;
|
|
156
|
+
const skillFile = resolve(options.targetPath, 'SKILL.md');
|
|
157
|
+
const skillInfo = await stat(skillFile);
|
|
158
|
+
if (!skillInfo.isFile())
|
|
159
|
+
return false;
|
|
160
|
+
const content = await readFile(skillFile);
|
|
161
|
+
const hash = createHash('sha256').update(content).digest('hex');
|
|
162
|
+
return LEGACY_COPIED_DISPATCHER_SKILL_SHA256.has(hash);
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
async function resolvedSymlinkTarget(path) {
|
|
169
|
+
try {
|
|
170
|
+
return await realpath(path);
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
if (err.code !== 'ENOENT')
|
|
174
|
+
throw err;
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
async function createSkillSymlink(sourcePath, targetPath, skillName) {
|
|
179
|
+
try {
|
|
180
|
+
await symlink(sourcePath, targetPath, 'dir');
|
|
181
|
+
}
|
|
182
|
+
catch (err) {
|
|
183
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
184
|
+
const code = err.code;
|
|
185
|
+
const hint = code === 'EPERM' || code === 'EACCES' || code === 'ENOTSUP' || code === 'EINVAL'
|
|
186
|
+
? ' Check filesystem permissions and symlink support; dreamux does not copy bundled skills as a fallback.'
|
|
187
|
+
: '';
|
|
188
|
+
throw new Error(`failed to install bundled skill '${skillName}' as a symlink at ${targetPath}: ${detail}.${hint}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async function replaceSkillSymlink(sourcePath, targetPath, skillName) {
|
|
192
|
+
const temporaryTarget = resolve(dirname(targetPath), `.${skillName}.dreamux-next-${randomUUID()}`);
|
|
193
|
+
try {
|
|
194
|
+
await createSkillSymlink(sourcePath, temporaryTarget, skillName);
|
|
195
|
+
await rename(temporaryTarget, targetPath);
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
await rm(temporaryTarget, { force: true, recursive: false }).catch(() => { });
|
|
199
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
200
|
+
throw new Error(`failed to replace bundled skill '${skillName}' symlink at ${targetPath}: ${detail}`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
async function replaceLegacyCopiedDirectoryWithSymlink(sourcePath, targetPath, skillName) {
|
|
204
|
+
const parent = dirname(targetPath);
|
|
205
|
+
const suffix = randomUUID();
|
|
206
|
+
const temporaryLink = resolve(parent, `.${skillName}.dreamux-next-${suffix}`);
|
|
207
|
+
const backupPath = resolve(parent, `.${skillName}.dreamux-legacy-${suffix}`);
|
|
208
|
+
let backupCreated = false;
|
|
209
|
+
try {
|
|
210
|
+
await createSkillSymlink(sourcePath, temporaryLink, skillName);
|
|
211
|
+
await rename(targetPath, backupPath);
|
|
212
|
+
backupCreated = true;
|
|
213
|
+
await rename(temporaryLink, targetPath);
|
|
214
|
+
await rm(backupPath, { recursive: true });
|
|
215
|
+
}
|
|
216
|
+
catch (err) {
|
|
217
|
+
await rm(temporaryLink, { force: true, recursive: false }).catch(() => { });
|
|
218
|
+
if (backupCreated && !(await pathExists(targetPath))) {
|
|
219
|
+
await rename(backupPath, targetPath).catch(() => { });
|
|
220
|
+
}
|
|
221
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
222
|
+
throw new Error(`failed to migrate legacy copied bundled skill '${skillName}' at ${targetPath}: ${detail}`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=bundled-skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundled-skills.js","sourceRoot":"","sources":["../../src/runtime/bundled-skills.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/paths.js
CHANGED
|
@@ -20,10 +20,18 @@
|
|
|
20
20
|
* sites are retired.
|
|
21
21
|
*/
|
|
22
22
|
import { homedir } from 'node:os';
|
|
23
|
-
import { join } from 'node:path';
|
|
23
|
+
import { dirname, join } from 'node:path';
|
|
24
|
+
import { fileURLToPath } from 'node:url';
|
|
24
25
|
import { BUILT_IN_DEFAULTS, } from './config.js';
|
|
25
26
|
import { validateDispatcherId } from './dispatcher-id.js';
|
|
26
27
|
export const DREAMUX_UNIX_SOCKET_PATH_MAX_BYTES = 103;
|
|
28
|
+
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
29
|
+
const PACKAGE_ROOT = dirname(dirname(HERE));
|
|
30
|
+
export const BUNDLED_SKILL_NAMES = [
|
|
31
|
+
'dispatcher',
|
|
32
|
+
'team-dev-workflow',
|
|
33
|
+
'dreamux-maintenance',
|
|
34
|
+
];
|
|
27
35
|
let currentConfig = BUILT_IN_DEFAULTS;
|
|
28
36
|
/**
|
|
29
37
|
* Set the active configuration snapshot. Called once by Server.start() with
|
|
@@ -89,8 +97,20 @@ export function dispatcherCodexConfigPath(id) {
|
|
|
89
97
|
export function dispatcherWorkspaceCodexSkillsDir(cwd) {
|
|
90
98
|
return join(cwd, '.codex', 'skills');
|
|
91
99
|
}
|
|
100
|
+
export function dispatcherWorkspaceSkillDir(cwd, skillName) {
|
|
101
|
+
return join(dispatcherWorkspaceCodexSkillsDir(cwd), skillName);
|
|
102
|
+
}
|
|
103
|
+
export function dispatcherWorkspaceSkillDirs(cwd) {
|
|
104
|
+
return BUNDLED_SKILL_NAMES.map((skillName) => dispatcherWorkspaceSkillDir(cwd, skillName));
|
|
105
|
+
}
|
|
92
106
|
export function dispatcherWorkspaceSkillPath(cwd) {
|
|
93
|
-
return join(
|
|
107
|
+
return join(dispatcherWorkspaceSkillDir(cwd, 'dispatcher'), 'SKILL.md');
|
|
108
|
+
}
|
|
109
|
+
export function bundledSkillsDir() {
|
|
110
|
+
return join(PACKAGE_ROOT, 'skills');
|
|
111
|
+
}
|
|
112
|
+
export function bundledSkillDir(skillName) {
|
|
113
|
+
return join(bundledSkillsDir(), skillName);
|
|
94
114
|
}
|
|
95
115
|
export function dispatcherAppServerControlDir(id) {
|
|
96
116
|
return dispatcherDir(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/runtime/paths.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@excitedjs/dreamux",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.5",
|
|
4
4
|
"description": "Codex-host server — single-session MVP. One node process hosts N dispatchers, each binding 1 Feishu bot + 1 Codex thread.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"execa": "^9.6.1",
|
|
34
34
|
"pino": "^9.5.0",
|
|
35
35
|
"plist": "^5.0.0",
|
|
36
|
-
"@excitedjs/feishu-
|
|
37
|
-
"@excitedjs/feishu-
|
|
36
|
+
"@excitedjs/feishu-transport": "0.2.2",
|
|
37
|
+
"@excitedjs/feishu-channel": "0.0.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^22.10.0",
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dispatcher
|
|
3
|
-
description: Use from a
|
|
3
|
+
description: Use from a Dreamux dispatcher thread when bounded repository work should be delegated to a tm-managed Codex teammate. Applies to spawning, sending, waiting, checking status, resuming, or summarizing teammate work through the tm CLI exposed by the Dreamux package.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Dispatcher
|
|
7
7
|
|
|
8
|
-
Use this skill only from
|
|
9
|
-
dispatcher
|
|
10
|
-
|
|
8
|
+
Use this skill only from a Dreamux dispatcher session. Dreamux hosts the
|
|
9
|
+
dispatcher Codex app-server and exposes `tm` on the dispatcher `PATH`; `tm`
|
|
10
|
+
owns teammate lifecycle, history, and repository worktrees.
|
|
11
11
|
|
|
12
12
|
## Boundaries
|
|
13
13
|
|
|
14
|
-
- Use `tm` from the dispatcher environment PATH
|
|
14
|
+
- Use `tm` from the dispatcher environment `PATH`. Dreamux injects its package
|
|
15
15
|
`bin/` directory into the dispatcher Codex app-server PATH.
|
|
16
|
-
- Pass `--engine codex` on every `tm spawn`;
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
- Pass `--engine codex` on every `tm spawn`; do not rely on version-specific
|
|
17
|
+
defaults.
|
|
18
|
+
- Do not use `npx`, `npm exec --package @excitedjs/tm`, or a version-qualified
|
|
19
|
+
`@excitedjs/tm`; the Dreamux package owns the compatible tm version.
|
|
19
20
|
- Do not call dreamux admin APIs to create teammate state.
|
|
20
|
-
- Do not infer the
|
|
21
|
+
- Do not infer the target repository from the dispatcher cwd unless the user or
|
|
21
22
|
operator explicitly made that cwd the requested repo.
|
|
22
23
|
- Do not ask a tm-managed teammate to spawn another tm teammate.
|
|
23
24
|
|
|
@@ -31,15 +32,15 @@ security-sensitive, or missing a repository path.
|
|
|
31
32
|
Resolve the repo path in this order:
|
|
32
33
|
|
|
33
34
|
1. An absolute path in the user request.
|
|
34
|
-
2.
|
|
35
|
-
3. Ask the user for the repo path.
|
|
35
|
+
2. An explicit dispatcher environment variable set by the operator.
|
|
36
|
+
3. Ask the user for the repo path.
|
|
36
37
|
|
|
37
38
|
Use an absolute repo path for `tm spawn`. If the user gives a relative path,
|
|
38
39
|
make it absolute only when its base is explicit.
|
|
39
40
|
|
|
40
41
|
## Command Shape
|
|
41
42
|
|
|
42
|
-
Preflight once per dispatcher session:
|
|
43
|
+
Preflight once per dispatcher session and trust live help for flags:
|
|
43
44
|
|
|
44
45
|
```bash
|
|
45
46
|
tm --help
|
|
@@ -49,7 +50,8 @@ tm --help
|
|
|
49
50
|
|
|
50
51
|
1. Pick a flat teammate name: lowercase letters, digits, and hyphens; keep it
|
|
51
52
|
short and tied to the task, such as `tests-api` or `scan-auth`.
|
|
52
|
-
2. Spawn with the repo path, intent, and
|
|
53
|
+
2. Spawn with the repo path, Codex engine, intent, timeout, and full task
|
|
54
|
+
prompt:
|
|
53
55
|
|
|
54
56
|
```bash
|
|
55
57
|
tm spawn /absolute/repo \
|
|
@@ -82,6 +84,14 @@ tm send tests-api \
|
|
|
82
84
|
tm wait tests-api --timeout 180
|
|
83
85
|
```
|
|
84
86
|
|
|
87
|
+
## Status And Readback
|
|
88
|
+
|
|
89
|
+
- Use `tm status <name>` when a teammate appears stuck.
|
|
90
|
+
- Use `tm wait <name> --timeout <seconds>` to collect the next completed reply.
|
|
91
|
+
- Use `tm last <name>` or `tm history` when recovering a prior result.
|
|
92
|
+
- Report the command outcome, the teammate name, the repository path, and any
|
|
93
|
+
explicit failure. Do not invent a result that was not returned by `tm`.
|
|
94
|
+
|
|
85
95
|
## Failure Reporting
|
|
86
96
|
|
|
87
97
|
When a tm command fails, stop the delegation sequence and report:
|
|
@@ -95,13 +105,12 @@ When a tm command fails, stop the delegation sequence and report:
|
|
|
95
105
|
Known early startup failure to report verbatim:
|
|
96
106
|
|
|
97
107
|
```text
|
|
98
|
-
codex daemon (pid N) exited before binding
|
|
108
|
+
codex daemon (pid N) exited before binding <socket path>
|
|
99
109
|
```
|
|
100
110
|
|
|
101
111
|
That means the Codex app-server daemon did not become reachable. Do not retry
|
|
102
|
-
silently; report the environment failure and ask the operator to
|
|
103
|
-
|
|
104
|
-
environment.
|
|
112
|
+
silently; report the environment failure and ask the operator to run Dreamux
|
|
113
|
+
diagnostics in the dispatcher environment.
|
|
105
114
|
|
|
106
|
-
Do not say the
|
|
115
|
+
Do not say the Dreamux server lost or recovered teammate state. The server does
|
|
107
116
|
not own that state.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dreamux-maintenance
|
|
3
|
+
description: Diagnose and operate a Dreamux installation. Use when the user asks about dreamux serve or daemon startup, dispatcher status, missing replies, stuck turns, restart behavior, Codex app-server readiness, logs, config, or workspace-local bundled skills.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Dreamux Maintenance
|
|
7
|
+
|
|
8
|
+
Use this skill for operational diagnosis of an installed Dreamux host. Keep the
|
|
9
|
+
work factual: read the current config, status, logs, and command help before
|
|
10
|
+
explaining a failure or taking action.
|
|
11
|
+
|
|
12
|
+
## Safety
|
|
13
|
+
|
|
14
|
+
- Do not edit `~/.dreamux`, `~/.codex`, service units, shell startup files, or
|
|
15
|
+
environment variables without explaining the reason first.
|
|
16
|
+
- Do not paste bot IDs, tokens, private chat IDs, internal hostnames, or
|
|
17
|
+
machine-local paths into public issues, PRs, or commits.
|
|
18
|
+
- Prefer diagnostics and restart commands that preserve state. Do not remove
|
|
19
|
+
state or logs unless the operator explicitly asks.
|
|
20
|
+
- Do not copy bundled skills into a dispatcher workspace. Dreamux installs them
|
|
21
|
+
as symlinks under `<dispatcher cwd>/.codex/skills/`.
|
|
22
|
+
- Treat bundled skill paths as Dreamux-managed slots. A custom symlink at one
|
|
23
|
+
of those paths can be replaced by Dreamux; use a real directory or file only
|
|
24
|
+
when deliberately opting out of the bundled skill.
|
|
25
|
+
|
|
26
|
+
## Quick Triage
|
|
27
|
+
|
|
28
|
+
1. Identify the host mode:
|
|
29
|
+
- foreground: `dreamux serve`
|
|
30
|
+
- service-managed: `dreamux daemon start`, `dreamux daemon stop`, or
|
|
31
|
+
`dreamux daemon restart`
|
|
32
|
+
2. Read setup health:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
dreamux doctor
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
3. Inspect the server and dispatcher:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
dreamux status
|
|
42
|
+
dreamux dispatcher list
|
|
43
|
+
dreamux dispatcher status --id <dispatcher-id>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
4. Inspect config without exposing secrets:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
dreamux config path
|
|
50
|
+
dreamux config show
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
5. Read only the relevant logs from `~/.dreamux/logs/`:
|
|
54
|
+
- `dreamux-server.log`
|
|
55
|
+
- `codex-app-server/<dispatcher-id>.log`
|
|
56
|
+
- `codex-app-server/<dispatcher-id>.stderr.log`
|
|
57
|
+
- `feishu-channel/<dispatcher-id>.log`
|
|
58
|
+
- `feishu-mcp/<dispatcher-id>.log`
|
|
59
|
+
|
|
60
|
+
## Common Symptoms
|
|
61
|
+
|
|
62
|
+
| Symptom | First checks |
|
|
63
|
+
|---|---|
|
|
64
|
+
| Dispatcher does not start | `dreamux doctor`, dispatcher cwd exists, Codex auth exists, bundled skill symlinks are readable. |
|
|
65
|
+
| Inbound accepted but no reply | Dispatcher status, Codex app-server log, whether the turn is still active. |
|
|
66
|
+
| Restart did not announce recovery | `dreamux daemon restart --notify-resumed --dispatcher <id>` was used, and the dispatcher resumed an existing thread. |
|
|
67
|
+
| `tm` not found inside dispatcher | Dreamux package `bin/` directory is on dispatcher process `PATH`; rerun `dreamux doctor`. |
|
|
68
|
+
| Skill changes did not appear | Verify `<dispatcher cwd>/.codex/skills/<name>` is a symlink to the installed Dreamux package skill directory. |
|
|
69
|
+
| Skill path is a real file or directory | Dreamux leaves it untouched. If this is an intentional override, keep it; otherwise rename or remove it and restart the dispatcher. |
|
|
70
|
+
| Skill symlink is broken after an upgrade | Restart the dispatcher or rerun `dreamux onboard`; startup recreates stale or broken bundled skill symlinks. |
|
|
71
|
+
|
|
72
|
+
## Turn Mechanics
|
|
73
|
+
|
|
74
|
+
For questions about active turns, steering, background commands, and repeated
|
|
75
|
+
responses after compaction, read `references/codex-turns.md`.
|
|
76
|
+
|
|
77
|
+
## Restart Policy
|
|
78
|
+
|
|
79
|
+
- If only the service wrapper changed, use `dreamux daemon restart`.
|
|
80
|
+
- If a dispatcher is busy, prefer observing status first; restarting can drop
|
|
81
|
+
in-memory pending work.
|
|
82
|
+
- To announce a controlled restart to resumed dispatchers:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
dreamux daemon restart --notify-resumed --dispatcher <dispatcher-id>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Closeout
|
|
89
|
+
|
|
90
|
+
Report:
|
|
91
|
+
|
|
92
|
+
- commands run
|
|
93
|
+
- relevant status or log evidence
|
|
94
|
+
- whether the issue is config, permissions, Codex app-server readiness,
|
|
95
|
+
dispatcher turn state, or product behavior
|
|
96
|
+
- the smallest safe next action
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Codex Turns In Dreamux
|
|
2
|
+
|
|
3
|
+
## What A Turn Is
|
|
4
|
+
|
|
5
|
+
A turn is one model round opened by user input and kept alive until the model
|
|
6
|
+
stops requesting tools. While a turn is active, additional input can be folded
|
|
7
|
+
into that same turn and processed at the next model step.
|
|
8
|
+
|
|
9
|
+
## Start Versus Steer
|
|
10
|
+
|
|
11
|
+
- `turn/start` is aggregate behavior: it starts a fresh turn when idle and can
|
|
12
|
+
fold input into the currently active turn when busy.
|
|
13
|
+
- `turn/steer` targets an active turn and should fail when no active turn
|
|
14
|
+
exists or the expected turn id does not match.
|
|
15
|
+
|
|
16
|
+
Operational rule: when you need deterministic injection, identify whether a
|
|
17
|
+
turn is active before choosing start or steer behavior.
|
|
18
|
+
|
|
19
|
+
## Why Steering Is Not Instant
|
|
20
|
+
|
|
21
|
+
Tool calls return control only at yield boundaries. If the active turn is
|
|
22
|
+
waiting inside a long-running command or poll, injected input is usually not
|
|
23
|
+
processed until that tool call yields and the model samples again.
|
|
24
|
+
|
|
25
|
+
## Background Work Does Not Wake An Idle Model
|
|
26
|
+
|
|
27
|
+
A background command completing is an event for the host, not new user input.
|
|
28
|
+
If the dispatcher starts background work and ends the turn without polling,
|
|
29
|
+
the model may not observe completion until another user input starts a turn.
|
|
30
|
+
|
|
31
|
+
## Compaction Can Repeat Replies
|
|
32
|
+
|
|
33
|
+
Long conversations can compact mid-turn. After compaction, the model may
|
|
34
|
+
re-sample and repeat a prior response. Diagnose this by checking whether there
|
|
35
|
+
was one inbound user message and a compaction marker between repeated assistant
|
|
36
|
+
messages. Do not infer duplicate external delivery from repeated text alone.
|
|
37
|
+
|
|
38
|
+
## Head-Of-Line Blocking
|
|
39
|
+
|
|
40
|
+
Modern Dreamux dispatcher inbound should submit accepted messages without
|
|
41
|
+
waiting for the previous turn to complete. If a later message waits behind a
|
|
42
|
+
long turn, check whether the running version still uses a serial turn
|
|
43
|
+
submission path or whether another gate rejected the later message.
|
|
44
|
+
|
|
45
|
+
## App-Server Readiness
|
|
46
|
+
|
|
47
|
+
Before business RPCs, the Codex app-server connection must complete the
|
|
48
|
+
initialize handshake. A daemon that exits before binding its socket, fails the
|
|
49
|
+
handshake, or cannot read workspace-local skills should be treated as a
|
|
50
|
+
startup readiness failure, not as a chat delivery bug.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: team-dev-workflow
|
|
3
|
+
description: Coordinate multi-teammate software development workflows from a Dreamux dispatcher: adversarial MR/PR review, design negotiation, merge readiness checks, cleanup, and unblocking a teammate. Use for coordination cycles, not ordinary single-repo edits.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Team Development Workflow
|
|
7
|
+
|
|
8
|
+
Use this skill when the dispatcher is coordinating people or teammates around a
|
|
9
|
+
software change. It is methodology layered on top of the `dispatcher` skill:
|
|
10
|
+
`dispatcher` owns `tm` mechanics, while this skill owns review, design, merge,
|
|
11
|
+
and unblock workflow.
|
|
12
|
+
|
|
13
|
+
## Confirm Scope
|
|
14
|
+
|
|
15
|
+
Use this skill when:
|
|
16
|
+
|
|
17
|
+
- An MR/PR needs independent adversarial review before merge.
|
|
18
|
+
- A design direction is unsettled and two independent proposals should be
|
|
19
|
+
compared.
|
|
20
|
+
- A reviewed MR/PR is ready to merge and the teammate/worktree/branch need
|
|
21
|
+
cleanup.
|
|
22
|
+
- A teammate is blocked by git state, missing context, wrong base, or missed
|
|
23
|
+
review comments.
|
|
24
|
+
|
|
25
|
+
Do not use this skill for a normal implementation request such as "fix this
|
|
26
|
+
bug" or "add this endpoint". Delegate that as one bounded repository task with
|
|
27
|
+
the `dispatcher` skill.
|
|
28
|
+
|
|
29
|
+
## Coordinator Posture
|
|
30
|
+
|
|
31
|
+
- Verify facts from the target repo and platform before deciding.
|
|
32
|
+
- Do not edit target repo code from the coordinator context. Delegate repo work
|
|
33
|
+
to a teammate in that repo.
|
|
34
|
+
- Keep prompts short: intent, coordinates, hard constraints, and requested
|
|
35
|
+
artifact.
|
|
36
|
+
- When the target repo is public, explicitly forbid internal domains, tokens,
|
|
37
|
+
private identifiers, and machine-local paths in commits, MR/PRs, and comments.
|
|
38
|
+
- Prefer one accountable teammate per branch or review thread; reuse it for
|
|
39
|
+
follow-up rather than spawning duplicates.
|
|
40
|
+
|
|
41
|
+
## Scenario Routing
|
|
42
|
+
|
|
43
|
+
Read the matching reference before acting:
|
|
44
|
+
|
|
45
|
+
| Intent | Reference |
|
|
46
|
+
|---|---|
|
|
47
|
+
| Review an MR/PR or issue proposal adversarially | `references/review-cycle.md` |
|
|
48
|
+
| Compare two design directions before implementation | `references/design-negotiation.md` |
|
|
49
|
+
| Merge a reviewed change and clean up state | `references/merge-and-cleanup.md` |
|
|
50
|
+
| Dispatch or unblock a teammate | `references/dispatch-and-unblock.md` |
|
|
51
|
+
|
|
52
|
+
## Cross-Cutting Rules
|
|
53
|
+
|
|
54
|
+
- Reviewers must be independent from authors. Fresh context matters more than
|
|
55
|
+
a specific vendor or model family.
|
|
56
|
+
- The author does not review or merge its own work.
|
|
57
|
+
- CI and merge mode are target-repo policy. Read the repo/platform rules before
|
|
58
|
+
acting.
|
|
59
|
+
- Same-account automation may be unable to submit a formal approval or change
|
|
60
|
+
request. In that case, use a top-level MR/PR comment with a clear verdict.
|
|
61
|
+
- A clean review means no blocking findings on the current head, with required
|
|
62
|
+
checks green.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Design Negotiation
|
|
2
|
+
|
|
3
|
+
## Trigger
|
|
4
|
+
|
|
5
|
+
A design or architecture direction is unsettled, expensive to reverse, and has
|
|
6
|
+
more than one plausible path. This is for choosing an approach before
|
|
7
|
+
implementation, not for reviewing a finished MR/PR.
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
1. Write one neutral input brief for all participants:
|
|
12
|
+
- business need and observable facts
|
|
13
|
+
- relevant repo paths, scripts, and constraints
|
|
14
|
+
- candidate approaches as reference only, not a forced shortlist
|
|
15
|
+
- required output shape
|
|
16
|
+
- validation expectations
|
|
17
|
+
2. Dispatch two independent teammates in parallel with the same input brief.
|
|
18
|
+
Ask each to write a v1 proposal to a file.
|
|
19
|
+
3. Wait for both v1 files and verify they exist before continuing.
|
|
20
|
+
4. Swap the v1 files. Ask each teammate to read the other proposal and write a
|
|
21
|
+
v2 that states:
|
|
22
|
+
- what it adopts
|
|
23
|
+
- what it rebuts
|
|
24
|
+
- its revised recommendation
|
|
25
|
+
- remaining ambiguity
|
|
26
|
+
5. Hand both v2 proposals to the human intact. The coordinator does not
|
|
27
|
+
synthesize a third proposal or preselect a winner.
|
|
28
|
+
|
|
29
|
+
## Closeout
|
|
30
|
+
|
|
31
|
+
The human receives two revised, independently argued proposals. If both v2s
|
|
32
|
+
converge, report the convergence as evidence; still keep both proposals
|
|
33
|
+
available.
|
|
34
|
+
|
|
35
|
+
## Anti-Patterns
|
|
36
|
+
|
|
37
|
+
- Do not tell either teammate about the other in the v1 round.
|
|
38
|
+
- Do not skip the v2 cross-read.
|
|
39
|
+
- Do not add a coordinator-authored compromise.
|
|
40
|
+
- Do not let a teammate spawn its own reviewers for this cycle.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Dispatch And Unblock
|
|
2
|
+
|
|
3
|
+
## Trigger
|
|
4
|
+
|
|
5
|
+
You are assigning a teammate to a target repo, or a teammate is blocked by git
|
|
6
|
+
state, wrong base, missing context, or missed platform comments.
|
|
7
|
+
|
|
8
|
+
## Steps
|
|
9
|
+
|
|
10
|
+
1. Verify the target repository path and intended base branch before spawning.
|
|
11
|
+
2. Reuse an existing teammate when it already owns the branch or MR/PR.
|
|
12
|
+
3. Ensure the teammate brief includes only:
|
|
13
|
+
- intent
|
|
14
|
+
- branch, issue, or MR/PR coordinates
|
|
15
|
+
- hard constraints
|
|
16
|
+
- requested artifact
|
|
17
|
+
4. Tell the teammate to sync its working branch before editing when the task
|
|
18
|
+
will produce commits.
|
|
19
|
+
5. Tell the teammate to pull all current issue or MR/PR comments before acting.
|
|
20
|
+
Repeat this on follow-up turns when comments may have changed.
|
|
21
|
+
6. For public targets, include the no-internal-content constraint explicitly.
|
|
22
|
+
7. Set a short queryable task subject if the teammate tooling supports it.
|
|
23
|
+
|
|
24
|
+
## Unblocking
|
|
25
|
+
|
|
26
|
+
If a teammate cannot write git metadata because of sandbox permissions, the
|
|
27
|
+
coordinator may run the git operation from outside the sandbox: fetch, create a
|
|
28
|
+
branch, commit staged teammate-authored content, push, or clean a worktree. Do
|
|
29
|
+
only the git movement needed to unblock. The teammate still owns analysis and
|
|
30
|
+
content changes.
|
|
31
|
+
|
|
32
|
+
If a teammate started from the wrong base, stop it, remove the bad worktree,
|
|
33
|
+
reset the main checkout to the intended base, and spawn again. Do not ask a
|
|
34
|
+
teammate to build on a known-bad branch unless the human accepts that risk.
|
|
35
|
+
|
|
36
|
+
## Closeout
|
|
37
|
+
|
|
38
|
+
The teammate is on the intended base, has current platform comments, has a
|
|
39
|
+
minimal brief, and is no longer blocked on git or missing context.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Merge And Cleanup
|
|
2
|
+
|
|
3
|
+
## Trigger
|
|
4
|
+
|
|
5
|
+
An MR/PR has a clean independent review on the current head and required checks
|
|
6
|
+
are green.
|
|
7
|
+
|
|
8
|
+
## Steps
|
|
9
|
+
|
|
10
|
+
1. Re-read the current head SHA, required check status, draft state, and merge
|
|
11
|
+
state from the target platform.
|
|
12
|
+
2. If the MR/PR is a draft, mark it ready before merging and confirm the head
|
|
13
|
+
SHA did not change.
|
|
14
|
+
3. Scan the MR/PR title for bracketed CI-skip tokens. Remove or reword them
|
|
15
|
+
before squash merging so post-merge workflows are not skipped.
|
|
16
|
+
4. Merge using the target repo's allowed mode and branch-deletion policy.
|
|
17
|
+
5. Clean up the review cycle immediately:
|
|
18
|
+
- stop or close the reviewer teammate
|
|
19
|
+
- remove the review worktree
|
|
20
|
+
- delete the review branch if the cycle created one
|
|
21
|
+
- close the author teammate when its branch is no longer needed
|
|
22
|
+
6. Record the final status in teammate history where the tooling supports it.
|
|
23
|
+
|
|
24
|
+
## Closeout
|
|
25
|
+
|
|
26
|
+
The change is on the target branch, required post-merge workflows are not
|
|
27
|
+
accidentally skipped, and no temporary teammate, worktree, or review branch from
|
|
28
|
+
the cycle remains active.
|
|
29
|
+
|
|
30
|
+
## Exceptions
|
|
31
|
+
|
|
32
|
+
| Case | Action |
|
|
33
|
+
|---|---|
|
|
34
|
+
| Merge state is unclear | Check required status checks specifically; optional jobs may be noisy. |
|
|
35
|
+
| Same-account formal approval is missing | Use the clean review comment as the gate when platform policy allows owner/admin merge. |
|
|
36
|
+
| Worktree removal refuses | Use the platform or git command intended for forced worktree cleanup; the branch already landed. |
|
|
37
|
+
| Cleanup must be delayed | State what remains and when it will be removed. |
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Review Cycle
|
|
2
|
+
|
|
3
|
+
## Trigger
|
|
4
|
+
|
|
5
|
+
An MR/PR or issue proposal needs adversarial review before it can merge or move
|
|
6
|
+
to implementation.
|
|
7
|
+
|
|
8
|
+
Skip this cycle only when the change is trivial, the human already accepted the
|
|
9
|
+
risk, or an equally rigorous independent review already exists on the current
|
|
10
|
+
head.
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
1. Identify the author, branch, MR/PR or issue number, and current head SHA.
|
|
15
|
+
2. Confirm the target repo and platform visibility. If public, include a
|
|
16
|
+
no-internal-content constraint in the reviewer brief.
|
|
17
|
+
3. Confirm the change is ready to review: current branch pushed, required
|
|
18
|
+
checks known, and merge state readable.
|
|
19
|
+
4. Reuse an existing reviewer teammate only if it already owns this exact
|
|
20
|
+
branch or review thread. Otherwise spawn one independent reviewer.
|
|
21
|
+
5. Give the reviewer an adversarial brief:
|
|
22
|
+
- verify the author's claims instead of trusting them
|
|
23
|
+
- inspect the current diff against the target base
|
|
24
|
+
- run or justify focused verification
|
|
25
|
+
- report P0/P1/P2 findings with file and line references
|
|
26
|
+
- do not edit, commit, push, or merge
|
|
27
|
+
6. Bucket the verdict:
|
|
28
|
+
- no P0/P1: eligible for merge once required checks are green
|
|
29
|
+
- P0/P1: send the author a fix brief quoting the findings exactly
|
|
30
|
+
- P2 only: merge with follow-up or ask for a cheap one-shot fix
|
|
31
|
+
7. Recheck with the same reviewer after any force-push. Anchor the recheck on
|
|
32
|
+
the prior findings, new head SHA, and reported fixes.
|
|
33
|
+
|
|
34
|
+
## Closeout
|
|
35
|
+
|
|
36
|
+
The current head has an independent clean verdict, required checks are green,
|
|
37
|
+
and any remaining non-blocking follow-up is explicit.
|
|
38
|
+
|
|
39
|
+
## Exceptions
|
|
40
|
+
|
|
41
|
+
| Case | Action |
|
|
42
|
+
|---|---|
|
|
43
|
+
| Base advanced | Ask the author to rebase or merge the target base, then re-run checks. |
|
|
44
|
+
| Reviewer and author disagree | Escalate both positions to the human; do not silently pick a side. |
|
|
45
|
+
| Formal review action is rejected | Post the same verdict as a top-level MR/PR comment. |
|
|
46
|
+
| A reviewed line moved after force-push | Quote the problem statement so the reviewer can relocate it. |
|