opencode-swarm 6.84.2 → 6.84.4

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/cli/index.js CHANGED
@@ -44854,6 +44854,10 @@ var COMMAND_REGISTRY = {
44854
44854
  handler: (ctx) => handleDiagnoseCommand(ctx.directory, ctx.args),
44855
44855
  description: "Run health check on swarm state"
44856
44856
  },
44857
+ diagnosis: {
44858
+ handler: (ctx) => handleDiagnoseCommand(ctx.directory, ctx.args),
44859
+ description: "Run health check on swarm state"
44860
+ },
44857
44861
  preflight: {
44858
44862
  handler: (ctx) => handlePreflightCommand(ctx.directory, ctx.args),
44859
44863
  description: "Run preflight automation checks"
@@ -68,6 +68,10 @@ export declare const COMMAND_REGISTRY: {
68
68
  readonly handler: (ctx: CommandContext) => Promise<string>;
69
69
  readonly description: "Run health check on swarm state";
70
70
  };
71
+ readonly diagnosis: {
72
+ readonly handler: (ctx: CommandContext) => Promise<string>;
73
+ readonly description: "Run health check on swarm state";
74
+ };
71
75
  readonly preflight: {
72
76
  readonly handler: (ctx: CommandContext) => Promise<string>;
73
77
  readonly description: "Run preflight automation checks";
package/dist/index.js CHANGED
@@ -53956,6 +53956,10 @@ var init_registry = __esm(() => {
53956
53956
  handler: (ctx) => handleDiagnoseCommand(ctx.directory, ctx.args),
53957
53957
  description: "Run health check on swarm state"
53958
53958
  },
53959
+ diagnosis: {
53960
+ handler: (ctx) => handleDiagnoseCommand(ctx.directory, ctx.args),
53961
+ description: "Run health check on swarm state"
53962
+ },
53959
53963
  preflight: {
53960
53964
  handler: (ctx) => handlePreflightCommand(ctx.directory, ctx.args),
53961
53965
  description: "Run preflight automation checks"
@@ -86798,6 +86802,7 @@ var todo_extract = createSwarmTool({
86798
86802
  init_tool();
86799
86803
  init_loader();
86800
86804
  init_schema();
86805
+ init_qa_gate_profile();
86801
86806
  init_gate_evidence();
86802
86807
  import * as fs83 from "fs";
86803
86808
  import * as path99 from "path";
@@ -87165,6 +87170,20 @@ function checkCouncilGate(workingDirectory, taskId) {
87165
87170
  if (!councilEnabled) {
87166
87171
  return { blocked: false, reason: "" };
87167
87172
  }
87173
+ try {
87174
+ const planPath = path99.join(workingDirectory, ".swarm", "plan.json");
87175
+ const planRaw = fs83.readFileSync(planPath, "utf-8");
87176
+ const planObj = JSON.parse(planRaw);
87177
+ if (planObj.swarm && planObj.title) {
87178
+ const planId = `${planObj.swarm}-${planObj.title}`.replace(/[^a-zA-Z0-9-_]/g, "_");
87179
+ const profile = getProfile(workingDirectory, planId);
87180
+ if (!profile || !profile.gates.council_mode) {
87181
+ return { blocked: false, reason: "" };
87182
+ }
87183
+ }
87184
+ } catch {
87185
+ return { blocked: false, reason: "" };
87186
+ }
87168
87187
  let evidence;
87169
87188
  try {
87170
87189
  evidence = readTaskEvidenceRaw(workingDirectory, taskId);
@@ -88378,7 +88397,7 @@ var OpenCodeSwarm = async (ctx) => {
88378
88397
  ...opencodeConfig.command || {},
88379
88398
  swarm: {
88380
88399
  template: "/swarm $ARGUMENTS",
88381
- description: "Swarm management commands: /swarm [status|plan|agents|history|config|evidence|handoff|archive|diagnose|preflight|sync-plan|benchmark|export|reset|rollback|retrieve|clarify|analyze|specify|brainstorm|qa-gates|dark-matter|knowledge|curate|turbo|full-auto|write-retro|reset-session|simulate|promote|checkpoint|acknowledge-spec-drift|doctor-tools|close]"
88400
+ description: "Swarm management commands: /swarm [status|plan|agents|history|config|evidence|handoff|archive|diagnose|diagnosis|preflight|sync-plan|benchmark|export|reset|rollback|retrieve|clarify|analyze|specify|brainstorm|qa-gates|dark-matter|knowledge|curate|turbo|full-auto|write-retro|reset-session|simulate|promote|checkpoint|acknowledge-spec-drift|doctor-tools|close]"
88382
88401
  },
88383
88402
  "swarm-status": {
88384
88403
  template: "/swarm status",
@@ -88416,6 +88435,10 @@ var OpenCodeSwarm = async (ctx) => {
88416
88435
  template: "/swarm diagnose",
88417
88436
  description: "Use /swarm diagnose to run health checks on swarm state"
88418
88437
  },
88438
+ "swarm-diagnosis": {
88439
+ template: "/swarm diagnosis",
88440
+ description: "Use /swarm diagnosis to run health checks on swarm state"
88441
+ },
88419
88442
  "swarm-preflight": {
88420
88443
  template: "/swarm preflight",
88421
88444
  description: "Use /swarm preflight to run preflight automation checks"
@@ -88,6 +88,12 @@ export interface CouncilGateResult {
88
88
  * Check the council gate for a completion transition. Pure — reads config and
89
89
  * evidence only, no state mutation. Exported for focused unit testing.
90
90
  *
91
+ * AND semantics (mirrors isCouncilGateActive in state.ts): the gate only
92
+ * activates when BOTH pluginConfig.council.enabled === true AND the QA gate
93
+ * profile for this plan has council_mode === true. When council.enabled is
94
+ * true but council_mode is false (or the profile is absent), the gate is
95
+ * treated as inactive — the operator has disabled it at the profile level.
96
+ *
91
97
  * @param workingDirectory - Validated project root (contains .swarm/evidence/)
92
98
  * @param taskId - Task ID in N.M or N.M.P format
93
99
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "6.84.2",
3
+ "version": "6.84.4",
4
4
  "description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",