oxe-cc 1.6.0 → 1.7.0
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/CHANGELOG.md +18 -0
- package/README.md +5 -3
- package/bin/lib/oxe-agent-install.cjs +125 -24
- package/bin/lib/oxe-release.cjs +1 -0
- package/bin/oxe-cc.js +87 -39
- package/commands/oxe/debug.md +6 -1
- package/commands/oxe/discuss.md +7 -2
- package/commands/oxe/execute.md +7 -2
- package/commands/oxe/plan-agent.md +7 -2
- package/commands/oxe/plan.md +7 -2
- package/commands/oxe/scan.md +6 -1
- package/commands/oxe/spec.md +6 -1
- package/commands/oxe/verify.md +6 -1
- package/docs/CONTENT-MIGRATION-AUDIT.md +49 -0
- package/docs/RUNTIME-SMOKE-MATRIX.md +1 -1
- package/lib/runtime/compiler/graph-compiler.js +32 -0
- package/lib/runtime/context/context-pack-builder.d.ts +15 -0
- package/lib/runtime/context/context-pack-builder.js +78 -0
- package/lib/runtime/events/catalog.d.ts +1 -1
- package/lib/runtime/events/catalog.js +5 -0
- package/lib/runtime/executor/action-tool-map.d.ts +3 -0
- package/lib/runtime/executor/action-tool-map.js +41 -0
- package/lib/runtime/executor/built-in-tools.d.ts +8 -0
- package/lib/runtime/executor/built-in-tools.js +267 -0
- package/lib/runtime/executor/index.d.ts +6 -0
- package/lib/runtime/executor/index.js +12 -0
- package/lib/runtime/executor/llm-task-executor.d.ts +29 -0
- package/lib/runtime/executor/llm-task-executor.js +138 -0
- package/lib/runtime/executor/node-prompt-builder.d.ts +3 -0
- package/lib/runtime/executor/node-prompt-builder.js +36 -0
- package/lib/runtime/executor/stream-completion.d.ts +38 -0
- package/lib/runtime/executor/stream-completion.js +105 -0
- package/lib/runtime/index.d.ts +1 -0
- package/lib/runtime/index.js +2 -0
- package/lib/runtime/models/failure.d.ts +5 -0
- package/lib/runtime/models/failure.js +2 -0
- package/lib/runtime/plugins/capability-adapter.d.ts +9 -0
- package/lib/runtime/plugins/capability-adapter.js +111 -8
- package/lib/runtime/plugins/plugin-abi.d.ts +8 -0
- package/lib/runtime/plugins/plugin-registry.d.ts +2 -1
- package/lib/runtime/plugins/plugin-registry.js +6 -1
- package/lib/runtime/reducers/run-state-reducer.js +39 -2
- package/lib/runtime/scheduler/scheduler.d.ts +14 -2
- package/lib/runtime/scheduler/scheduler.js +131 -11
- package/lib/runtime/verification/verification-manifest.d.ts +5 -2
- package/oxe/agents/oxe-assumptions-analyzer.md +136 -0
- package/oxe/agents/oxe-codebase-mapper.md +142 -0
- package/oxe/agents/oxe-debugger.md +145 -0
- package/oxe/agents/oxe-executor.md +139 -0
- package/oxe/agents/oxe-integration-checker.md +142 -0
- package/oxe/agents/oxe-plan-checker.md +143 -0
- package/oxe/agents/oxe-planner.md +151 -0
- package/oxe/agents/oxe-research-synthesizer.md +146 -0
- package/oxe/agents/oxe-researcher.md +163 -0
- package/oxe/agents/oxe-ui-auditor.md +151 -0
- package/oxe/agents/oxe-ui-checker.md +157 -0
- package/oxe/agents/oxe-ui-researcher.md +179 -0
- package/oxe/agents/oxe-validation-auditor.md +154 -0
- package/oxe/agents/oxe-verifier.md +132 -0
- package/oxe/personas/README.md +91 -39
- package/oxe/personas/architect.md +149 -37
- package/oxe/personas/db-specialist.md +149 -36
- package/oxe/personas/debugger.md +155 -38
- package/oxe/personas/executor.md +164 -38
- package/oxe/personas/planner.md +165 -36
- package/oxe/personas/researcher.md +148 -35
- package/oxe/personas/ui-specialist.md +164 -36
- package/oxe/personas/verifier.md +174 -39
- package/oxe/templates/FIXTURE-PACK.template.json +18 -11
- package/oxe/templates/FIXTURE-PACK.template.md +19 -10
- package/oxe/templates/IMPLEMENTATION-PACK.template.json +26 -10
- package/oxe/templates/IMPLEMENTATION-PACK.template.md +32 -20
- package/oxe/templates/PLAN.template.md +62 -31
- package/oxe/templates/REFERENCE-ANCHORS.template.md +14 -10
- package/oxe/templates/SUMMARY.template.md +50 -20
- package/oxe/workflows/debug.md +9 -7
- package/oxe/workflows/execute.md +11 -8
- package/oxe/workflows/forensics.md +5 -3
- package/oxe/workflows/plan.md +277 -0
- package/oxe/workflows/scan.md +355 -69
- package/oxe/workflows/spec.md +302 -9
- package/oxe/workflows/ui-review.md +5 -4
- package/oxe/workflows/ui-spec.md +4 -3
- package/oxe/workflows/verify.md +8 -5
- package/package.json +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/runtime/src/compiler/graph-compiler.ts +40 -0
- package/packages/runtime/src/context/context-pack-builder.ts +80 -0
- package/packages/runtime/src/events/catalog.ts +5 -0
- package/packages/runtime/src/executor/action-tool-map.ts +46 -0
- package/packages/runtime/src/executor/built-in-tools.ts +276 -0
- package/packages/runtime/src/executor/index.ts +6 -0
- package/packages/runtime/src/executor/llm-task-executor.ts +194 -0
- package/packages/runtime/src/executor/node-prompt-builder.ts +45 -0
- package/packages/runtime/src/executor/stream-completion.ts +145 -0
- package/packages/runtime/src/index.ts +3 -0
- package/packages/runtime/src/models/failure.ts +11 -0
- package/packages/runtime/src/plugins/capability-adapter.ts +117 -10
- package/packages/runtime/src/plugins/plugin-abi.ts +9 -0
- package/packages/runtime/src/plugins/plugin-registry.ts +10 -1
- package/packages/runtime/src/reducers/run-state-reducer.ts +59 -2
- package/packages/runtime/src/scheduler/scheduler.ts +152 -14
- package/packages/runtime/src/verification/verification-manifest.ts +12 -8
- package/vscode-extension/oxe-agents-1.7.0.vsix +0 -0
- package/vscode-extension/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,24 @@ Todas as versões seguem [Semantic Versioning](https://semver.org/). As mudança
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [1.7.0] — 2026-04-23
|
|
8
|
+
|
|
9
|
+
### OXE-native Agent Catalog
|
|
10
|
+
|
|
11
|
+
- adicionada a fonte canónica `oxe/agents/` com agentes especializados para plan, execute, verify, debug, research, codebase mapping, integração, validação e UI
|
|
12
|
+
- o instalador multi-runtime agora distribui agentes OXE para Claude Code (`.claude/agents`) e Codex/Antigravity (`.agents/skills` / skills compatíveis), além dos comandos já existentes
|
|
13
|
+
- uninstall e smoke matrix passaram a validar e remover os agentes gerados pelo OXE
|
|
14
|
+
|
|
15
|
+
### Rational Execution Artifacts
|
|
16
|
+
|
|
17
|
+
- templates de `PLAN`, `IMPLEMENTATION-PACK`, `REFERENCE-ANCHORS`, `FIXTURE-PACK` e `SUMMARY` foram endurecidos com contratos goal-backward, write-set, símbolos, sequência mínima, rollback, fixtures e evidência
|
|
18
|
+
- `/oxe-plan`, `/oxe-execute`, `/oxe-verify`, `/oxe-debug`, `/oxe-forensics`, `/oxe-ui-spec` e `/oxe-ui-review` agora referenciam explicitamente os agentes e gates racionais compatíveis com runtime enterprise
|
|
19
|
+
|
|
20
|
+
### Public Surface Hygiene
|
|
21
|
+
|
|
22
|
+
- `scan:assets` agora bloqueia referências públicas a namespaces, paths e nomes de origem legada
|
|
23
|
+
- criado `docs/CONTENT-MIGRATION-AUDIT.md` como trilha interna de incorporação, sem exposição nas superfícies instaladas
|
|
24
|
+
|
|
7
25
|
## [1.6.0] — 2026-04-23
|
|
8
26
|
|
|
9
27
|
### Product Reconciliation
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
[](https://www.npmjs.com/package/oxe-cc)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
|
-
**Versão:** `1.
|
|
10
|
+
**Versão:** `1.7.0` · [package.json](package.json)
|
|
11
11
|
|
|
12
12
|
**Framework OXE — Orchestrated eXperience Engineering**
|
|
13
13
|
|
|
@@ -52,7 +52,7 @@ O OXE agora distingue cinco famílias de raciocínio:
|
|
|
52
52
|
- `review` — findings primeiro, severidade, evidência e risco residual
|
|
53
53
|
- `status` — leitura curta do estado, recomendação única e motivo
|
|
54
54
|
|
|
55
|
-
Essas regras vivem no núcleo canónico em `oxe/workflows/references/reasoning-*.md`, sobem para os workflows em `oxe/workflows/` e são renderizadas para cada runtime em `.github/prompts/`, `.cursor/commands/`, `commands/oxe/`, `.codex/prompts/` e skills multiagente. Nesta linha, `oxe/workflows/**` e `workflow-runtime-contracts.json`
|
|
55
|
+
Essas regras vivem no núcleo canónico em `oxe/workflows/references/reasoning-*.md`, sobem para os workflows em `oxe/workflows/` e são renderizadas para cada runtime em `.github/prompts/`, `.cursor/commands/`, `commands/oxe/`, `.codex/prompts/` e skills multiagente. Agentes especializados vivem em `oxe/agents/` e são instalados como agentes/skills OXE-native quando o runtime suporta esse conceito. Nesta linha, `oxe/workflows/**`, `oxe/agents/**` e `workflow-runtime-contracts.json` são contratos obrigatórios da release; superfícies geradas permanecem derivadas e sincronizadas.
|
|
56
56
|
|
|
57
57
|
---
|
|
58
58
|
|
|
@@ -536,7 +536,9 @@ npx oxe-cc@latest
|
|
|
536
536
|
|
|
537
537
|
</details>
|
|
538
538
|
|
|
539
|
-
GitHub Copilot no VS Code é **workspace-first**: o OXE instala prompt files em `.github/prompts/*.prompt.md` e mescla instruções em `.github/copilot-instructions.md`. `~/.copilot/` fica reservado ao legado detectável e ao runtime do Copilot CLI.
|
|
539
|
+
GitHub Copilot no VS Code é **workspace-first**: o OXE instala prompt files em `.github/prompts/*.prompt.md` e mescla instruções em `.github/copilot-instructions.md`. `~/.copilot/` fica reservado ao legado detectável e ao runtime do Copilot CLI.
|
|
540
|
+
|
|
541
|
+
Claude Code recebe comandos em `.claude/commands` e agentes especializados em `.claude/agents`. Codex recebe prompts em `.codex/prompts` e skills OXE em `.agents/skills`, incluindo os agentes especializados derivados de `oxe/agents/`.
|
|
540
542
|
|
|
541
543
|
<details>
|
|
542
544
|
<summary><strong>Atualizar e desinstalar</strong></summary>
|
|
@@ -34,10 +34,11 @@ function expandTilde(p) {
|
|
|
34
34
|
* opencodeCommandDirs: string[],
|
|
35
35
|
* geminiCommandsBase: string,
|
|
36
36
|
* windsurfWorkflowsDir: string,
|
|
37
|
-
* codexPromptsDir: string,
|
|
38
|
-
* codexAgentsSkillsRoot: string,
|
|
39
|
-
* antigravitySkillsRoot: string,
|
|
40
|
-
*
|
|
37
|
+
* codexPromptsDir: string,
|
|
38
|
+
* codexAgentsSkillsRoot: string,
|
|
39
|
+
* antigravitySkillsRoot: string,
|
|
40
|
+
* claudeAgentsDir: string,
|
|
41
|
+
* }} AgentInstallPaths
|
|
41
42
|
*/
|
|
42
43
|
|
|
43
44
|
/**
|
|
@@ -56,21 +57,23 @@ function buildAgentInstallPaths(ideGlobal, projectRoot) {
|
|
|
56
57
|
opencodeCommandDirs: [path.join(xdg, 'opencode', 'commands'), path.join(home, '.opencode', 'commands')],
|
|
57
58
|
geminiCommandsBase: path.join(home, '.gemini', 'commands'),
|
|
58
59
|
windsurfWorkflowsDir: path.join(home, '.codeium', 'windsurf', 'global_workflows'),
|
|
59
|
-
codexPromptsDir: path.join(codexHome, 'prompts'),
|
|
60
|
-
codexAgentsSkillsRoot: path.join(home, '.agents', 'skills'),
|
|
61
|
-
antigravitySkillsRoot: path.join(home, '.gemini', 'antigravity', 'skills'),
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
codexPromptsDir: path.join(codexHome, 'prompts'),
|
|
61
|
+
codexAgentsSkillsRoot: path.join(home, '.agents', 'skills'),
|
|
62
|
+
antigravitySkillsRoot: path.join(home, '.gemini', 'antigravity', 'skills'),
|
|
63
|
+
claudeAgentsDir: path.join(home, '.claude', 'agents'),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
64
66
|
return {
|
|
65
67
|
ideGlobal: false,
|
|
66
68
|
opencodeCommandDirs: [path.join(root, '.opencode', 'commands')],
|
|
67
69
|
geminiCommandsBase: path.join(root, '.gemini', 'commands'),
|
|
68
70
|
windsurfWorkflowsDir: path.join(root, '.windsurf', 'global_workflows'),
|
|
69
|
-
codexPromptsDir: path.join(root, '.codex', 'prompts'),
|
|
70
|
-
codexAgentsSkillsRoot: path.join(root, '.agents', 'skills'),
|
|
71
|
-
antigravitySkillsRoot: path.join(root, '.gemini', 'antigravity', 'skills'),
|
|
72
|
-
|
|
73
|
-
}
|
|
71
|
+
codexPromptsDir: path.join(root, '.codex', 'prompts'),
|
|
72
|
+
codexAgentsSkillsRoot: path.join(root, '.agents', 'skills'),
|
|
73
|
+
antigravitySkillsRoot: path.join(root, '.gemini', 'antigravity', 'skills'),
|
|
74
|
+
claudeAgentsDir: path.join(root, '.claude', 'agents'),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
74
77
|
|
|
75
78
|
/** @param {string} content */
|
|
76
79
|
function adjustWorkflowPathsForNestedLayout(content) {
|
|
@@ -113,7 +116,7 @@ function parseCursorCommandFrontmatter(text) {
|
|
|
113
116
|
* @param {string} body
|
|
114
117
|
* @param {Record<string, string>} [metadata]
|
|
115
118
|
*/
|
|
116
|
-
function buildAgentSkillMarkdown(skillName, description, body, metadata) {
|
|
119
|
+
function buildAgentSkillMarkdown(skillName, description, body, metadata) {
|
|
117
120
|
const desc = description.trim() || `Comando OXE — ${skillName}`;
|
|
118
121
|
const meta = metadata ? runtimeSemantics.pickRuntimeMetadata(metadata) : {};
|
|
119
122
|
const metaLines = Object.keys(meta).length
|
|
@@ -128,11 +131,91 @@ function buildAgentSkillMarkdown(skillName, description, body, metadata) {
|
|
|
128
131
|
`---\n\n` +
|
|
129
132
|
`${OXE_MANAGED_HTML}\n\n` +
|
|
130
133
|
`${body}\n`
|
|
131
|
-
);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/** @param {string} name */
|
|
138
|
+
function isOxeAgentMarkdownName(name) {
|
|
139
|
+
return name.startsWith('oxe-') && name.endsWith('.md');
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* @param {string} text
|
|
144
|
+
* @returns {{ name: string, description: string, body: string, frontmatter: Record<string, string> }}
|
|
145
|
+
*/
|
|
146
|
+
function parseCanonicalAgentMarkdown(text) {
|
|
147
|
+
const parsed = parseCursorCommandFrontmatter(text);
|
|
148
|
+
return {
|
|
149
|
+
name: parsed.frontmatter.name || '',
|
|
150
|
+
description: parsed.description || parsed.frontmatter.description || '',
|
|
151
|
+
body: parsed.body,
|
|
152
|
+
frontmatter: parsed.frontmatter,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Instala agentes especializados OXE como markdown nativo para runtimes que suportam agentes.
|
|
158
|
+
* @param {string} agentsSrc
|
|
159
|
+
* @param {string} destDir
|
|
160
|
+
* @param {{ dryRun: boolean, force: boolean }} opts
|
|
161
|
+
* @param {(s: string) => void} [logOmitido]
|
|
162
|
+
* @param {(s: string) => void} [logWrite]
|
|
163
|
+
*/
|
|
164
|
+
function installCanonicalAgentMarkdowns(agentsSrc, destDir, opts, logOmitido, logWrite) {
|
|
165
|
+
if (!fs.existsSync(agentsSrc)) return;
|
|
166
|
+
for (const name of fs.readdirSync(agentsSrc)) {
|
|
167
|
+
if (!isOxeAgentMarkdownName(name)) continue;
|
|
168
|
+
const src = path.join(agentsSrc, name);
|
|
169
|
+
const dest = path.join(destDir, name);
|
|
170
|
+
if (opts.dryRun) {
|
|
171
|
+
if (logWrite) logWrite(`${src} → ${dest}`);
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (fs.existsSync(dest) && !opts.force) {
|
|
175
|
+
if (logOmitido) logOmitido(dest);
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
const raw = fs.readFileSync(src, 'utf8');
|
|
179
|
+
const out = raw.includes(OXE_MANAGED_HTML) ? raw : raw.replace(/\n?$/, `\n\n${OXE_MANAGED_HTML}\n`);
|
|
180
|
+
fs.mkdirSync(destDir, { recursive: true });
|
|
181
|
+
fs.writeFileSync(dest, out, 'utf8');
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Instala agentes especializados OXE como skills Codex/Antigravity.
|
|
187
|
+
* @param {string} agentsSrc
|
|
188
|
+
* @param {string} skillsRoot
|
|
189
|
+
* @param {{ dryRun: boolean, force: boolean }} opts
|
|
190
|
+
* @param {(s: string) => void} [logOmitido]
|
|
191
|
+
* @param {(s: string) => void} [logWrite]
|
|
192
|
+
*/
|
|
193
|
+
function installCanonicalAgentSkills(agentsSrc, skillsRoot, opts, logOmitido, logWrite) {
|
|
194
|
+
if (!fs.existsSync(agentsSrc)) return;
|
|
195
|
+
for (const name of fs.readdirSync(agentsSrc)) {
|
|
196
|
+
if (!isOxeAgentMarkdownName(name)) continue;
|
|
197
|
+
const src = path.join(agentsSrc, name);
|
|
198
|
+
const raw = fs.readFileSync(src, 'utf8');
|
|
199
|
+
const parsed = parseCanonicalAgentMarkdown(raw);
|
|
200
|
+
const skillName = parsed.name || name.replace(/\.md$/i, '');
|
|
201
|
+
const md = buildAgentSkillMarkdown(skillName, parsed.description, parsed.body, parsed.frontmatter);
|
|
202
|
+
const destDir = path.join(skillsRoot, skillName);
|
|
203
|
+
const dest = path.join(destDir, 'SKILL.md');
|
|
204
|
+
if (opts.dryRun) {
|
|
205
|
+
if (logWrite) logWrite(`${src} → ${dest}`);
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
if (fs.existsSync(dest) && !opts.force) {
|
|
209
|
+
if (logOmitido) logOmitido(dest);
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
fs.mkdirSync(destDir, { recursive: true });
|
|
213
|
+
fs.writeFileSync(dest, md, 'utf8');
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* @returns {string[]}
|
|
136
219
|
*/
|
|
137
220
|
function opencodeCommandDirs() {
|
|
138
221
|
return buildAgentInstallPaths(true, process.cwd()).opencodeCommandDirs;
|
|
@@ -499,6 +582,21 @@ function cleanupMarkedUnifiedArtifacts(u, paths) {
|
|
|
499
582
|
}
|
|
500
583
|
}
|
|
501
584
|
|
|
585
|
+
if (shouldClean('claude')) {
|
|
586
|
+
const clAgents = p.claudeAgentsDir;
|
|
587
|
+
if (fs.existsSync(clAgents)) {
|
|
588
|
+
for (const name of fs.readdirSync(clAgents)) {
|
|
589
|
+
if (!isOxeAgentMarkdownName(name)) continue;
|
|
590
|
+
const filePath = path.join(clAgents, name);
|
|
591
|
+
try {
|
|
592
|
+
if (fs.readFileSync(filePath, 'utf8').includes(OXE_MANAGED_HTML)) unlinkQuiet(filePath);
|
|
593
|
+
} catch {
|
|
594
|
+
/* ignore */
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
|
|
502
600
|
if (shouldClean('antigravity')) {
|
|
503
601
|
const agRoot = p.antigravitySkillsRoot;
|
|
504
602
|
if (fs.existsSync(agRoot)) {
|
|
@@ -531,15 +629,18 @@ module.exports = {
|
|
|
531
629
|
buildAgentSkillMarkdown,
|
|
532
630
|
installSkillTreeFromCursorCommands,
|
|
533
631
|
installOpenCodeCommands,
|
|
534
|
-
installGeminiTomlCommands,
|
|
535
|
-
installWindsurfGlobalWorkflows,
|
|
536
|
-
installCodexPrompts,
|
|
537
|
-
|
|
632
|
+
installGeminiTomlCommands,
|
|
633
|
+
installWindsurfGlobalWorkflows,
|
|
634
|
+
installCodexPrompts,
|
|
635
|
+
installCanonicalAgentMarkdowns,
|
|
636
|
+
installCanonicalAgentSkills,
|
|
637
|
+
opencodeCommandDirs,
|
|
538
638
|
windsurfGlobalWorkflowsDir,
|
|
539
639
|
geminiUserDir,
|
|
540
640
|
codexAgentsSkillsRoot,
|
|
541
641
|
codexPromptsDir,
|
|
542
642
|
antigravitySkillsRoot,
|
|
543
643
|
isOxeCommandMarkdownName,
|
|
644
|
+
isOxeAgentMarkdownName,
|
|
544
645
|
cleanupMarkedUnifiedArtifacts,
|
|
545
646
|
};
|
package/bin/lib/oxe-release.cjs
CHANGED
package/bin/oxe-cc.js
CHANGED
|
@@ -2730,10 +2730,14 @@ function runInstall(opts) {
|
|
|
2730
2730
|
copyDir(path.join(PKG_ROOT, 'oxe', 'templates'), path.join(nested, 'templates'), copyOpts, true);
|
|
2731
2731
|
// Personas: copiar para .oxe/personas/ (não sobrescreve personalizações do projeto)
|
|
2732
2732
|
const personasSrc = path.join(PKG_ROOT, 'oxe', 'personas');
|
|
2733
|
-
if (fs.existsSync(personasSrc)) {
|
|
2734
|
-
copyDir(personasSrc, path.join(nested, 'personas'), copyOpts, false);
|
|
2735
|
-
}
|
|
2736
|
-
|
|
2733
|
+
if (fs.existsSync(personasSrc)) {
|
|
2734
|
+
copyDir(personasSrc, path.join(nested, 'personas'), copyOpts, false);
|
|
2735
|
+
}
|
|
2736
|
+
const agentsSrc = path.join(PKG_ROOT, 'oxe', 'agents');
|
|
2737
|
+
if (fs.existsSync(agentsSrc)) {
|
|
2738
|
+
copyDir(agentsSrc, path.join(nested, 'agents'), copyOpts, false);
|
|
2739
|
+
}
|
|
2740
|
+
// Schemas: copiar para .oxe/schemas/ (ex.: plan-agents.schema.json para validação local)
|
|
2737
2741
|
const schemasSrc = path.join(PKG_ROOT, 'oxe', 'schemas');
|
|
2738
2742
|
if (fs.existsSync(schemasSrc)) {
|
|
2739
2743
|
copyDir(schemasSrc, path.join(nested, 'schemas'), copyOpts, false);
|
|
@@ -2748,10 +2752,11 @@ function runInstall(opts) {
|
|
|
2748
2752
|
if (fs.existsSync(cRules)) copyDir(cRules, path.join(cursorBase, 'rules'), copyOpts, idePathRewrite);
|
|
2749
2753
|
}
|
|
2750
2754
|
|
|
2751
|
-
const doAgentClis = opts.copilotCli || opts.allAgents;
|
|
2752
|
-
if (doAgentClis) {
|
|
2753
|
-
const cCmd = path.join(PKG_ROOT, '.cursor', 'commands');
|
|
2754
|
-
const
|
|
2755
|
+
const doAgentClis = opts.copilotCli || opts.allAgents;
|
|
2756
|
+
if (doAgentClis) {
|
|
2757
|
+
const cCmd = path.join(PKG_ROOT, '.cursor', 'commands');
|
|
2758
|
+
const canonicalAgents = path.join(PKG_ROOT, 'oxe', 'agents');
|
|
2759
|
+
const clBase = installClaudeBase(opts);
|
|
2755
2760
|
const cpHome = installCopilotCliHome(opts);
|
|
2756
2761
|
const clDest = path.join(clBase, 'commands');
|
|
2757
2762
|
const cpCmdDest = path.join(cpHome, 'commands');
|
|
@@ -2760,16 +2765,24 @@ function runInstall(opts) {
|
|
|
2760
2765
|
console.log(
|
|
2761
2766
|
` ${c ? green : ''}cli${c ? reset : ''} ${c ? dim : ''}Claude/Copilot: skills em${c ? reset : ''} ${c ? cyan : ''}${cpSkills}${c ? reset : ''} ${c ? dim : ''}(/oxe, /oxe-scan, …); comandos .md:${c ? reset : ''} ${c ? cyan : ''}${clDest}${c ? reset : ''} ${c ? dim : ''}+${c ? reset : ''} ${c ? cyan : ''}${cpCmdDest}${c ? reset : ''}`
|
|
2762
2767
|
);
|
|
2763
|
-
installOxeCopilotCliSkills(cCmd, cpHome, copyOpts, idePathRewrite);
|
|
2764
|
-
copyDir(cCmd, clDest, copyOpts, idePathRewrite);
|
|
2765
|
-
copyDir(cCmd, cpCmdDest, copyOpts, idePathRewrite);
|
|
2766
|
-
|
|
2768
|
+
installOxeCopilotCliSkills(cCmd, cpHome, copyOpts, idePathRewrite);
|
|
2769
|
+
copyDir(cCmd, clDest, copyOpts, idePathRewrite);
|
|
2770
|
+
copyDir(cCmd, cpCmdDest, copyOpts, idePathRewrite);
|
|
2771
|
+
if (fs.existsSync(canonicalAgents)) {
|
|
2772
|
+
oxeAgentInstall.installCanonicalAgentMarkdowns(
|
|
2773
|
+
canonicalAgents,
|
|
2774
|
+
agentPaths.claudeAgentsDir,
|
|
2775
|
+
copyOpts
|
|
2776
|
+
);
|
|
2777
|
+
}
|
|
2778
|
+
} else {
|
|
2767
2779
|
console.warn(`${yellow}aviso:${reset} pasta ausente ${cCmd} — ignorando comandos CLI`);
|
|
2768
2780
|
}
|
|
2769
2781
|
}
|
|
2770
2782
|
|
|
2771
|
-
const cCmdAgents = path.join(PKG_ROOT, '.cursor', 'commands');
|
|
2772
|
-
|
|
2783
|
+
const cCmdAgents = path.join(PKG_ROOT, '.cursor', 'commands');
|
|
2784
|
+
const canonicalAgents = path.join(PKG_ROOT, 'oxe', 'agents');
|
|
2785
|
+
if (fs.existsSync(cCmdAgents) && (opts.allAgents || anyGranularAgent(opts))) {
|
|
2773
2786
|
const logO = (d) => console.log(`${dim}omitido${reset} ${d} (já existe — use --force)`);
|
|
2774
2787
|
const logW = (msg) => console.log(`${dim}agents${reset} ${msg}`);
|
|
2775
2788
|
console.log(
|
|
@@ -2787,27 +2800,41 @@ function runInstall(opts) {
|
|
|
2787
2800
|
if (opts.agentCodex || opts.allAgents) {
|
|
2788
2801
|
oxeAgentInstall.installCodexPrompts(cCmdAgents, agentPaths, copyOpts, idePathRewrite, logO, logW);
|
|
2789
2802
|
}
|
|
2790
|
-
if (opts.agentAntigravity || opts.allAgents) {
|
|
2791
|
-
oxeAgentInstall.installSkillTreeFromCursorCommands(
|
|
2803
|
+
if (opts.agentAntigravity || opts.allAgents) {
|
|
2804
|
+
oxeAgentInstall.installSkillTreeFromCursorCommands(
|
|
2792
2805
|
cCmdAgents,
|
|
2793
2806
|
agentPaths.antigravitySkillsRoot,
|
|
2794
2807
|
copyOpts,
|
|
2795
2808
|
idePathRewrite,
|
|
2796
2809
|
logO,
|
|
2797
|
-
logW
|
|
2798
|
-
);
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2810
|
+
logW
|
|
2811
|
+
);
|
|
2812
|
+
oxeAgentInstall.installCanonicalAgentSkills(
|
|
2813
|
+
canonicalAgents,
|
|
2814
|
+
agentPaths.antigravitySkillsRoot,
|
|
2815
|
+
copyOpts,
|
|
2816
|
+
logO,
|
|
2817
|
+
logW
|
|
2818
|
+
);
|
|
2819
|
+
}
|
|
2820
|
+
if (opts.agentCodex || opts.allAgents) {
|
|
2821
|
+
oxeAgentInstall.installSkillTreeFromCursorCommands(
|
|
2802
2822
|
cCmdAgents,
|
|
2803
2823
|
agentPaths.codexAgentsSkillsRoot,
|
|
2804
2824
|
copyOpts,
|
|
2805
2825
|
idePathRewrite,
|
|
2806
2826
|
logO,
|
|
2807
|
-
logW
|
|
2808
|
-
);
|
|
2809
|
-
|
|
2810
|
-
|
|
2827
|
+
logW
|
|
2828
|
+
);
|
|
2829
|
+
oxeAgentInstall.installCanonicalAgentSkills(
|
|
2830
|
+
canonicalAgents,
|
|
2831
|
+
agentPaths.codexAgentsSkillsRoot,
|
|
2832
|
+
copyOpts,
|
|
2833
|
+
logO,
|
|
2834
|
+
logW
|
|
2835
|
+
);
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2811
2838
|
|
|
2812
2839
|
if (opts.copilot) {
|
|
2813
2840
|
const gh = path.join(PKG_ROOT, '.github');
|
|
@@ -2897,10 +2924,11 @@ function runInstall(opts) {
|
|
|
2897
2924
|
addTracked(copilotPromptsDirPath(opts), (n) => n.startsWith('oxe-'));
|
|
2898
2925
|
trackFile(copilotWorkspaceManifestPath(opts));
|
|
2899
2926
|
}
|
|
2900
|
-
trackFile(runtimeSemanticsManifestPath(opts));
|
|
2901
|
-
if (opts.copilotCli || opts.allAgents) {
|
|
2902
|
-
addTracked(path.join(installClaudeBase(opts), 'commands'), (n) => oxeAgentInstall.isOxeCommandMarkdownName(n));
|
|
2903
|
-
addTracked(
|
|
2927
|
+
trackFile(runtimeSemanticsManifestPath(opts));
|
|
2928
|
+
if (opts.copilotCli || opts.allAgents) {
|
|
2929
|
+
addTracked(path.join(installClaudeBase(opts), 'commands'), (n) => oxeAgentInstall.isOxeCommandMarkdownName(n));
|
|
2930
|
+
addTracked(agentPaths.claudeAgentsDir, (n) => oxeAgentInstall.isOxeAgentMarkdownName(n));
|
|
2931
|
+
addTracked(path.join(cpCliHome, 'commands'), (n) => oxeAgentInstall.isOxeCommandMarkdownName(n));
|
|
2904
2932
|
const skRoot = path.join(cpCliHome, 'skills');
|
|
2905
2933
|
if (fs.existsSync(skRoot)) {
|
|
2906
2934
|
for (const sub of fs.readdirSync(skRoot, { withFileTypes: true })) {
|
|
@@ -3036,8 +3064,8 @@ function uninstallLocalIdeFromProject(u, removedPaths) {
|
|
|
3036
3064
|
track(manifest);
|
|
3037
3065
|
}
|
|
3038
3066
|
|
|
3039
|
-
if (u.copilotCli || u.allAgents) {
|
|
3040
|
-
for (const base of [path.join(proj, '.claude'), path.join(proj, '.copilot')]) {
|
|
3067
|
+
if (u.copilotCli || u.allAgents) {
|
|
3068
|
+
for (const base of [path.join(proj, '.claude'), path.join(proj, '.copilot')]) {
|
|
3041
3069
|
const cmdDir = path.join(base, 'commands');
|
|
3042
3070
|
if (!fs.existsSync(cmdDir)) continue;
|
|
3043
3071
|
for (const name of fs.readdirSync(cmdDir)) {
|
|
@@ -3046,9 +3074,19 @@ function uninstallLocalIdeFromProject(u, removedPaths) {
|
|
|
3046
3074
|
unlinkQuiet(p, u);
|
|
3047
3075
|
track(p);
|
|
3048
3076
|
}
|
|
3049
|
-
}
|
|
3050
|
-
}
|
|
3051
|
-
const
|
|
3077
|
+
}
|
|
3078
|
+
}
|
|
3079
|
+
const claudeAgentsDir = path.join(proj, '.claude', 'agents');
|
|
3080
|
+
if (fs.existsSync(claudeAgentsDir)) {
|
|
3081
|
+
for (const name of fs.readdirSync(claudeAgentsDir)) {
|
|
3082
|
+
if (oxeAgentInstall.isOxeAgentMarkdownName(name)) {
|
|
3083
|
+
const p = path.join(claudeAgentsDir, name);
|
|
3084
|
+
unlinkQuiet(p, u);
|
|
3085
|
+
track(p);
|
|
3086
|
+
}
|
|
3087
|
+
}
|
|
3088
|
+
}
|
|
3089
|
+
const skillsRoot = path.join(proj, '.copilot', 'skills');
|
|
3052
3090
|
if (fs.existsSync(skillsRoot)) {
|
|
3053
3091
|
for (const ent of fs.readdirSync(skillsRoot, { withFileTypes: true })) {
|
|
3054
3092
|
if (!ent.isDirectory() || !/^oxe($|-)/.test(ent.name)) continue;
|
|
@@ -3371,8 +3409,8 @@ function runUninstall(u) {
|
|
|
3371
3409
|
cleanupLegacyCopilotVsCode(ideOpts, u, removedPaths);
|
|
3372
3410
|
}
|
|
3373
3411
|
|
|
3374
|
-
if (u.copilotCli) {
|
|
3375
|
-
for (const base of [claudeUserDir(ideOpts), copilotUserDir(ideOpts)]) {
|
|
3412
|
+
if (u.copilotCli) {
|
|
3413
|
+
for (const base of [claudeUserDir(ideOpts), copilotUserDir(ideOpts)]) {
|
|
3376
3414
|
const cmdDir = path.join(base, 'commands');
|
|
3377
3415
|
if (!fs.existsSync(cmdDir)) continue;
|
|
3378
3416
|
for (const name of fs.readdirSync(cmdDir)) {
|
|
@@ -3381,9 +3419,19 @@ function runUninstall(u) {
|
|
|
3381
3419
|
unlinkQuiet(p, u);
|
|
3382
3420
|
removedPaths.push(p);
|
|
3383
3421
|
}
|
|
3384
|
-
}
|
|
3385
|
-
}
|
|
3386
|
-
const
|
|
3422
|
+
}
|
|
3423
|
+
}
|
|
3424
|
+
const claudeAgentsDir = path.join(claudeUserDir(ideOpts), 'agents');
|
|
3425
|
+
if (fs.existsSync(claudeAgentsDir)) {
|
|
3426
|
+
for (const name of fs.readdirSync(claudeAgentsDir)) {
|
|
3427
|
+
if (oxeAgentInstall.isOxeAgentMarkdownName(name)) {
|
|
3428
|
+
const p = path.join(claudeAgentsDir, name);
|
|
3429
|
+
unlinkQuiet(p, u);
|
|
3430
|
+
removedPaths.push(p);
|
|
3431
|
+
}
|
|
3432
|
+
}
|
|
3433
|
+
}
|
|
3434
|
+
const skillsRoot = path.join(copilotUserDir(ideOpts), 'skills');
|
|
3387
3435
|
if (fs.existsSync(skillsRoot)) {
|
|
3388
3436
|
for (const ent of fs.readdirSync(skillsRoot, { withFileTypes: true })) {
|
|
3389
3437
|
if (!ent.isDirectory() || !/^oxe($|-)/.test(ent.name)) continue;
|
package/commands/oxe/debug.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:debug
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Diagnóstica falhas com metodologia RCA: hipóteses explícitas → evidência → reprodução controlada
|
|
5
|
+
→ causa raiz → hotfix mínimo. Não corrige sintomas — rasteia até a causa raiz antes de propor
|
|
6
|
+
qualquer mudança. Documenta o diagnóstico completo em DEBUG.md (sintoma, hipóteses testadas,
|
|
7
|
+
root cause, hotfix aplicado, evidência de resolução). Após o hotfix, orienta execução de
|
|
8
|
+
/oxe-verify para confirmar que os critérios A* afetados ainda passam.
|
|
4
9
|
argument-hint: "[Tn ou erro/stack]"
|
|
5
10
|
allowed-tools:
|
|
6
11
|
- Read
|
package/commands/oxe/discuss.md
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:discuss
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >
|
|
4
|
+
Conduz sessão estruturada de resolução de decisões técnicas antes do planejamento. Identifica
|
|
5
|
+
trade-offs relevantes, apresenta alternativas com critérios objetivos, registra a decisão
|
|
6
|
+
escolhida com motivo e impacto em DISCUSS.md como D-NN. Cada D-NN fechado aqui é vinculado a
|
|
7
|
+
tarefas Tn no PLAN.md e verificado pelo Verificador após execução. Usar quando: `discuss_before_plan`
|
|
8
|
+
está ativo no config, há decisão arquitetural aberta, ou o Arquiteto sinalizou bloqueio.
|
|
9
|
+
argument-hint: "[decisão a tomar | contexto do trade-off | D-NN a reabrir]"
|
|
5
10
|
allowed-tools:
|
|
6
11
|
- Read
|
|
7
12
|
- Bash
|
package/commands/oxe/execute.md
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:execute
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >
|
|
4
|
+
Executa as tarefas do PLAN.md onda por onda, com write set mínimo e verificação obrigatória
|
|
5
|
+
antes de avançar. Compila o grafo de execução via LlmTaskExecutor, respeita dependências entre
|
|
6
|
+
tarefas, particiona tools idempotentes (paralelas) e mutáveis (seriais), e registra evidência
|
|
7
|
+
auditável por Tn. Modo --debug ativa diagnóstico de falha inline. --checkpoint '<nome>' cria
|
|
8
|
+
ponto de restauração antes de ondas de alto risco.
|
|
9
|
+
argument-hint: "[onda|Tn | --debug | --deep-diagnosis | --checkpoint '<nome>' | --note 'texto' | --iterative]"
|
|
5
10
|
allowed-tools:
|
|
6
11
|
- Read
|
|
7
12
|
- Bash
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:plan-agent
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >
|
|
4
|
+
Gera PLAN.md e plan-agents.json — blueprint de execução multi-agente com ondas paralelas.
|
|
5
|
+
Cada agente recebe persona (executor, db-specialist, ui-specialist, etc.), escopo de tarefas,
|
|
6
|
+
dependências entre agentes e lifecycle state rastreável. Ideal para planos com 3+ domínios
|
|
7
|
+
distintos (backend, frontend, banco) onde paralelismo real de agentes é possível. --replan
|
|
8
|
+
regenera o runId, preserva tarefas concluídas e alinha STATE.md.
|
|
9
|
+
argument-hint: "[--replan | <contexto adicional de domínios>]"
|
|
5
10
|
allowed-tools:
|
|
6
11
|
- Read
|
|
7
12
|
- Write
|
package/commands/oxe/plan.md
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:plan
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >
|
|
4
|
+
Decompõe os critérios A* da SPEC em tarefas GraphNode com mutation_scope explícito, action_type
|
|
5
|
+
correto e verify command determinístico. Projeta ondas que maximizam paralelismo respeitando
|
|
6
|
+
dependências e mutation_scope disjunto. Aplica rubrica de confiança em 6 dimensões e quality gate
|
|
7
|
+
de 19 itens. Gera IMPLEMENTATION-PACK, REFERENCE-ANCHORS e FIXTURE-PACK junto com o PLAN.md.
|
|
8
|
+
--replan preserva histórico e atualiza tarefas sem apagar o trabalho anterior.
|
|
9
|
+
argument-hint: "[--replan | --agents (gera blueprint de agentes junto)]"
|
|
5
10
|
allowed-tools:
|
|
6
11
|
- Read
|
|
7
12
|
- Write
|
package/commands/oxe/scan.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:scan
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Analisa o codebase e produz os sete documentos em .oxe/codebase/ (OVERVIEW, STACK, STRUCTURE,
|
|
5
|
+
TESTING, INTEGRATIONS, CONVENTIONS, CONCERNS). Detecta padrão arquitetural dominante, domínios
|
|
6
|
+
funcionais e sugere profile scale-adaptive. Modo bootstrap (do zero) ou refresh (incremental).
|
|
7
|
+
Cada documento passa por gate de qualidade com critérios e anti-padrões por tipo. O mapa
|
|
8
|
+
resultante alimenta spec, plan e o contexto do LlmTaskExecutor.
|
|
4
9
|
argument-hint: "[área opcional, ex. auth, api]"
|
|
5
10
|
allowed-tools:
|
|
6
11
|
- Read
|
package/commands/oxe/spec.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:spec
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Conduz as 5 fases do processo de especificação: perguntas (blocos coesos por domínio), pesquisa
|
|
5
|
+
(investigação de incertezas técnicas), requisitos (tabela R-ID com v1/v2/fora e critérios A*
|
|
6
|
+
verificáveis), elevação de robustez (checklist de segurança por domínio AUTH/API/DB/FRONTEND/FILE),
|
|
7
|
+
e aprovação com roteiro ROADMAP.md. Flags: --refresh (atualiza codebase/ antes), --full (scan
|
|
8
|
+
completo), --research (Fase 2 explícita), --ui (gera UI-SPEC.md ao final).
|
|
4
9
|
argument-hint: "[descrição da feature | --refresh | --full | --research | --ui]"
|
|
5
10
|
allowed-tools:
|
|
6
11
|
- Read
|
package/commands/oxe/verify.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oxe:verify
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Audita a implementação em quatro camadas: pré-execução (ambiente e commits), por tarefa Tn
|
|
5
|
+
(verify command de cada task), por critério A* (cobertura completa da SPEC), e fidelidade de
|
|
6
|
+
decisões D-NN. Produz VERIFY.md com evidência observável por critério, classifica findings por
|
|
7
|
+
severidade, gera checklist UAT para validação humana, e fecha o ciclo com retro automática.
|
|
8
|
+
--security adiciona auditoria de segurança baseline. --gaps foca em A* sem cobertura.
|
|
4
9
|
argument-hint: "[Tn | --gaps | --security | --ui | --pr | --diff branchA...branchB | --skip-retro]"
|
|
5
10
|
allowed-tools:
|
|
6
11
|
- Read
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Content Migration Audit
|
|
2
|
+
|
|
3
|
+
Este documento registra a triagem interna de conteúdo usado como insumo para fortalecer o OXE. Ele não é instalado em projetos de usuário e não deve ser referenciado por templates, workflows, comandos, README ou agentes finais.
|
|
4
|
+
|
|
5
|
+
## Rules
|
|
6
|
+
|
|
7
|
+
- Public artifacts must use OXE naming, paths, commands and runtime contracts only.
|
|
8
|
+
- No public template/workflow/command/agent may reference legacy product names, paths, tool commands or command namespaces.
|
|
9
|
+
- Source material is reauthored, not copied literally.
|
|
10
|
+
|
|
11
|
+
## Templates
|
|
12
|
+
|
|
13
|
+
| Source theme | Decision | OXE target |
|
|
14
|
+
|--------------|----------|------------|
|
|
15
|
+
| Detailed phase plan contract | merge | `PLAN.template.md`, `IMPLEMENTATION-PACK.*`, `/oxe-plan` |
|
|
16
|
+
| Context and discovery templates | merge | context packs, `RESEARCH.template.md`, `INVESTIGATION.template.md`, `REFERENCE-ANCHORS.template.md` |
|
|
17
|
+
| Requirements, project, roadmap, state | merge | `SPEC.template.md`, `ROADMAP.template.md`, `STATE.md` |
|
|
18
|
+
| Validation, verification and UAT | merge | `/oxe-verify`, runtime evidence, `VERIFY.md` projection |
|
|
19
|
+
| UI contract | merge | `/oxe-spec --ui`, `/oxe-ui-spec`, `/oxe-ui-review` |
|
|
20
|
+
| Debug templates | merge | `/oxe-debug`, `/oxe-forensics`, `oxe-debugger` |
|
|
21
|
+
| Session summaries and setup | merge | `SUMMARY.template.md`, `RESUME.template.md`, checkpoints |
|
|
22
|
+
| Runtime-specific instruction files | inspiration_only | OXE multi-runtime generators |
|
|
23
|
+
| Developer profile/preferences | reject | future consented profile feature only |
|
|
24
|
+
|
|
25
|
+
## Workflows
|
|
26
|
+
|
|
27
|
+
| Source theme | Decision | OXE target |
|
|
28
|
+
|--------------|----------|------------|
|
|
29
|
+
| New project and milestone discovery | merge | `/oxe-spec`, `/oxe-plan` |
|
|
30
|
+
| Phase planning and review loop | merge | `/oxe-plan`, rationality gate |
|
|
31
|
+
| Plan execution by wave/task | merge | `/oxe-execute` |
|
|
32
|
+
| Verification, validation gaps and UAT | merge | `/oxe-verify` |
|
|
33
|
+
| Codebase mapping and research | merge | `/oxe-scan`, `/oxe-spec --research` |
|
|
34
|
+
| Debug and incident diagnosis | merge | `/oxe-debug`, `/oxe-forensics` |
|
|
35
|
+
| UI design and review | merge | `/oxe-spec --ui`, `/oxe-ui-review` |
|
|
36
|
+
| Progress, next, pause and resume | merge | `/oxe`, `/oxe-next`, `/oxe-session` |
|
|
37
|
+
| Workstreams and isolated workspace concepts | merge | `/oxe-workstream`, runtime agents |
|
|
38
|
+
| Autonomous workflow | reject | OXE keeps governed execution |
|
|
39
|
+
| PR branch/ship workflow | inspiration_only | OXE keeps local commit and separate `runtime promote` |
|
|
40
|
+
| Community/settings/update flows | reject | OXE already has administrative UX |
|
|
41
|
+
|
|
42
|
+
## Commands
|
|
43
|
+
|
|
44
|
+
Legacy command wrappers are not copied. They are used only as intent inventory and mapped into canonical OXE workflows before generated surfaces are regenerated.
|
|
45
|
+
|
|
46
|
+
## Agents
|
|
47
|
+
|
|
48
|
+
Specialized agents were reauthored as OXE-native contracts in `oxe/agents/`. They use `.oxe/`, OXE workflows, runtime enterprise, evidence store, personas and `plan-agents.json` only.
|
|
49
|
+
|