oxe-cc 1.4.0 → 1.5.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.
Files changed (142) hide show
  1. package/.cursor/commands/oxe-ask.md +4 -2
  2. package/.cursor/commands/oxe-capabilities.md +4 -2
  3. package/.cursor/commands/oxe-checkpoint.md +4 -2
  4. package/.cursor/commands/oxe-compact.md +4 -2
  5. package/.cursor/commands/oxe-dashboard.md +4 -2
  6. package/.cursor/commands/oxe-debug.md +4 -2
  7. package/.cursor/commands/oxe-discuss.md +4 -2
  8. package/.cursor/commands/oxe-execute.md +5 -3
  9. package/.cursor/commands/oxe-forensics.md +4 -2
  10. package/.cursor/commands/oxe-help.md +4 -2
  11. package/.cursor/commands/oxe-loop.md +4 -2
  12. package/.cursor/commands/oxe-milestone.md +4 -2
  13. package/.cursor/commands/oxe-next.md +4 -2
  14. package/.cursor/commands/oxe-obs.md +4 -2
  15. package/.cursor/commands/oxe-plan-agent.md +4 -2
  16. package/.cursor/commands/oxe-plan.md +4 -2
  17. package/.cursor/commands/oxe-project.md +4 -2
  18. package/.cursor/commands/oxe-quick.md +4 -2
  19. package/.cursor/commands/oxe-research.md +4 -2
  20. package/.cursor/commands/oxe-retro.md +4 -2
  21. package/.cursor/commands/oxe-review-pr.md +4 -2
  22. package/.cursor/commands/oxe-route.md +4 -2
  23. package/.cursor/commands/oxe-scan.md +4 -2
  24. package/.cursor/commands/oxe-security.md +4 -2
  25. package/.cursor/commands/oxe-session.md +5 -3
  26. package/.cursor/commands/oxe-ship.md +4 -2
  27. package/.cursor/commands/oxe-skill.md +4 -2
  28. package/.cursor/commands/oxe-spec.md +4 -2
  29. package/.cursor/commands/oxe-ui-review.md +4 -2
  30. package/.cursor/commands/oxe-ui-spec.md +4 -2
  31. package/.cursor/commands/oxe-update.md +4 -2
  32. package/.cursor/commands/oxe-validate-gaps.md +4 -2
  33. package/.cursor/commands/oxe-verify-audit.md +46 -0
  34. package/.cursor/commands/oxe-verify.md +4 -2
  35. package/.cursor/commands/oxe-workflow-authoring.md +47 -0
  36. package/.cursor/commands/oxe-workstream.md +4 -2
  37. package/.cursor/commands/oxe.md +6 -2
  38. package/.github/prompts/oxe-ask.prompt.md +4 -2
  39. package/.github/prompts/oxe-capabilities.prompt.md +4 -2
  40. package/.github/prompts/oxe-checkpoint.prompt.md +4 -2
  41. package/.github/prompts/oxe-compact.prompt.md +5 -3
  42. package/.github/prompts/oxe-dashboard.prompt.md +4 -2
  43. package/.github/prompts/oxe-debug.prompt.md +4 -2
  44. package/.github/prompts/oxe-discuss.prompt.md +6 -2
  45. package/.github/prompts/oxe-execute.prompt.md +5 -3
  46. package/.github/prompts/oxe-forensics.prompt.md +4 -2
  47. package/.github/prompts/oxe-help.prompt.md +6 -2
  48. package/.github/prompts/oxe-loop.prompt.md +4 -2
  49. package/.github/prompts/oxe-milestone.prompt.md +4 -2
  50. package/.github/prompts/oxe-next.prompt.md +6 -2
  51. package/.github/prompts/oxe-obs.prompt.md +4 -2
  52. package/.github/prompts/oxe-plan-agent.prompt.md +5 -2
  53. package/.github/prompts/oxe-plan.prompt.md +4 -2
  54. package/.github/prompts/oxe-project.prompt.md +4 -2
  55. package/.github/prompts/oxe-quick.prompt.md +4 -2
  56. package/.github/prompts/oxe-research.prompt.md +4 -2
  57. package/.github/prompts/oxe-retro.prompt.md +4 -2
  58. package/.github/prompts/oxe-review-pr.prompt.md +4 -2
  59. package/.github/prompts/oxe-route.prompt.md +4 -2
  60. package/.github/prompts/oxe-scan.prompt.md +4 -2
  61. package/.github/prompts/oxe-security.prompt.md +4 -2
  62. package/.github/prompts/oxe-session.prompt.md +5 -3
  63. package/.github/prompts/oxe-ship.prompt.md +4 -2
  64. package/.github/prompts/oxe-skill.prompt.md +4 -2
  65. package/.github/prompts/oxe-spec.prompt.md +4 -2
  66. package/.github/prompts/oxe-ui-review.prompt.md +4 -2
  67. package/.github/prompts/oxe-ui-spec.prompt.md +4 -2
  68. package/.github/prompts/oxe-update.prompt.md +4 -2
  69. package/.github/prompts/oxe-validate-gaps.prompt.md +4 -2
  70. package/.github/prompts/oxe-verify-audit.prompt.md +46 -0
  71. package/.github/prompts/oxe-verify.prompt.md +4 -2
  72. package/.github/prompts/oxe-workflow-authoring.prompt.md +47 -0
  73. package/.github/prompts/oxe-workstream.prompt.md +4 -2
  74. package/.github/prompts/oxe.prompt.md +6 -2
  75. package/.github/workflows/ci.yml +57 -20
  76. package/.github/workflows/release.yml +94 -0
  77. package/AGENTS.md +3 -1
  78. package/CHANGELOG.md +383 -342
  79. package/QUICKSTART.md +99 -0
  80. package/README.md +89 -65
  81. package/bin/lib/oxe-agent-install.cjs +127 -107
  82. package/bin/lib/oxe-install-resolve.cjs +10 -0
  83. package/bin/lib/oxe-operational.cjs +34 -28
  84. package/bin/lib/oxe-project-health.cjs +38 -6
  85. package/bin/lib/oxe-release.cjs +423 -0
  86. package/bin/lib/oxe-runtime-semantics.cjs +68 -24
  87. package/bin/oxe-cc.js +388 -55
  88. package/commands/oxe/ask.md +7 -3
  89. package/commands/oxe/capabilities.md +6 -2
  90. package/commands/oxe/checkpoint.md +5 -1
  91. package/commands/oxe/compact.md +6 -2
  92. package/commands/oxe/dashboard.md +6 -2
  93. package/commands/oxe/debug.md +6 -2
  94. package/commands/oxe/discuss.md +6 -2
  95. package/commands/oxe/execute.md +6 -2
  96. package/commands/oxe/forensics.md +6 -2
  97. package/commands/oxe/help.md +6 -2
  98. package/commands/oxe/loop.md +6 -2
  99. package/commands/oxe/milestone.md +6 -2
  100. package/commands/oxe/next.md +6 -2
  101. package/commands/oxe/obs.md +6 -2
  102. package/commands/oxe/oxe.md +6 -2
  103. package/commands/oxe/plan-agent.md +6 -2
  104. package/commands/oxe/plan.md +6 -2
  105. package/commands/oxe/project.md +6 -2
  106. package/commands/oxe/quick.md +6 -2
  107. package/commands/oxe/research.md +6 -2
  108. package/commands/oxe/retro.md +6 -2
  109. package/commands/oxe/review-pr.md +6 -2
  110. package/commands/oxe/route.md +6 -2
  111. package/commands/oxe/scan.md +6 -2
  112. package/commands/oxe/security.md +6 -2
  113. package/commands/oxe/session.md +6 -2
  114. package/commands/oxe/ship.md +6 -2
  115. package/commands/oxe/skill.md +6 -2
  116. package/commands/oxe/spec.md +6 -2
  117. package/commands/oxe/ui-review.md +6 -2
  118. package/commands/oxe/ui-spec.md +6 -2
  119. package/commands/oxe/update.md +6 -2
  120. package/commands/oxe/validate-gaps.md +6 -2
  121. package/commands/oxe/verify-audit.md +50 -0
  122. package/commands/oxe/verify.md +6 -2
  123. package/commands/oxe/workflow-authoring.md +50 -0
  124. package/commands/oxe/workstream.md +6 -2
  125. package/docs/INCIDENT-PLAYBOOK.md +181 -0
  126. package/docs/RELEASE-READINESS.md +46 -0
  127. package/docs/ROLES.md +129 -0
  128. package/docs/RUNTIME-SMOKE-MATRIX.md +128 -0
  129. package/docs/TEAM-ADOPTION.md +153 -0
  130. package/docs/WALKTHROUGH.md +241 -0
  131. package/lib/runtime/scheduler/multi-agent-coordinator.d.ts +28 -0
  132. package/lib/runtime/scheduler/multi-agent-coordinator.js +152 -26
  133. package/lib/sdk/README.md +2 -0
  134. package/lib/sdk/index.cjs +22 -8
  135. package/lib/sdk/index.d.ts +60 -16
  136. package/oxe/templates/config.template.json +1 -0
  137. package/package.json +30 -22
  138. package/packages/runtime/package.json +1 -1
  139. package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +357 -193
  140. package/vscode-extension/oxe-agents-1.4.0.vsix +0 -0
  141. package/vscode-extension/oxe-agents-1.5.0.vsix +0 -0
  142. package/vscode-extension/package.json +1 -1
@@ -253,13 +253,23 @@ function humanizeValue(value) {
253
253
  return labels[key] || key.replace(/_/g, ' ');
254
254
  }
255
255
 
256
- function buildContextPackPaths(slug) {
257
- return {
258
- markdown: `.oxe/context/packs/${slug}.md`,
259
- json: `.oxe/context/packs/${slug}.json`,
260
- inspectCommand: `oxe-cc context inspect --workflow ${slug} --json`,
261
- };
262
- }
256
+ function buildContextPackPaths(slug) {
257
+ return {
258
+ markdown: `.oxe/context/packs/${slug}.md`,
259
+ json: `.oxe/context/packs/${slug}.json`,
260
+ inspectCommand: `oxe-cc context inspect --workflow ${slug} --json`,
261
+ };
262
+ }
263
+
264
+ function buildWorkflowResolutionBlock(slug) {
265
+ return [
266
+ '<!-- oxe-workflow-resolution:start -->',
267
+ '',
268
+ `**Resolução do workflow canónico:** a partir do CWD atual, subir diretórios até encontrar .oxe/workflows/${slug}.md ou oxe/workflows/${slug}.md. Ler e aplicar integralmente o primeiro ficheiro encontrado. Não assumir que o CWD já é a raiz do repositório. Se nenhum existir, reportar os paths tentados e parar.`,
269
+ '',
270
+ '<!-- oxe-workflow-resolution:end -->',
271
+ ].join('\n');
272
+ }
263
273
 
264
274
  function buildReasoningContractBlock(meta, options = {}) {
265
275
  const includeReference = options.includeReference !== false;
@@ -336,13 +346,14 @@ function parseFrontmatterMap(raw) {
336
346
  return out;
337
347
  }
338
348
 
339
- function auditWrapperText(slug, raw) {
340
- const frontmatter = parseFrontmatterMap(raw);
341
- const expected = getRuntimeMetadataForSlug(slug);
342
- const expectedPack = buildContextPackPaths(slug);
343
- const issues = [];
344
- for (const key of RUNTIME_METADATA_KEYS) {
345
- if ((frontmatter[key] || '') !== (expected[key] || '')) {
349
+ function auditWrapperText(slug, raw) {
350
+ const frontmatter = parseFrontmatterMap(raw);
351
+ const expected = getRuntimeMetadataForSlug(slug);
352
+ const expectedPack = buildContextPackPaths(slug);
353
+ const workflowResolution = buildWorkflowResolutionBlock(slug);
354
+ const issues = [];
355
+ for (const key of RUNTIME_METADATA_KEYS) {
356
+ if ((frontmatter[key] || '') !== (expected[key] || '')) {
346
357
  issues.push({ key, expected: expected[key] || '', actual: frontmatter[key] || '' });
347
358
  }
348
359
  }
@@ -355,11 +366,43 @@ function auditWrapperText(slug, raw) {
355
366
  if (!String(raw || '').includes(expectedPack.markdown) || !String(raw || '').includes(expectedPack.json)) {
356
367
  issues.push({ key: 'oxe_context_pack_entry', expected: `${expectedPack.markdown} + ${expectedPack.json}`, actual: 'missing' });
357
368
  }
358
- if (!String(raw || '').includes('Regra pack-first')) {
359
- issues.push({ key: 'oxe_pack_first_rule', expected: 'present', actual: 'missing' });
360
- }
361
- return {
362
- slug,
369
+ if (!String(raw || '').includes('Regra pack-first')) {
370
+ issues.push({ key: 'oxe_pack_first_rule', expected: 'present', actual: 'missing' });
371
+ }
372
+ if (!String(raw || '').includes('<!-- oxe-workflow-resolution:start -->')) {
373
+ issues.push({ key: 'oxe_workflow_resolution_block', expected: 'present', actual: 'missing' });
374
+ } else {
375
+ if (!String(raw || '').includes(`.oxe/workflows/${slug}.md`) || !String(raw || '').includes(`oxe/workflows/${slug}.md`)) {
376
+ issues.push({
377
+ key: 'oxe_workflow_resolution_paths',
378
+ expected: workflowResolution,
379
+ actual: 'missing_path_reference',
380
+ });
381
+ }
382
+ if (!/subir diretórios até encontrar/i.test(String(raw || ''))) {
383
+ issues.push({
384
+ key: 'oxe_workflow_resolution_walkup',
385
+ expected: 'subir diretórios até encontrar',
386
+ actual: 'missing',
387
+ });
388
+ }
389
+ }
390
+ if (/\*\*Workflow can[óôo]nic[oa]:\*\*/i.test(String(raw || ''))) {
391
+ issues.push({
392
+ key: 'legacy_workflow_anchor',
393
+ expected: 'absent',
394
+ actual: 'present',
395
+ });
396
+ }
397
+ if (/raiz do projeto atual \(CWD\)|na raiz do repositório em contexto|na raiz do repositório em que estás a trabalhar/i.test(String(raw || ''))) {
398
+ issues.push({
399
+ key: 'legacy_fixed_root_instruction',
400
+ expected: 'absent',
401
+ actual: 'present',
402
+ });
403
+ }
404
+ return {
405
+ slug,
363
406
  frontmatter,
364
407
  expected,
365
408
  issues,
@@ -453,11 +496,12 @@ module.exports = {
453
496
  REQUIRED_CONTRACT_FIELDS,
454
497
  RUNTIME_METADATA_KEYS,
455
498
  auditRuntimeTargets,
456
- auditWrapperText,
457
- buildContextPackPaths,
458
- buildContextTiers,
459
- buildReasoningContractBlock,
460
- computeSemanticsHash,
499
+ auditWrapperText,
500
+ buildContextPackPaths,
501
+ buildContextTiers,
502
+ buildReasoningContractBlock,
503
+ buildWorkflowResolutionBlock,
504
+ computeSemanticsHash,
461
505
  getAllWorkflowContracts,
462
506
  getRuntimeMetadataForSlug,
463
507
  getWorkflowContract,